|
@@ -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;
|