blob: 2bc3f9317ebe62684a81bff13ed82acda298237b [file] [log] [blame]
package org.apache.dubbo.benchmark.service;
import com.google.protobuf.util.Timestamps;
import org.apache.dubbo.benchmark.bean.PagePB;
import org.apache.dubbo.benchmark.bean.UserServiceDubbo;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.CompletableFuture;
/**
* @author zhengzechao
* @date 2020-03-06
* Email ooczzoo@gmail.com
*/
public class PBUserServiceImpl implements UserServiceDubbo.IUserService {
@Override
public PagePB.Response createUser(PagePB.Request request) {
final PagePB.Response.Builder builder = PagePB.Response.newBuilder();
if (request.getUser() == null) {
builder.setState(false);
} else {
builder.setState(true);
}
return builder.build();
}
@Override
public CompletableFuture<PagePB.Response> createUserAsync(PagePB.Request request) {
return null;
}
@Override
public PagePB.Response existUser(PagePB.Request request) {
String email = request.getEmail();
final PagePB.Response.Builder builder = PagePB.Response.newBuilder();
if (email == null || email.isEmpty()) {
builder.setState(true);
}else if (email.charAt(email.length() - 1) < '5') {
builder.setState(false);
}
builder.setState(true);
return builder.build();
}
@Override
public CompletableFuture<PagePB.Response> existUserAsync(PagePB.Request request) {
return null;
}
@Override
public PagePB.Response listUser(PagePB.Request request) {
final PagePB.Page.Builder page = PagePB.Page.newBuilder();
List<PagePB.User> userList = new ArrayList<>(15);
for (int i = 0; i < 15; i++) {
final PagePB.User.Builder user = PagePB.User.newBuilder();
user.setId(i);
user.setName(new String("Doug Lea"));
user.setSex(1);
user.setBirthday(Timestamps.fromMillis(System.currentTimeMillis()));
user.setEmail(new String("dong.lea@gmail.com"));
user.setMobile(new String("18612345678"));
user.setAddress(new String("北京市 中关村 中关村大街1号 鼎好大厦 1605"));
user.setIcon(new String("https://www.baidu.com/img/bd_logo1.png"));
user.setStatus(1);
user.setCreateTime(Timestamps.fromMillis(System.currentTimeMillis()));
user.setUpdateTime(user.getCreateTime());
List<Integer> permissions = new ArrayList<Integer>(
Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 19, 88, 86, 89, 90, 91, 92));
user.addAllPermissions(permissions);
userList.add(user.build());
}
page.setPageNo(request.getPage());
page.setTotal(1000);
page.addAllUsers(userList);
return PagePB.Response.newBuilder().setPage(page.build()).build();
}
@Override
public CompletableFuture<PagePB.Response> listUserAsync(PagePB.Request request) {
return null;
}
@Override
public PagePB.Response getUser(PagePB.Request request) {
final long id = request.getId();
final PagePB.User.Builder user = PagePB.User.newBuilder();
user.setId(id);
user.setName(new String("Doug Lea"));
user.setSex(1);
user.setBirthday(Timestamps.fromMillis(System.currentTimeMillis()));
user.setEmail(new String("dong.lea@gmail.com"));
user.setMobile(new String("18612345678"));
user.setAddress(new String("北京市 中关村 中关村大街1号 鼎好大厦 1605"));
user.setIcon(new String("https://www.baidu.com/img/bd_logo1.png"));
user.setStatus(1);
user.setCreateTime(Timestamps.fromMillis(System.currentTimeMillis()));
user.setUpdateTime(user.getCreateTime());
List<Integer> permissions = new ArrayList<Integer>(
Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 19, 88, 86, 89, 90, 91, 92));
user.addAllPermissions(permissions);
return PagePB.Response.newBuilder().setUser(user.build()).build();
}
@Override
public CompletableFuture<PagePB.Response> getUserAsync(PagePB.Request request) {
return null;
}
}