Commit 9a937afc authored by dev_sky's avatar dev_sky
Browse files

[feature]user self-register api(#3123)

parent 948173ce
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -92,6 +92,34 @@ public class UsersController extends BaseController {
        return returnDataList(result);
    }

    /**
     * user register
     *
     * @param userName       user name
     * @param userPassword   user password
     * @param repeatPassword repeat password
     * @param email          user email
     */
    @ApiOperation(value="registerUser",notes = "REGISTER_USER_NOTES")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "userName", value = "USER_NAME", type = "String"),
            @ApiImplicitParam(name = "userPassword", value = "USER_PASSWORD", type = "String"),
            @ApiImplicitParam(name = "repeatPassword", value = "REPEAT_PASSWORD", type = "String"),
            @ApiImplicitParam(name = "email", value = "EMAIL", type = "String"),
    })
    @PostMapping("/register")
    @ResponseStatus(HttpStatus.OK)
    @ApiException(CREATE_USER_ERROR)
    public Result registerUser(@RequestParam(value = "userName") String userName,
                               @RequestParam(value = "userPassword") String userPassword,
                               @RequestParam(value = "repeatPassword") String repeatPassword,
                               @RequestParam(value = "email") String email) throws Exception {
        logger.info("user self-register, userName: {}, userPassword {}, repeatPassword {}, eamil {}",
                userName, userPassword, repeatPassword, email);
        Map<String, Object> result = usersService.registerUser(userName, userPassword, repeatPassword, email);
        return returnDataList(result);
    }

    /**
     * query user list paging
     *
+32 −0
Original line number Diff line number Diff line
@@ -908,4 +908,36 @@ public class UsersService extends BaseService {
            }
        }
    }

    /**
     * register user, default state is 0, default tenant_id is 1, no phone, no queue
     *
     * @param userName       user name
     * @param userPassword   user password
     * @param repeatPassword repeat password
     * @param email          email
     * @return register result code
     * @throws Exception exception
     */
    @Transactional(rollbackFor = Exception.class)
    public Map<String, Object> registerUser(String userName, String userPassword, String repeatPassword, String email) throws Exception {
        Map<String, Object> result = new HashMap<>(5);

        //check user params
        String msg = this.checkUserParams(userName, userPassword, email, "");

        if (!StringUtils.isEmpty(msg)) {
            putMsg(result, Status.REQUEST_PARAMS_NOT_VALID_ERROR,msg);
            return result;
        }

        if (!userPassword.equals(repeatPassword)) {
            putMsg(result, Status.REQUEST_PARAMS_NOT_VALID_ERROR, "two passwords are not same");
            return result;
        }

        createUser(userName, userPassword, email, 1, "", "", 0);
        putMsg(result, Status.SUCCESS);
        return result;
    }
}