|
|
@@ -92,32 +92,23 @@ public class AppLoginController2 extends AppBaseController{
|
|
|
// fsUser = userService.selectFsUserByPhone(encryptPhone(param.getPhone()));
|
|
|
// }
|
|
|
|
|
|
- if (fsUser != null && StringUtils.isNotEmpty(fsUser.getPassword())) {
|
|
|
+ if (fsUser != null) {
|
|
|
return R.error("此账号已经注册");
|
|
|
}
|
|
|
|
|
|
FsUser user = new FsUser();
|
|
|
- if (fsUser != null) {
|
|
|
- // 更新已有用户的密码
|
|
|
- user.setUserId(fsUser.getUserId());
|
|
|
- user.setPassword(Md5Utils.hash(param.getPassword()));
|
|
|
- user.setUpdateTime(new DateTime());
|
|
|
- userService.updateFsUser(user);
|
|
|
+ // 创建新用户
|
|
|
+ user.setPhone(param.getPhone());
|
|
|
+ user.setNickName("app用户" + param.getPhone().substring(param.getPhone().length() - 4));
|
|
|
+ user.setStatus(1);
|
|
|
+ user.setAvatar("https://cos.his.cdwjyyh.com/fs/20240926/420728ee06e54575ba82665dedb4756b.png");
|
|
|
+ user.setPassword(Md5Utils.hash(param.getPassword()));
|
|
|
+ user.setCreateTime(new Date());
|
|
|
+
|
|
|
+ if (userService.insertFsUser(user) > 0) {
|
|
|
return R.ok("注册成功");
|
|
|
} else {
|
|
|
- // 创建新用户
|
|
|
- user.setPhone(param.getPhone());
|
|
|
- user.setNickName("app用户" + param.getPhone().substring(param.getPhone().length() - 4));
|
|
|
- user.setStatus(1);
|
|
|
- user.setAvatar("https://cos.his.cdwjyyh.com/fs/20240926/420728ee06e54575ba82665dedb4756b.png");
|
|
|
- user.setPassword(Md5Utils.hash(param.getPassword()));
|
|
|
- user.setCreateTime(new Date());
|
|
|
-
|
|
|
- if (userService.insertFsUser(user) > 0) {
|
|
|
- return R.ok("注册成功");
|
|
|
- } else {
|
|
|
- return R.error("注册失败");
|
|
|
- }
|
|
|
+ return R.error("注册失败");
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -144,7 +135,7 @@ public class AppLoginController2 extends AppBaseController{
|
|
|
@ApiOperation("找回密码")
|
|
|
@PostMapping("/editPwd")
|
|
|
public R login(@Validated @RequestBody FsUserEditPwdParam param) {
|
|
|
- FsUser user = userService.selectFsUserByPhone(encryptPhone(param.getPhone()));
|
|
|
+ FsUser user = findUserByPhone(param.getPhone());
|
|
|
if (user==null){
|
|
|
return R.error("用户不存在");
|
|
|
}
|
|
|
@@ -158,7 +149,7 @@ public class AppLoginController2 extends AppBaseController{
|
|
|
FsUser userMap=new FsUser();
|
|
|
userMap.setUserId(user.getUserId());
|
|
|
userMap.setPassword(Md5Utils.hash(param.getPassword()));
|
|
|
- if (userService.updateFsUser(userMap)>0){
|
|
|
+ if (userMapper.updateFsUser(userMap)>0){
|
|
|
return R.ok("新密码设置成功");
|
|
|
}
|
|
|
return R.error("新密码设置失败,请稍后再试!");
|
|
|
@@ -263,7 +254,7 @@ public class AppLoginController2 extends AppBaseController{
|
|
|
user.setSource(param.getSource());
|
|
|
String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
|
|
|
user.setLastIp(ipAddr);
|
|
|
- userService.updateFsUser(user);
|
|
|
+ userMapper.updateFsUser(user);
|
|
|
return generateTokenAndReturn(user);
|
|
|
}
|
|
|
if (StringUtils.isNotEmpty(userMap.getUnionId())&&!userMap.getUnionId().equals(user.getUnionId())){
|
|
|
@@ -297,7 +288,7 @@ public class AppLoginController2 extends AppBaseController{
|
|
|
keepUser.setPhone(param.getPhone());
|
|
|
String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
|
|
|
keepUser.setLastIp(ipAddr);
|
|
|
- if (userService.updateFsUser(keepUser)>0){
|
|
|
+ if (userMapper.updateFsUser(keepUser)>0){
|
|
|
userService.realDeleteFsUserByUserId(deleteUser.getUserId());
|
|
|
return generateTokenAndReturn(keepUser);
|
|
|
}
|
|
|
@@ -313,7 +304,7 @@ public class AppLoginController2 extends AppBaseController{
|
|
|
userMap.setPhone(param.getPhone());
|
|
|
String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
|
|
|
userMap.setLastIp(ipAddr);
|
|
|
- if (userService.updateFsUser(userMap)>0){
|
|
|
+ if (userMapper.updateFsUser(userMap)>0){
|
|
|
return generateTokenAndReturn(user);
|
|
|
}
|
|
|
return R.error("绑定手机号失败");
|
|
|
@@ -351,7 +342,7 @@ public class AppLoginController2 extends AppBaseController{
|
|
|
user.setUnionId(unionid);
|
|
|
String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
|
|
|
user.setLastIp(ipAddr);
|
|
|
- userService.updateFsUser(user);
|
|
|
+ userMapper.updateFsUser(user);
|
|
|
return generateTokenAndReturn(user);
|
|
|
}
|
|
|
//改一下合并规则 将unionid存在的用户保留 合并掉手机号存在但unionid不存在的用户,而且如果被合并的用户如果有source 就转移过去用
|
|
|
@@ -400,7 +391,7 @@ public class AppLoginController2 extends AppBaseController{
|
|
|
keepUser.setSex(sex);
|
|
|
String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
|
|
|
keepUser.setLastIp(ipAddr);
|
|
|
- if (userService.updateFsUser(keepUser)>0){
|
|
|
+ if (userMapper.updateFsUser(keepUser)>0){
|
|
|
userService.realDeleteFsUserByUserId(deleteUser.getUserId());
|
|
|
return generateTokenAndReturn(keepUser);
|
|
|
}
|
|
|
@@ -417,7 +408,7 @@ public class AppLoginController2 extends AppBaseController{
|
|
|
user.setAppOpenId(openid);
|
|
|
String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
|
|
|
user.setLastIp(ipAddr);
|
|
|
- if (userService.updateFsUser(user)>0){
|
|
|
+ if (userMapper.updateFsUser(user)>0){
|
|
|
return generateTokenAndReturn(user);
|
|
|
}
|
|
|
else {
|
|
|
@@ -442,7 +433,7 @@ public class AppLoginController2 extends AppBaseController{
|
|
|
}
|
|
|
String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
|
|
|
userMap.setLastIp(ipAddr);
|
|
|
- userService.updateFsUser(userMap);
|
|
|
+ userMapper.updateFsUser(userMap);
|
|
|
}
|
|
|
|
|
|
private R generateTokenAndReturn(FsUser user) {
|
|
|
@@ -499,63 +490,46 @@ public class AppLoginController2 extends AppBaseController{
|
|
|
|
|
|
private R handleLoginType3(FsUserLoginParam param) {
|
|
|
// 根据手机号查询用户
|
|
|
- FsUser user = null;
|
|
|
- List<FsUser> usersByPhone = findUsersByPhone(param.getPhone());
|
|
|
- if (CollectionUtil.isEmpty(usersByPhone)){
|
|
|
+ FsUser user = findUserByPhone(param.getPhone());
|
|
|
+ if (user == null) {
|
|
|
FsUser newUser = createNewUser(param);
|
|
|
- if (StringUtils.isNotEmpty(newUser.getJpushId())) {
|
|
|
+// if (StringUtils.isNotEmpty(newUser.getJpushId())) {
|
|
|
// try {
|
|
|
// //发送注册优惠券
|
|
|
// fsUserCouponService.sendRegisterCoupon(newUser);
|
|
|
// } catch (Exception e) {
|
|
|
// logger.error("发送注册优惠券失败:{}",e.getMessage());
|
|
|
// }
|
|
|
- }
|
|
|
+// }
|
|
|
return R.ok().put("isNew",true).put("phone",encryptPhone(param.getPhone()));
|
|
|
}
|
|
|
- if (usersByPhone.size()==1){
|
|
|
- user = usersByPhone.get(0);
|
|
|
- if (StringUtils.isEmpty(user.getUnionId())){
|
|
|
- if (user.getPhone().length()<=11){
|
|
|
- FsUser fsUser = new FsUser();
|
|
|
- fsUser.setUserId(user.getUserId());
|
|
|
- fsUser.setPhone(encryptPhone(param.getPhone()));
|
|
|
- String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
|
|
|
- fsUser.setLastIp(ipAddr);
|
|
|
- userMapper.updateFsUser(fsUser);
|
|
|
- logger.info("zyp \n【手机加密】:{}",encryptPhone(param.getPhone()));
|
|
|
- }
|
|
|
- return R.ok().put("isNew",true).put("phone",encryptPhone(param.getPhone()));
|
|
|
+
|
|
|
+ if (StringUtils.isEmpty(user.getUnionId())){
|
|
|
+ if (user.getPhone().length()<=11){
|
|
|
+ FsUser fsUser = new FsUser();
|
|
|
+ fsUser.setUserId(user.getUserId());
|
|
|
+ fsUser.setPhone(encryptPhone(param.getPhone()));
|
|
|
+ String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
|
|
|
+ fsUser.setLastIp(ipAddr);
|
|
|
+ userMapper.updateFsUser(fsUser);
|
|
|
+ logger.info("zyp \n【手机加密】:{}",encryptPhone(param.getPhone()));
|
|
|
}
|
|
|
- if (StringUtils.isNotEmpty(param.getJpushId())) {
|
|
|
- updateExistingUserJpushId(user, param.getJpushId());
|
|
|
+ return R.ok().put("isNew",true).put("phone",encryptPhone(param.getPhone()));
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StringUtils.isNotEmpty(param.getJpushId())) {
|
|
|
+ updateExistingUserJpushId(user, param.getJpushId());
|
|
|
// try {
|
|
|
// //发送注册优惠券
|
|
|
// fsUserCouponService.sendRegisterCoupon(user);
|
|
|
// } catch (Exception e) {
|
|
|
// logger.error("发送注册优惠券失败:{}",e.getMessage());
|
|
|
// }
|
|
|
- }
|
|
|
- }else {
|
|
|
- return R.ok().put("users",usersByPhone);
|
|
|
}
|
|
|
+
|
|
|
return generateTokenAndReturn(user);
|
|
|
}
|
|
|
|
|
|
- private List<FsUser> findUsersByPhone(String phone) {
|
|
|
- // 先根据加密手机号查询用户
|
|
|
- String jiami = (encryptPhone(phone));
|
|
|
- List<FsUser> fsUsers = userMapper.selectFsUsersByPhoneLimitOne(jiami);
|
|
|
- if (CollectionUtil.isEmpty(fsUsers)) {
|
|
|
- fsUsers = userMapper.selectFsUsersByPhoneLimitOne(encryptPhoneOldKey(phone));
|
|
|
- }
|
|
|
- // 如果没有找到用户,再根据手机号查询
|
|
|
- if (CollectionUtil.isEmpty(fsUsers)) {
|
|
|
- fsUsers = userMapper.selectFsUsersByPhoneLimitOne(phone);
|
|
|
-
|
|
|
- }
|
|
|
- return fsUsers;
|
|
|
- }
|
|
|
private FsUser createNewUser(FsUserLoginParam param) {
|
|
|
FsUser newUser = new FsUser();
|
|
|
newUser.setLoginDevice(param.getLoginDevice() != null ? param.getLoginDevice() : null);
|
|
|
@@ -574,14 +548,17 @@ public class AppLoginController2 extends AppBaseController{
|
|
|
|
|
|
private FsUser findUserByPhone(String phone) {
|
|
|
// 先根据加密手机号查询用户
|
|
|
- String jiami = (encryptPhone(phone));
|
|
|
- FsUser user = userMapper.selectFsUserByPhoneLimitOne(jiami);
|
|
|
+ FsUser user = userMapper.selectFsUserByPhoneLimitOne(encryptPhone(phone));
|
|
|
+
|
|
|
+ if (user == null) {
|
|
|
+ user = userMapper.selectFsUserByPhoneLimitOne(encryptPhoneOldKey(phone));
|
|
|
+ }
|
|
|
|
|
|
// 如果没有找到用户,再根据手机号查询
|
|
|
if (user == null) {
|
|
|
user = userMapper.selectFsUserByPhoneLimitOne(phone);
|
|
|
-
|
|
|
}
|
|
|
+
|
|
|
return user;
|
|
|
}
|
|
|
|
|
|
@@ -694,35 +671,30 @@ public class AppLoginController2 extends AppBaseController{
|
|
|
public R loginByPhone(@RequestBody Map<String,String> map){
|
|
|
String phone = map.get("phone");
|
|
|
String code = map.get("code");
|
|
|
- String encryptPhone = encryptPhone(phone);
|
|
|
- List<FsUser> user = userService.selectFsUserListByPhone(encryptPhone);
|
|
|
- if (CollectionUtil.isEmpty(user)){
|
|
|
- user = userService.selectFsUserListByPhone(encryptPhoneOldKey(phone));
|
|
|
- }
|
|
|
- if (CollectionUtil.isEmpty(user)){
|
|
|
+
|
|
|
+ FsUser user = findUserByPhone(phone);
|
|
|
+ if (user == null) {
|
|
|
return R.error("此电话号码未绑定用户");
|
|
|
}
|
|
|
- if (user.size()>1){
|
|
|
- //如果出现了一个手机号多个用户的情况,找出登陆过app的那个用户
|
|
|
- user.removeIf(fsUser -> StringUtils.isEmpty(fsUser.getHistoryApp()));
|
|
|
- }
|
|
|
+
|
|
|
String redisCode = redisCache.getCacheObject("sms:code:" + phone);
|
|
|
- if (StringUtils.isEmpty(redisCode)){
|
|
|
+ if (StringUtils.isBlank(redisCode)) {
|
|
|
return R.error("验证码已过期,请重新发送");
|
|
|
}
|
|
|
+
|
|
|
if (!redisCode.equals(code)) {
|
|
|
return R.error("验证码错误");
|
|
|
}
|
|
|
- updateExistingUserJpushId(user.get(0), map.get("jpushId"));
|
|
|
+
|
|
|
+ updateExistingUserJpushId(user, map.get("jpushId"));
|
|
|
|
|
|
// 检查是否写入过appCreateTime,没写入则写入
|
|
|
- checkAppCreateTime(user.get(0));
|
|
|
+ checkAppCreateTime(user);
|
|
|
|
|
|
// 发送消息
|
|
|
- FsUser finalUser = user.get(0);
|
|
|
- threadPoolTaskExecutor.execute(() -> sendMessage(finalUser));
|
|
|
+ threadPoolTaskExecutor.execute(() -> sendMessage(user));
|
|
|
|
|
|
- return generateTokenAndReturn(user.get(0));
|
|
|
+ return generateTokenAndReturn(user);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -811,12 +783,9 @@ public class AppLoginController2 extends AppBaseController{
|
|
|
@PostMapping("/registerSendCode")
|
|
|
public R registerSendCode(@RequestBody Map<String, String> body){
|
|
|
String phone = body.get("phone");
|
|
|
- String encryptPhone = encryptPhone(phone);
|
|
|
- List<FsUser> user = userService.selectFsUserListByPhone(encryptPhone);
|
|
|
- if(CollectionUtil.isEmpty(user)){
|
|
|
- user = userService.selectFsUserListByPhone(encryptPhoneOldKey(phone));
|
|
|
- }
|
|
|
- if (!CollectionUtil.isEmpty(user)){
|
|
|
+
|
|
|
+ FsUser user = findUserByPhone(phone);
|
|
|
+ if (user != null){
|
|
|
return R.error("此电话号码已注册");
|
|
|
}
|
|
|
|
|
|
@@ -849,13 +818,9 @@ public class AppLoginController2 extends AppBaseController{
|
|
|
String phone = map.get("phone");
|
|
|
String code = map.get("code");
|
|
|
String password = map.get("password");
|
|
|
- String encryptPhone = encryptPhone(phone);
|
|
|
- List<FsUser> users = userService.selectFsUserListByPhone(encryptPhone);
|
|
|
- if (users == null || CollectionUtil.isEmpty(users)){
|
|
|
- String s = encryptPhoneOldKey(phone);
|
|
|
- users = userService.selectFsUserListByPhone(s);
|
|
|
- }
|
|
|
- if (!CollectionUtil.isEmpty(users)){
|
|
|
+
|
|
|
+ FsUser user = findUserByPhone(phone);
|
|
|
+ if (user != null){
|
|
|
return R.error("此账号已经注册");
|
|
|
}
|
|
|
String redisCode = redisCache.getCacheObject("sms:code:" + phone);
|
|
|
@@ -865,9 +830,9 @@ public class AppLoginController2 extends AppBaseController{
|
|
|
if (!redisCode.equals(code)) {
|
|
|
return R.error("验证码错误");
|
|
|
}
|
|
|
- FsUser user = new FsUser();
|
|
|
+ user = new FsUser();
|
|
|
// 创建新用户
|
|
|
- user.setPhone(encryptPhone);
|
|
|
+ user.setPhone(phone);
|
|
|
user.setJpushId(map.get("jpushId"));
|
|
|
user.setSource(map.get("source"));
|
|
|
user.setNickName("app用户" + phone.substring(phone.length() - 4));
|
|
|
@@ -891,12 +856,9 @@ public class AppLoginController2 extends AppBaseController{
|
|
|
if (!newPassword.equals(confirmPassword)){
|
|
|
throw new ServiceException("两次输入密码不一致,请检查");
|
|
|
}
|
|
|
- String encryptPhone = encryptPhone(phone);
|
|
|
- List<FsUser> user = userService.selectFsUserListByPhone(encryptPhone);
|
|
|
- if (CollectionUtil.isEmpty(user)){
|
|
|
- user = userService.selectFsUserListByPhone(encryptPhoneOldKey(phone));
|
|
|
- }
|
|
|
- if (CollectionUtil.isEmpty(user)){
|
|
|
+
|
|
|
+ FsUser user = findUserByPhone(phone);
|
|
|
+ if (user == null){
|
|
|
return R.error("此电话号码未绑定用户");
|
|
|
}
|
|
|
String redisCode = redisCache.getCacheObject("sms:code:" + phone);
|
|
|
@@ -907,7 +869,9 @@ public class AppLoginController2 extends AppBaseController{
|
|
|
return R.error("验证码错误");
|
|
|
}
|
|
|
String password = Md5Utils.hash(newPassword);
|
|
|
- return userService.updatePasswordByPhone(password,encryptPhone);
|
|
|
+ user.setPassword(password);
|
|
|
+ userMapper.updateFsUser(user);
|
|
|
+ return R.ok();
|
|
|
}
|
|
|
|
|
|
}
|