|
@@ -1,6 +1,7 @@
|
|
|
package com.jiayue.ssi.controller;
|
|
|
|
|
|
import cn.hutool.core.lang.Validator;
|
|
|
+import cn.hutool.core.util.IdcardUtil;
|
|
|
import cn.hutool.core.util.NumberUtil;
|
|
|
import cn.hutool.crypto.SmUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
@@ -123,6 +124,7 @@ public class SysUserController {
|
|
|
record.setMailbox(AesUtils.decryptStr(record.getMailbox()));
|
|
|
record.setPhonenumber(AesUtils.decryptStr(record.getPhonenumber()));
|
|
|
record.setNickname(AesUtils.decryptStr(record.getNickname()));
|
|
|
+ record.setIdcard(AesUtils.decryptStr(record.getIdcard()));
|
|
|
}
|
|
|
);
|
|
|
return ResponseVO.success(result);
|
|
@@ -181,6 +183,12 @@ public class SysUserController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ if (!IdcardUtil.isValidCard(user.getIdcard())) {
|
|
|
+ return ResponseVO.fail("身份证无效!");
|
|
|
+ }
|
|
|
+ // 加密邮箱
|
|
|
+ user.setIdcard(AesUtils.encryptHex(user.getIdcard()).toUpperCase());
|
|
|
+
|
|
|
if (StringUtils.isEmpty(user.getPhonenumber())) {
|
|
|
return ResponseVO.fail("手机号码不能为空!");
|
|
|
} else if (!Validator.isMobile(user.getPhonenumber())) {
|
|
@@ -206,12 +214,22 @@ public class SysUserController {
|
|
|
return ResponseVO.fail("请输入正确的邮箱地址!");
|
|
|
} else if (user.getMailbox().length() > 50) {
|
|
|
return ResponseVO.fail("邮箱长度不能超过50个字符!");
|
|
|
- } else if (sysUserService.queryMailBox(user.getMailbox()) != null) {
|
|
|
- return ResponseVO.fail(user.getMailbox() + "邮箱已存在!");
|
|
|
}
|
|
|
// 加密邮箱
|
|
|
user.setMailbox(AesUtils.encryptHex(user.getMailbox()).toUpperCase());
|
|
|
|
|
|
+ if (user.getExpDate()!=null){
|
|
|
+ // 判断临时账号有效期不能超过30天
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ // 将当前日期增加30天
|
|
|
+ calendar.add(Calendar.DAY_OF_MONTH, 29);
|
|
|
+ // 获取增加30天后的日期
|
|
|
+ Date endDate = calendar.getTime();
|
|
|
+ if (!user.getExpDate().before(endDate)){
|
|
|
+ return ResponseVO.fail("账号有效期不能超过30天!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
boolean bo = sysUserService.save(user);
|
|
|
if (bo) {
|
|
|
return ResponseVO.success("添加用户信息成功");
|
|
@@ -254,7 +272,6 @@ public class SysUserController {
|
|
|
return ResponseVO.fail("此记录存在未审批的操作,不能进行修改!");
|
|
|
}
|
|
|
|
|
|
-
|
|
|
if (StringUtils.isEmpty(user.getUsername()) || StringUtils.isEmpty(user.getUsername().trim())) {
|
|
|
return ResponseVO.fail("用户账号不能为空!");
|
|
|
} else{
|
|
@@ -272,16 +289,18 @@ public class SysUserController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ if (!IdcardUtil.isValidCard(user.getIdcard())) {
|
|
|
+ return ResponseVO.fail("身份证无效!");
|
|
|
+ }
|
|
|
+ // 加密邮箱
|
|
|
+ user.setIdcard(AesUtils.encryptHex(user.getIdcard()).toUpperCase());
|
|
|
+
|
|
|
if (StringUtils.isEmpty(user.getMailbox())) {
|
|
|
return ResponseVO.fail("邮箱不能为空!");
|
|
|
} else if (!Validator.isEmail(user.getMailbox())) {
|
|
|
return ResponseVO.fail("请输入正确的邮箱地址!");
|
|
|
} else if (user.getMailbox().length() > 50) {
|
|
|
return ResponseVO.fail("邮箱长度不能超过50个字符!");
|
|
|
- } else if (!existUser.getMailbox().equals(user.getMailbox())) {
|
|
|
- if (sysUserService.queryMailBox(user.getMailbox()) != null) {
|
|
|
- return ResponseVO.fail(user.getMailbox() + "邮箱已存在!");
|
|
|
- }
|
|
|
}
|
|
|
// 加密邮箱
|
|
|
user.setMailbox(AesUtils.encryptHex(user.getMailbox()).toUpperCase());
|
|
@@ -313,6 +332,17 @@ public class SysUserController {
|
|
|
if (user.getExpDate()==null) {
|
|
|
user.setExpDate(null);
|
|
|
}
|
|
|
+ else{
|
|
|
+ // 判断临时账号有效期不能超过30天
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ // 将当前日期增加30天
|
|
|
+ calendar.add(Calendar.DAY_OF_MONTH, 29);
|
|
|
+ // 获取增加30天后的日期
|
|
|
+ Date endDate = calendar.getTime();
|
|
|
+ if (!user.getExpDate().before(endDate)){
|
|
|
+ return ResponseVO.fail("账号有效期不能超过30天!");
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
boolean bo = sysUserService.updateUser(user);
|
|
|
if (bo) {
|
|
@@ -354,9 +384,11 @@ public class SysUserController {
|
|
|
if (sysUser == null) {
|
|
|
return ResponseVO.fail("重置密码失败!");
|
|
|
}
|
|
|
+
|
|
|
+ SysPolicy sysPolicy = sysPolicyService.getOne(new QueryWrapper<>());
|
|
|
// 生成8位初始密码
|
|
|
- String randomPwd = RandomPwd.getRandomPwd(8);
|
|
|
- log.info("重置随机密码:"+randomPwd);
|
|
|
+ String randomPwd = RandomRulePwd.createPwd(sysPolicy.getPasswordRule());
|
|
|
+ log.info("用户名:"+sysUser.getUsername()+" 初始/重置密码:"+randomPwd);
|
|
|
// 加密密码
|
|
|
String sm3password = SmUtil.sm3(randomPwd).toUpperCase();
|
|
|
// 签名
|