| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- package com.goafanti.user.controller;
- import java.util.Calendar;
- import java.util.UUID;
- import javax.annotation.Resource;
- import javax.validation.Valid;
- import org.apache.commons.lang3.StringUtils;
- import org.apache.log4j.Logger;
- import org.springframework.stereotype.Controller;
- import org.springframework.validation.BindingResult;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.ResponseBody;
- import com.goafanti.admin.service.AdminService;
- import com.goafanti.common.bo.Result;
- import com.goafanti.common.constant.AFTConstants;
- import com.goafanti.common.constant.ErrorConstants;
- import com.goafanti.common.controller.BaseController;
- import com.goafanti.common.enums.UserFields;
- import com.goafanti.common.model.User;
- import com.goafanti.common.utils.PasswordUtil;
- import com.goafanti.common.utils.TimeUtils;
- import com.goafanti.common.utils.VerifyCodeUtils;
- import com.goafanti.core.shiro.token.TokenManager;
- import com.goafanti.user.bo.InputUser;
- import com.goafanti.user.service.UserService;
- @Controller
- public class UserRegisterController extends BaseController {
- @Resource
- private UserService userService;
- @Resource(name = "passwordUtil")
- private PasswordUtil passwordUtil;
- Logger logger = Logger.getLogger(UserRegisterController.class);
- @Resource
- private AdminService adminService;
- /**
- * 用户注册
- *
- * @param user
- * @return
- */
- @RequestMapping(value = "/register", method = RequestMethod.POST)
- @ResponseBody
- public Result register(@Valid InputUser user, String companyName, String contacts, String mobileCode,
- BindingResult bindingResult) {
- Result res = new Result();
- if (bindingResult.hasErrors()) {
- res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
- UserFields.getFieldDesc(bindingResult.getFieldError().getField())));
- return res;
- }
- // 验证码15分钟有效
- if (TimeUtils.checkOverTime("register")) {
- res.getError().add(buildError(ErrorConstants.MCODE_OVERTIME_ERROR, "手机验证码超时失效"));
- return res;
- }
- if (!TokenManager.getSession().getAttribute(VerifyCodeUtils.M_CODE).equals(mobileCode.toLowerCase())) {
- res.getError().add(buildError(ErrorConstants.MCODE_ERROR, "手机验证码错误"));
- return res;
- }
- if (bindingResult.hasErrors()) {
- res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
- bindingResult.getFieldError().getField()));
- return res;
- }
- if (StringUtils.isBlank(user.getMobile())) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "必须指定", "用户名"));
- } else if (StringUtils.isBlank(user.getPassword())) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "必须指定", "密码"));
- } else {
- User u = userService.selectByMobieAndType(user.getMobile().trim(), user.getType());
- if (null != u) {
- res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "用户名已存在"));
- }
- }
- if (res.getError().isEmpty()) {
- User us = new User();
- us.setId(UUID.randomUUID().toString());
- us.setMobile(user.getMobile().trim());
- us.setType(user.getType());
- us.setPassword(user.getPassword());
- Calendar now = Calendar.getInstance();
- now.set(Calendar.MILLISECOND, 0);
- us.setCreateTime(now.getTime());
- us.setPassword(passwordUtil.getEncryptPwd(us));
- us.setLvl(0);
- us.setSource(AFTConstants.USER_SOURCE_REGISTER);
- /*
- List<Admin> admins = adminService.selectAllAdmin();
- if (!admins.isEmpty()) {
- Collections.shuffle(admins);
- user.setAid(admins.get(0).getId());// 随机分配管理员
- }
- */
- us.setAid("2");//ID为"2"的管理员
- userService.insertRegister(us, contacts, companyName, user.getUsername());
- }
- return res;
- }
-
- }
|