API Gateway调用用户服务(一)—实现用户注册

版权声明:本文为博主原创文章,未经博主允许不得转载。 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");
   }
  }

猜你喜欢

转载自blog.csdn.net/shenzhen_zsw/article/details/89472823