|
|
|
@ -79,8 +79,8 @@ import vip.xiaonuo.mobile.api.MobileButtonApi;
|
|
|
|
|
import vip.xiaonuo.mobile.api.MobileMenuApi;
|
|
|
|
|
import vip.xiaonuo.sys.core.enums.SysBuildInEnum;
|
|
|
|
|
import vip.xiaonuo.sys.core.enums.SysDataTypeEnum;
|
|
|
|
|
import vip.xiaonuo.sys.core.util.SysEmailFormatUtl;
|
|
|
|
|
import vip.xiaonuo.sys.core.util.SysPasswordUtl;
|
|
|
|
|
import vip.xiaonuo.sys.core.util.SysEmailFormatUtil;
|
|
|
|
|
import vip.xiaonuo.sys.core.util.SysPasswordUtli;
|
|
|
|
|
import vip.xiaonuo.sys.modular.group.entity.SysGroup;
|
|
|
|
|
import vip.xiaonuo.sys.modular.group.service.SysGroupService;
|
|
|
|
|
import vip.xiaonuo.sys.modular.org.entity.SysOrg;
|
|
|
|
@ -325,7 +325,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
}
|
|
|
|
|
if(ObjectUtil.isEmpty(sysUser.getPassword())) {
|
|
|
|
|
// 设置默认密码
|
|
|
|
|
sysUser.setPassword(CommonCryptogramUtil.doHashValue(SysPasswordUtl.getDefaultPassword()));
|
|
|
|
|
sysUser.setPassword(CommonCryptogramUtil.doHashValue(SysPasswordUtli.getDefaultPassword()));
|
|
|
|
|
} else {
|
|
|
|
|
// 设置传入的密码
|
|
|
|
|
sysUser.setPassword(CommonCryptogramUtil.doHashValue(sysUser.getPassword()));
|
|
|
|
@ -473,7 +473,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
// 获取用户
|
|
|
|
|
SysUser sysUser = this.queryEntity(sysUserIdParam.getId());
|
|
|
|
|
// 获取默认密码
|
|
|
|
|
String defaultPassword = SysPasswordUtl.getDefaultPassword();
|
|
|
|
|
String defaultPassword = SysPasswordUtli.getDefaultPassword();
|
|
|
|
|
// 修改密码
|
|
|
|
|
this.update(new LambdaUpdateWrapper<SysUser>().eq(SysUser::getId,
|
|
|
|
|
sysUserIdParam.getId()).set(SysUser::getPassword,
|
|
|
|
@ -516,9 +516,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
// 定义变量参数
|
|
|
|
|
JSONObject paramMap = JSONUtil.createObj().set("userEmail", email).set("userNewPassword", defaultPassword);
|
|
|
|
|
// 获取格式化后的主题
|
|
|
|
|
String subject = SysEmailFormatUtl.format(contentJSONObject.getStr("subject"), paramMap);;
|
|
|
|
|
String subject = SysEmailFormatUtil.format(contentJSONObject.getStr("subject"), paramMap);;
|
|
|
|
|
// 获取格式化后的内容
|
|
|
|
|
String content = SysEmailFormatUtl.format(contentJSONObject.getStr("content"), paramMap);
|
|
|
|
|
String content = SysEmailFormatUtil.format(contentJSONObject.getStr("content"), paramMap);
|
|
|
|
|
try {
|
|
|
|
|
// 发送邮件
|
|
|
|
|
devEmailApi.sendDynamicHtmlEmail(email, subject, content);
|
|
|
|
@ -673,9 +673,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
JSONObject paramMap = JSONUtil.createObj().set("userEmail", email).set("validCode", emailValidCode)
|
|
|
|
|
.set("validTime", validCodeExpiredDuration/60);
|
|
|
|
|
// 获取格式化后的主题
|
|
|
|
|
String subject = SysEmailFormatUtl.format(contentJSONObject.getStr("subject"), paramMap);;
|
|
|
|
|
String subject = SysEmailFormatUtil.format(contentJSONObject.getStr("subject"), paramMap);;
|
|
|
|
|
// 获取格式化后的内容
|
|
|
|
|
String content = SysEmailFormatUtl.format(contentJSONObject.getStr("content"), paramMap);;
|
|
|
|
|
String content = SysEmailFormatUtil.format(contentJSONObject.getStr("content"), paramMap);;
|
|
|
|
|
// 发送邮件
|
|
|
|
|
devEmailApi.sendDynamicHtmlEmail(email, subject, content);
|
|
|
|
|
// 将请求号作为key,验证码的值作为value放到redis,用于校验
|
|
|
|
@ -702,7 +702,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
// 获取新密码
|
|
|
|
|
String newPassword = CommonCryptogramUtil.doSm2Decrypt(sysUserFindPwdByPhoneParam.getNewPassword()).trim();
|
|
|
|
|
// 校验新密码
|
|
|
|
|
SysPasswordUtl.validNewPassword(sysLoginUser, newPassword);
|
|
|
|
|
SysPasswordUtli.validNewPassword(sysLoginUser, newPassword);
|
|
|
|
|
// 修改密码
|
|
|
|
|
this.update(new LambdaUpdateWrapper<SysUser>().eq(SysUser::getPhone,
|
|
|
|
|
CommonCryptogramUtil.doSm4CbcEncrypt(phone)).set(SysUser::getPassword,
|
|
|
|
@ -754,7 +754,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
sysUserExtService.updatePasswordLastTime(sysLoginUser.getId());
|
|
|
|
|
// 追加用户历史密码信息
|
|
|
|
|
sysUserPasswordService.insertUserPasswordHistory(sysLoginUser.getId(), newPassword);
|
|
|
|
|
SysPasswordUtl.validNewPassword(sysLoginUser, newPassword);
|
|
|
|
|
SysPasswordUtli.validNewPassword(sysLoginUser, newPassword);
|
|
|
|
|
// 修改密码
|
|
|
|
|
this.update(new LambdaUpdateWrapper<SysUser>().eq(SysUser::getEmail, email).set(SysUser::getPassword,
|
|
|
|
|
CommonCryptogramUtil.doHashValue(newPassword)));
|
|
|
|
@ -767,9 +767,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
// 定义变量参数
|
|
|
|
|
JSONObject paramMap = JSONUtil.createObj().set("userEmail", email).set("userNewPassword", newPassword);
|
|
|
|
|
// 获取格式化后的主题
|
|
|
|
|
String subject = SysEmailFormatUtl.format(contentJSONObject.getStr("subject"), paramMap);;
|
|
|
|
|
String subject = SysEmailFormatUtil.format(contentJSONObject.getStr("subject"), paramMap);;
|
|
|
|
|
// 获取格式化后的内容
|
|
|
|
|
String content = SysEmailFormatUtl.format(contentJSONObject.getStr("content"), paramMap);;
|
|
|
|
|
String content = SysEmailFormatUtil.format(contentJSONObject.getStr("content"), paramMap);;
|
|
|
|
|
try {
|
|
|
|
|
// 发送邮件
|
|
|
|
|
devEmailApi.sendDynamicHtmlEmail(email, subject, content);
|
|
|
|
@ -782,21 +782,21 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
@Override
|
|
|
|
|
public String updatePasswordGetPhoneValidCode(SysUserGetPhoneValidCodeParam sysUserGetPhoneValidCodeParam) {
|
|
|
|
|
// 判断密码验证方式
|
|
|
|
|
SysPasswordUtl.validUpdatePasswordValidType(SysUpdatePasswordValidTypeEnum.PHONE.getValue());
|
|
|
|
|
SysPasswordUtli.validUpdatePasswordValidType(SysUpdatePasswordValidTypeEnum.PHONE.getValue());
|
|
|
|
|
return this.getPhoneValidCode(sysUserGetPhoneValidCodeParam, "修改密码验证码短信消息模板编码", SNOWY_SMS_TEMPLATE_VALID_CODE_UPDATE_PASSWORD_FOR_B_KEY);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String updatePasswordGetEmailValidCode(SysUserGetEmailValidCodeParam sysUserGetEmailValidCodeParam) {
|
|
|
|
|
// 判断密码验证方式
|
|
|
|
|
SysPasswordUtl.validUpdatePasswordValidType(SysUpdatePasswordValidTypeEnum.EMAIL.getValue());
|
|
|
|
|
SysPasswordUtli.validUpdatePasswordValidType(SysUpdatePasswordValidTypeEnum.EMAIL.getValue());
|
|
|
|
|
return this.getEmailValidCode(sysUserGetEmailValidCodeParam, "修改密码验证码邮件消息模板内容", SNOWY_EMAIL_TEMPLATE_VALID_CODE_UPDATE_PASSWORD_FOR_B_KEY);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void updatePasswordByOld(SysUserUpdatePwdByOldParam sysUserUpdatePwdByOldParam) {
|
|
|
|
|
// 判断密码验证方式
|
|
|
|
|
SysPasswordUtl.validUpdatePasswordValidType(SysUpdatePasswordValidTypeEnum.OLD.getValue());
|
|
|
|
|
SysPasswordUtli.validUpdatePasswordValidType(SysUpdatePasswordValidTypeEnum.OLD.getValue());
|
|
|
|
|
SysUser sysUser = this.queryEntity(StpUtil.getLoginIdAsString());
|
|
|
|
|
String password = CommonCryptogramUtil.doSm2Decrypt(sysUserUpdatePwdByOldParam.getPassword()).trim();
|
|
|
|
|
String newPassword = CommonCryptogramUtil.doSm2Decrypt(sysUserUpdatePwdByOldParam.getNewPassword()).trim();
|
|
|
|
@ -804,7 +804,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
throw new CommonException("原密码错误");
|
|
|
|
|
}
|
|
|
|
|
// 校验新密码
|
|
|
|
|
SysPasswordUtl.validNewPassword(sysUser, newPassword);
|
|
|
|
|
SysPasswordUtli.validNewPassword(sysUser, newPassword);
|
|
|
|
|
// 修改密码
|
|
|
|
|
this.update(new LambdaUpdateWrapper<SysUser>().eq(SysUser::getId,
|
|
|
|
|
sysUser.getId()).set(SysUser::getPassword,
|
|
|
|
@ -851,9 +851,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
// 定义变量参数
|
|
|
|
|
JSONObject paramMap = JSONUtil.createObj().set("userEmail", email).set("userNewPassword", newPassword);
|
|
|
|
|
// 获取格式化后的主题
|
|
|
|
|
String subject = SysEmailFormatUtl.format(contentJSONObject.getStr("subject"), paramMap);;
|
|
|
|
|
String subject = SysEmailFormatUtil.format(contentJSONObject.getStr("subject"), paramMap);;
|
|
|
|
|
// 获取格式化后的内容
|
|
|
|
|
String content = SysEmailFormatUtl.format(contentJSONObject.getStr("content"), paramMap);;
|
|
|
|
|
String content = SysEmailFormatUtil.format(contentJSONObject.getStr("content"), paramMap);;
|
|
|
|
|
try {
|
|
|
|
|
// 发送邮件
|
|
|
|
|
devEmailApi.sendDynamicHtmlEmail(email, subject, content);
|
|
|
|
@ -867,7 +867,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
@Override
|
|
|
|
|
public void updatePasswordByPhone(SysUserUpdatePwdByPhoneParam sysUserUpdatePwdByPhoneParam) {
|
|
|
|
|
// 判断密码验证方式
|
|
|
|
|
SysPasswordUtl.validUpdatePasswordValidType(SysUpdatePasswordValidTypeEnum.PHONE.getValue());
|
|
|
|
|
SysPasswordUtli.validUpdatePasswordValidType(SysUpdatePasswordValidTypeEnum.PHONE.getValue());
|
|
|
|
|
SysUserFindPwdByPhoneParam sysUserFindPwdByPhoneParam = new SysUserFindPwdByPhoneParam();
|
|
|
|
|
BeanUtil.copyProperties(sysUserUpdatePwdByPhoneParam, sysUserFindPwdByPhoneParam);
|
|
|
|
|
this.findPasswordByPhone(sysUserFindPwdByPhoneParam);
|
|
|
|
@ -876,7 +876,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
@Override
|
|
|
|
|
public void updatePasswordByEmail(SysUserUpdatePwdByEmailParam sysUserUpdatePwdByEmailParam) {
|
|
|
|
|
// 判断密码验证方式
|
|
|
|
|
SysPasswordUtl.validUpdatePasswordValidType(SysUpdatePasswordValidTypeEnum.EMAIL.getValue());
|
|
|
|
|
SysPasswordUtli.validUpdatePasswordValidType(SysUpdatePasswordValidTypeEnum.EMAIL.getValue());
|
|
|
|
|
SysUserFindPwdByEmailParam sysUserFindPwdByEmailParam = new SysUserFindPwdByEmailParam();
|
|
|
|
|
BeanUtil.copyProperties(sysUserUpdatePwdByEmailParam, sysUserFindPwdByEmailParam);
|
|
|
|
|
this.findPasswordByEmail(sysUserFindPwdByEmailParam);
|
|
|
|
@ -1012,9 +1012,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
JSONObject paramMap = JSONUtil.createObj().set("userEmail", email).set("validCode", emailValidCode)
|
|
|
|
|
.set("validTime", validCodeExpiredDuration/60);
|
|
|
|
|
// 获取格式化后的主题
|
|
|
|
|
String subject = SysEmailFormatUtl.format(contentJSONObject.getStr("subject"), paramMap);;
|
|
|
|
|
String subject = SysEmailFormatUtil.format(contentJSONObject.getStr("subject"), paramMap);;
|
|
|
|
|
// 获取格式化后的内容
|
|
|
|
|
String content = SysEmailFormatUtl.format(contentJSONObject.getStr("content"), paramMap);;
|
|
|
|
|
String content = SysEmailFormatUtil.format(contentJSONObject.getStr("content"), paramMap);;
|
|
|
|
|
// 发送邮件
|
|
|
|
|
devEmailApi.sendDynamicHtmlEmail(email, subject, content);
|
|
|
|
|
// 将请求号作为key,验证码的值作为value放到redis,用于校验
|
|
|
|
@ -1054,9 +1054,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
JSONObject paramMap = JSONUtil.createObj().set("userEmail", email).set("validCode", emailValidCode)
|
|
|
|
|
.set("validTime", validCodeExpiredDuration/60);
|
|
|
|
|
// 获取格式化后的主题
|
|
|
|
|
String subject = SysEmailFormatUtl.format(contentJSONObject.getStr("subject"), paramMap);;
|
|
|
|
|
String subject = SysEmailFormatUtil.format(contentJSONObject.getStr("subject"), paramMap);;
|
|
|
|
|
// 获取格式化后的内容
|
|
|
|
|
String content = SysEmailFormatUtl.format(contentJSONObject.getStr("content"), paramMap);;
|
|
|
|
|
String content = SysEmailFormatUtil.format(contentJSONObject.getStr("content"), paramMap);;
|
|
|
|
|
// 发送邮件
|
|
|
|
|
devEmailApi.sendDynamicHtmlEmail(email, subject, content);
|
|
|
|
|
// 将请求号作为key,验证码的值作为value放到redis,用于校验
|
|
|
|
@ -1255,7 +1255,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 如果设置了不可见,那么设置为false,为了兼容已有,所以只是false的为不显示
|
|
|
|
|
if (ObjectUtil.isNotEmpty(sysMenu.getVisible()) && sysMenu.getVisible().equals("FALSE")) {
|
|
|
|
|
if (ObjectUtil.isNotEmpty(sysMenu.getVisible()) && "FALSE".equals(sysMenu.getVisible())) {
|
|
|
|
|
metaJsonObject.set("hidden", true);
|
|
|
|
|
}
|
|
|
|
|
menuJsonObject.set("meta", metaJsonObject);
|
|
|
|
@ -1670,7 +1670,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
// 设置默认头像
|
|
|
|
|
sysUser.setAvatar(CommonAvatarUtil.generateImg(sysUser.getName()));
|
|
|
|
|
// 设置默认密码
|
|
|
|
|
sysUser.setPassword(CommonCryptogramUtil.doHashValue(SysPasswordUtl.getDefaultPassword()));
|
|
|
|
|
sysUser.setPassword(CommonCryptogramUtil.doHashValue(SysPasswordUtli.getDefaultPassword()));
|
|
|
|
|
// 设置排序码
|
|
|
|
|
sysUser.setSortCode(99);
|
|
|
|
|
// 设置状态
|
|
|
|
@ -2200,9 +2200,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
// 定义变量参数
|
|
|
|
|
JSONObject paramMap = JSONUtil.createObj().set("userEmail", email);
|
|
|
|
|
// 获取格式化后的主题
|
|
|
|
|
String subject = SysEmailFormatUtl.format(contentJSONObject.getStr("subject"), paramMap);;
|
|
|
|
|
String subject = SysEmailFormatUtil.format(contentJSONObject.getStr("subject"), paramMap);;
|
|
|
|
|
// 获取格式化后的内容
|
|
|
|
|
String content = SysEmailFormatUtl.format(contentJSONObject.getStr("content"), paramMap);;
|
|
|
|
|
String content = SysEmailFormatUtil.format(contentJSONObject.getStr("content"), paramMap);;
|
|
|
|
|
// 发送邮件
|
|
|
|
|
devEmailApi.sendDynamicHtmlEmail(email, subject, content);
|
|
|
|
|
}
|
|
|
|
@ -2326,7 +2326,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Boolean isUserPasswordExpired() {
|
|
|
|
|
return SysPasswordUtl.isUserPasswordExpired(StpUtil.getLoginIdAsString());
|
|
|
|
|
return SysPasswordUtli.isUserPasswordExpired(StpUtil.getLoginIdAsString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -2336,7 +2336,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
// 密码即将到期邮件消息模板
|
|
|
|
|
String emailTemplateContent = devConfigApi.getValueByKey(SNOWY_EMAIL_TEMPLATE_NOTICE_PASSWORD_EXPIRED_FOR_B_KEY);
|
|
|
|
|
// 获取今日需要提醒密码到期的用户集合
|
|
|
|
|
SysPasswordUtl.thisDayPasswordExpiredNeedNoticeUserIdList().forEach(sysUser -> {
|
|
|
|
|
SysPasswordUtli.thisDayPasswordExpiredNeedNoticeUserIdList().forEach(sysUser -> {
|
|
|
|
|
// 获取手机号
|
|
|
|
|
String phone = sysUser.getPhone();
|
|
|
|
|
// 不为空才发送
|
|
|
|
@ -2366,9 +2366,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
// 定义变量参数
|
|
|
|
|
JSONObject paramMap = JSONUtil.createObj().set("userEmail", email);
|
|
|
|
|
// 获取格式化后的主题
|
|
|
|
|
String subject = SysEmailFormatUtl.format(contentJSONObject.getStr("subject"), paramMap);;
|
|
|
|
|
String subject = SysEmailFormatUtil.format(contentJSONObject.getStr("subject"), paramMap);;
|
|
|
|
|
// 获取格式化后的内容
|
|
|
|
|
String content = SysEmailFormatUtl.format(contentJSONObject.getStr("content"), paramMap);;
|
|
|
|
|
String content = SysEmailFormatUtil.format(contentJSONObject.getStr("content"), paramMap);;
|
|
|
|
|
try {
|
|
|
|
|
// 发送邮件
|
|
|
|
|
devEmailApi.sendDynamicHtmlEmail(email, subject, content);
|
|
|
|
@ -2388,14 +2388,14 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
throw new CommonException("账号已存在");
|
|
|
|
|
}
|
|
|
|
|
// 校验密码
|
|
|
|
|
SysPasswordUtl.validNewPassword(password);
|
|
|
|
|
SysPasswordUtli.validNewPassword(password);
|
|
|
|
|
// 根据账号密码创建用户
|
|
|
|
|
this.createUserWithAccount(account, password);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public JSONObject getUpdatePasswordValidConfig() {
|
|
|
|
|
return SysPasswordUtl.getUpdatePasswordValidConfig();
|
|
|
|
|
return SysPasswordUtli.getUpdatePasswordValidConfig();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|