UserRegisterController.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. package com.goafanti.user.controller;
  2. import java.util.Calendar;
  3. import java.util.UUID;
  4. import javax.annotation.Resource;
  5. import org.apache.commons.lang3.StringUtils;
  6. import org.apache.log4j.Logger;
  7. import org.springframework.stereotype.Controller;
  8. import org.springframework.validation.BindingResult;
  9. import org.springframework.web.bind.annotation.RequestMapping;
  10. import org.springframework.web.bind.annotation.RequestMethod;
  11. import org.springframework.web.bind.annotation.ResponseBody;
  12. import com.goafanti.admin.service.AdminService;
  13. import com.goafanti.common.bo.Result;
  14. import com.goafanti.common.constant.ErrorConstants;
  15. import com.goafanti.common.controller.BaseController;
  16. import com.goafanti.common.model.User;
  17. import com.goafanti.common.utils.PasswordUtil;
  18. import com.goafanti.common.utils.TimeUtils;
  19. import com.goafanti.common.utils.VerifyCodeUtils;
  20. import com.goafanti.core.shiro.token.TokenManager;
  21. import com.goafanti.user.service.UserService;
  22. @Controller
  23. public class UserRegisterController extends BaseController {
  24. @Resource
  25. private UserService userService;
  26. @Resource(name = "passwordUtil")
  27. private PasswordUtil passwordUtil;
  28. Logger logger = Logger.getLogger(UserRegisterController.class);
  29. @Resource
  30. private AdminService adminService;
  31. /**
  32. * 用户注册
  33. *
  34. * @param user
  35. * @return
  36. */
  37. @RequestMapping(value = "/register", method = RequestMethod.POST)
  38. @ResponseBody
  39. public Result register(User user, String companyName, String contacts, String mobileCode,
  40. BindingResult bindingResult) {
  41. Result res = new Result();
  42. /*String sessVCode = (String) TokenManager.getSession().getAttribute(VerifyCodeUtils.V_CODE);
  43. if (sessVCode == null || !sessVCode.equalsIgnoreCase(verificationCode)) {
  44. logger.info("input vcode:" + verificationCode + "| sess vcode:" + sessVCode);
  45. res.getError().add(buildError(ErrorConstants.VCODE_ERROR, "验证码错误"));
  46. return res;
  47. }*/
  48. // 验证码15分钟有效
  49. if (TimeUtils.checkOverTime("register")) {
  50. res.getError().add(buildError(ErrorConstants.MCODE_OVERTIME_ERROR, "手机验证码超时失效"));
  51. return res;
  52. }
  53. if (!TokenManager.getSession().getAttribute(VerifyCodeUtils.M_CODE).equals(mobileCode)) {
  54. res.getError().add(buildError(ErrorConstants.MCODE_ERROR, "手机验证码错误"));
  55. return res;
  56. }
  57. if (bindingResult.hasErrors()) {
  58. res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
  59. bindingResult.getFieldError().getField()));
  60. return res;
  61. }
  62. if (StringUtils.isBlank(user.getMobile())) {
  63. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "必须指定", "用户名"));
  64. } else if (StringUtils.isBlank(user.getPassword())) {
  65. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "必须指定", "密码"));
  66. } else {
  67. User u = userService.selectByMobieAndType(user.getMobile().trim(), user.getType());
  68. if (null != u) {
  69. res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "用户名已存在"));
  70. }
  71. }
  72. if (res.getError().isEmpty()) {
  73. user.setId(UUID.randomUUID().toString());
  74. user.setMobile(user.getMobile().trim());
  75. Calendar now = Calendar.getInstance();
  76. now.set(Calendar.MILLISECOND, 0);
  77. user.setCreateTime(now.getTime());
  78. user.setPassword(passwordUtil.getEncryptPwd(user));
  79. user.setLvl(0);
  80. /*
  81. List<Admin> admins = adminService.selectAllAdmin();
  82. if (!admins.isEmpty()) {
  83. Collections.shuffle(admins);
  84. user.setAid(admins.get(0).getId());// 随机分配管理员
  85. }
  86. */
  87. user.setAid("2");//ID为"2"的管理员
  88. userService.insertRegister(user, contacts, companyName);
  89. }
  90. return res;
  91. }
  92. }