|
|
@@ -452,10 +452,7 @@ public class AppLoginController extends AppBaseController{
|
|
|
if (CollectionUtil.isEmpty(user)){
|
|
|
user = userService.selectFsUserListByPhone(encryptPhoneOldKey(phone));
|
|
|
}
|
|
|
- if (CollectionUtil.isEmpty(user)){
|
|
|
- return R.error("此电话号码未绑定用户");
|
|
|
- }
|
|
|
- if (user.size()>1){
|
|
|
+ if (!CollectionUtil.isEmpty(user) && user.size()>1){
|
|
|
//如果出现了一个手机号多个用户的情况,找出登陆过app的那个用户
|
|
|
user.removeIf(fsUser -> StringUtils.isEmpty(fsUser.getHistoryApp()));
|
|
|
}
|
|
|
@@ -469,9 +466,15 @@ public class AppLoginController extends AppBaseController{
|
|
|
return R.error("验证码错误");
|
|
|
}
|
|
|
}
|
|
|
- updateExistingUserJpushId(user.get(0), map.get("jpushId"));
|
|
|
- userNewTaskService.performFirstLoginApp(user.get(0).getUserId());
|
|
|
- return generateTokenAndReturn(user.get(0));
|
|
|
+ FsUser currentUser;
|
|
|
+ if (CollectionUtil.isEmpty(user)) {
|
|
|
+ currentUser = createNewUserBySmsLogin(phone, map);
|
|
|
+ } else {
|
|
|
+ currentUser = user.get(0);
|
|
|
+ updateExistingUserJpushId(currentUser, map.get("jpushId"));
|
|
|
+ }
|
|
|
+ userNewTaskService.performFirstLoginApp(currentUser.getUserId());
|
|
|
+ return generateTokenAndReturn(currentUser);
|
|
|
}
|
|
|
|
|
|
@PostMapping("/resetPassword")
|
|
|
@@ -783,14 +786,6 @@ public class AppLoginController extends AppBaseController{
|
|
|
@PostMapping("/sendCode")
|
|
|
public R sendCode(@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)){
|
|
|
- return R.error("此电话号码未绑定用户");
|
|
|
- }
|
|
|
|
|
|
// 验证码 key(3分钟有效)
|
|
|
String smsCodeKey = "sms:code:" + phone;
|
|
|
@@ -939,6 +934,20 @@ public class AppLoginController extends AppBaseController{
|
|
|
return newUser;
|
|
|
}
|
|
|
|
|
|
+ private FsUser createNewUserBySmsLogin(String phone, Map<String, String> map) {
|
|
|
+ FsUser newUser = new FsUser();
|
|
|
+ newUser.setPhone(phone);
|
|
|
+ newUser.setJpushId(map.get("jpushId"));
|
|
|
+ newUser.setSource(map.get("source"));
|
|
|
+ newUser.setLoginDevice(map.get("loginDevice"));
|
|
|
+ newUser.setNickName("app用户" + phone.substring(phone.length() - 4));
|
|
|
+ newUser.setStatus(1);
|
|
|
+ newUser.setAvatar("https://cos.his.cdwjyyh.com/fs/20240926/420728ee06e54575ba82665dedb4756b.png");
|
|
|
+ newUser.setCreateTime(new Date());
|
|
|
+ userService.insertFsUser(newUser);
|
|
|
+ return newUser;
|
|
|
+ }
|
|
|
+
|
|
|
private FsUser findUserByPhone(String phone) {
|
|
|
// 先根据加密手机号查询用户
|
|
|
String jiami = (encryptPhone(phone));
|