|
|
@@ -555,4 +555,65 @@ public class WxAuthController {
|
|
|
|
|
|
return ResponseUtil.ok(data);
|
|
|
}
|
|
|
+
|
|
|
+ @PostMapping("appregister")
|
|
|
+ public Object appRegister(@RequestBody String body, HttpServletRequest request) {
|
|
|
+ String username = JacksonUtil.parseString(body, "username");
|
|
|
+ String password = JacksonUtil.parseString(body, "password");
|
|
|
+
|
|
|
+ if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) {
|
|
|
+ return ResponseUtil.badArgument();
|
|
|
+ }
|
|
|
+ List<LitemallUser> userList = userService.queryByUsername(username);
|
|
|
+ if (userList.size() > 0) {
|
|
|
+ return ResponseUtil.fail(AUTH_NAME_REGISTERED, "手机号已注册");
|
|
|
+ }
|
|
|
+ if (!RegexUtil.isMobileExact(username)) {
|
|
|
+ return ResponseUtil.fail(AUTH_INVALID_MOBILE, "手机号格式不正确");
|
|
|
+ }
|
|
|
+
|
|
|
+ String openId = username + "123456789";
|
|
|
+ userList = userService.queryByOpenid(openId);
|
|
|
+ if (userList.size() > 1) {
|
|
|
+ return ResponseUtil.serious();
|
|
|
+ }
|
|
|
+ if (userList.size() == 1) {
|
|
|
+ LitemallUser checkUser = userList.get(0);
|
|
|
+ String checkUsername = checkUser.getUsername();
|
|
|
+ String checkPassword = checkUser.getPassword();
|
|
|
+ if (!checkUsername.equals(openId) || !checkPassword.equals(openId)) {
|
|
|
+ return ResponseUtil.fail(AUTH_OPENID_BINDED, "openid已绑定账号");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ LitemallUser user = null;
|
|
|
+ BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
|
|
|
+ String encodedPassword = encoder.encode(password);
|
|
|
+ user = new LitemallUser();
|
|
|
+ user.setUsername(username);
|
|
|
+ user.setPassword(encodedPassword);
|
|
|
+ user.setMobile(username);
|
|
|
+ user.setWeixinOpenid(openId);
|
|
|
+ user.setAvatar("https://yanxuan.nosdn.127.net/80841d741d7fa3073e0ae27bf487339f.jpg?imageView&quality=90&thumbnail=64x64");
|
|
|
+ user.setNickname(username);
|
|
|
+ user.setGender((byte) 0);
|
|
|
+ user.setUserLevel((byte) 0);
|
|
|
+ user.setStatus((byte) 0);
|
|
|
+ user.setLastLoginTime(LocalDateTime.now());
|
|
|
+ user.setLastLoginIp(IpUtil.getIpAddr(request));
|
|
|
+ userService.add(user);
|
|
|
+
|
|
|
+ // 给新用户发送注册优惠券
|
|
|
+ couponAssignService.assignForRegister(user.getId());
|
|
|
+ // userInfo
|
|
|
+ UserInfo userInfo = new UserInfo();
|
|
|
+ userInfo.setNickName(username);
|
|
|
+ userInfo.setAvatarUrl(user.getAvatar());
|
|
|
+ // token
|
|
|
+ String token = UserTokenManager.generateToken(user.getId());
|
|
|
+
|
|
|
+ Map<Object, Object> result = new HashMap<Object, Object>();
|
|
|
+ result.put("token", token);
|
|
|
+ result.put("userInfo", userInfo);
|
|
|
+ return ResponseUtil.ok(result);
|
|
|
+ }
|
|
|
}
|