package com.alibaba.spring.boot.rsocket.demo; import com.alibaba.rsocket.RSocketService; import com.alibaba.user.Rx3UserService; import com.alibaba.user.User; import com.github.javafaker.Faker; import io.reactivex.rxjava3.core.Flowable; import io.reactivex.rxjava3.core.Maybe; import io.reactivex.rxjava3.core.Observable; import org.springframework.stereotype.Service; /** * Rx3UserService implementation * * @author linux_china */ @RSocketService(serviceInterface = Rx3UserService.class) @Service public class Rx3UserServiceImpl implements Rx3UserService { private Faker faker = new Faker(); @Override public Maybe<User> findById(Integer id) { return Maybe.fromCallable(() -> { User user = new User(); user.setId(id); user.setNick(faker.name().name()); user.setPhone(faker.phoneNumber().cellPhone()); user.setEmail(faker.internet().emailAddress()); return user; }); } @Override public Flowable<User> findAllPeople(String type) { return Flowable.range(0, 10) .map(id -> new User(id, "nick:" + type)); } @Override public Observable<User> channel1(Observable<Integer> idFlux) { return idFlux.map(id -> new User(id, "nick: " + id)); } }