浏览代码

1.学生修改手机号,退出登录

yuanliang 1 年之前
父节点
当前提交
d4cc0b529a

+ 11 - 6
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java

@@ -659,7 +659,8 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
         boolean updatePhone = false;
         if (!student.getPhone().equals(studentInfo.getPhone())) {
             updatePhone = true;
-            com.yonge.cooleshow.biz.dal.entity.SysUser sysUser = getOrCreateAccount(studentInfo);
+            SysUser oldSysUser = sysUserMapper.getByUserId(studentInfo.getId());
+            com.yonge.cooleshow.biz.dal.entity.SysUser sysUser = getOrCreateAccount(studentInfo, oldSysUser.getPassword());
             this.lambdaUpdate().set(Student::getSubjectId, studentInfo.getSubjectId())
                     .set(Student::getTenantId, studentInfo.getTenantId())
                     .set(Student::getUserId, sysUser.getId())
@@ -779,7 +780,7 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
             avatar = sysConfigService.findConfigValue(SysConfigConstant.STUDENT_AVATAR);
             studentInfo.setAvatar(avatar);
         }
-        com.yonge.cooleshow.biz.dal.entity.SysUser sysUser = getOrCreateAccount(studentInfo);
+        com.yonge.cooleshow.biz.dal.entity.SysUser sysUser = getOrCreateAccount(studentInfo, null);
         Student student = new Student();
         student.setUserId(sysUser.getId());
         student.setTenantId(studentInfo.getTenantId());
@@ -828,7 +829,8 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
         return true;
     }
 
-    private com.yonge.cooleshow.biz.dal.entity.SysUser getOrCreateAccount(StudentWrapper.Student studentInfo) {
+    private com.yonge.cooleshow.biz.dal.entity.SysUser getOrCreateAccount(StudentWrapper.Student studentInfo,
+                                                                          String password) {
         QueryWrapper<com.yonge.cooleshow.biz.dal.entity.SysUser> sysUserQueryWrapper = new QueryWrapper<>();
         sysUserQueryWrapper.lambda().eq(com.yonge.cooleshow.biz.dal.entity.SysUser::getPhone, studentInfo.getPhone());
         List<com.yonge.cooleshow.biz.dal.entity.SysUser> sysUsers = sysUserMapper.selectList(sysUserQueryWrapper);
@@ -864,10 +866,13 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
             sysUser.setUserType("STUDENT");
             sysUser.setBirthdate(studentInfo.getBirthdate());
             sysUser.setUsername(studentInfo.getName());
-
-            String newPassword = MessageFormat.format("klx{0}", studentInfo.getPhone().substring(7));
-            String password = new BCryptPasswordEncoder().encode(newPassword);
             sysUser.setPassword(password);
+
+            if (StringUtils.isEmpty(password)) {
+                String newPassword = MessageFormat.format("klx{0}", studentInfo.getPhone().substring(7));
+                sysUser.setPassword(new BCryptPasswordEncoder().encode(newPassword));
+            }
+
             sysUserMapper.insert(sysUser);
         }
         return sysUser;