版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shenzhen_zsw/article/details/89472823
API Gateway调用用户服务(一)—实现用户注册
控制器
@RequestMapping(value="accounts/register",method={RequestMethod.POST,RequestMethod.GET})
public String accountsSubmit(User account,ModelMap modelMap){
if (account == null || account.getName() == null) {
modelMap.put("agencyList", agencyService.getAllAgency());
return "/user/accounts/register";
}
ResultMsg retMsg = UserHelper.validate(account);
if (retMsg.isSuccess() ) {
boolean exist = accountService.isExist(account.getEmail());
if (!exist) {
accountService.addAccount(account);
modelMap.put("success_email", account.getEmail());
return "/user/accounts/registerSubmit";
}else {
return "redirect:/accounts/register?" + ResultMsg.errorMsg("邮箱已被占用").asUrlParams();
}
}else {
return "redirect:/accounts/register?" + ResultMsg.errorMsg("参数错误").asUrlParams();
}
}
用户AccountService
public boolean addAccount(User account){
if (account.getAvatarFile() != null) {
List<String> imags = fileService.getImgPaths(Lists.newArrayList(account.getAvatarFile()));
account.setAvatar(imags.get(0));
}
account.setEnableUrl("http://"+domainName+"/accounts/verify");
BeanHelper.setDefaultProp(account, User.class);
userDao.addUser(account);
return true;
}
调用用户服务UserDao
@HystrixCommand
public User authUser(User user) {
String url = "http://" + userServiceName + "/user/auth";
ResponseEntity<RestResponse<User>> responseEntity = rest.post(url, user, new ParameterizedTypeReference<RestResponse<User>>() {});
RestResponse<User> response = responseEntity.getBody();
if (response.getCode() == 0) {
return response.getResult();
}{
throw new IllegalStateException("Can not add user");
}
}