diff --git a/README.md b/README.md
index e3cc3b08..d526bde6 100644
--- a/README.md
+++ b/README.md
@@ -88,28 +88,20 @@ npm run dev
-  |
-  |
+  |
+  |
-  |
-  |
+  |
+  |
-  |
-  |
+  |
+  |
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
+  |
+  |
diff --git a/pom.xml b/pom.xml
index 157d47ac..6cb3a112 100644
--- a/pom.xml
+++ b/pom.xml
@@ -67,6 +67,10 @@
src/main/resources
+ false
+
+ *.xdb
+
src/main/java
diff --git a/snowy-common/src/main/java/vip/xiaonuo/common/handler/Sm4CbcTypeHandler.java b/snowy-common/src/main/java/vip/xiaonuo/common/handler/CommonSm4CbcTypeHandler.java
similarity index 91%
rename from snowy-common/src/main/java/vip/xiaonuo/common/handler/Sm4CbcTypeHandler.java
rename to snowy-common/src/main/java/vip/xiaonuo/common/handler/CommonSm4CbcTypeHandler.java
index 8e73c9e1..6f0ce34e 100644
--- a/snowy-common/src/main/java/vip/xiaonuo/common/handler/Sm4CbcTypeHandler.java
+++ b/snowy-common/src/main/java/vip/xiaonuo/common/handler/CommonSm4CbcTypeHandler.java
@@ -13,16 +13,19 @@ import java.sql.SQLException;
/**
* Sm4Cbc加解密
+ *
* @author wanglei
* @date 2022/9/30 15:24
**/
@MappedJdbcTypes(JdbcType.VARCHAR)
-public class Sm4CbcTypeHandler extends BaseTypeHandler {
+public class CommonSm4CbcTypeHandler extends BaseTypeHandler {
@Override
public void setNonNullParameter(PreparedStatement ps, int i, Object parameter, JdbcType jdbcType) throws SQLException {
ps.setString(i, CommonCryptogramUtil.doSm4CbcEncrypt((String)parameter));
}
+
+ @SuppressWarnings("ALL")
@Override
public T getNullableResult(ResultSet rs, String columnName) throws SQLException {
String columnValue = rs.getString(columnName);
@@ -30,12 +33,14 @@ public class Sm4CbcTypeHandler extends BaseTypeHandler {
return StringUtils.isBlank(columnValue) ? (T)columnValue : (T)CommonCryptogramUtil.doSm4CbcDecrypt(columnValue);
}
+ @SuppressWarnings("ALL")
@Override
public T getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
String columnValue = rs.getString(columnIndex);
return StringUtils.isBlank(columnValue) ? (T)columnValue : (T)CommonCryptogramUtil.doSm4CbcDecrypt(columnValue);
}
+ @SuppressWarnings("ALL")
@Override
public T getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
String columnValue = cs.getString(columnIndex);
diff --git a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/entity/BizOrg.java b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/entity/BizOrg.java
index c1d27269..5134af0c 100644
--- a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/entity/BizOrg.java
+++ b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/entity/BizOrg.java
@@ -15,6 +15,7 @@ package vip.xiaonuo.biz.modular.org.entity;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.fhs.core.trans.vo.TransPojo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@@ -29,7 +30,7 @@ import vip.xiaonuo.common.pojo.CommonEntity;
@Getter
@Setter
@TableName("SYS_ORG")
-public class BizOrg extends CommonEntity {
+public class BizOrg extends CommonEntity implements TransPojo {
/** id */
@ApiModelProperty(value = "id", position = 1)
diff --git a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/position/entity/BizPosition.java b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/position/entity/BizPosition.java
index 0eafc87b..3d6ab427 100644
--- a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/position/entity/BizPosition.java
+++ b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/position/entity/BizPosition.java
@@ -15,6 +15,7 @@ package vip.xiaonuo.biz.modular.position.entity;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.fhs.core.trans.vo.TransPojo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@@ -29,7 +30,7 @@ import vip.xiaonuo.common.pojo.CommonEntity;
@Getter
@Setter
@TableName("SYS_POSITION")
-public class BizPosition extends CommonEntity {
+public class BizPosition extends CommonEntity implements TransPojo {
/** id */
@ApiModelProperty(value = "id", position = 1)
diff --git a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/controller/BizUserController.java b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/controller/BizUserController.java
index 19e60966..5a482077 100644
--- a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/controller/BizUserController.java
+++ b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/controller/BizUserController.java
@@ -28,13 +28,9 @@ import vip.xiaonuo.biz.modular.org.entity.BizOrg;
import vip.xiaonuo.biz.modular.position.entity.BizPosition;
import vip.xiaonuo.biz.modular.user.entity.BizUser;
import vip.xiaonuo.biz.modular.user.param.*;
-import vip.xiaonuo.biz.modular.user.result.BizUserResult;
import vip.xiaonuo.biz.modular.user.result.BizUserRoleResult;
import vip.xiaonuo.biz.modular.user.service.BizUserService;
-import vip.xiaonuo.biz.modular.user.wrapper.BizUserResultWrapperImpl;
-import vip.xiaonuo.biz.modular.user.wrapper.BizUserWrapperImpl;
import vip.xiaonuo.common.annotation.CommonLog;
-import vip.xiaonuo.common.annotation.CommonWrapper;
import vip.xiaonuo.common.pojo.CommonResult;
import vip.xiaonuo.common.pojo.CommonValidList;
@@ -69,9 +65,8 @@ public class BizUserController {
@ApiOperationSupport(order = 1)
@ApiOperation("获取人员分页")
@SaCheckPermission("/biz/user/page")
- @CommonWrapper(BizUserResultWrapperImpl.class)
@GetMapping("/biz/user/page")
- public CommonResult> page(BizUserPageParam bizUserPageParam) {
+ public CommonResult> page(BizUserPageParam bizUserPageParam) {
return CommonResult.data(bizUserService.page(bizUserPageParam));
}
@@ -133,7 +128,6 @@ public class BizUserController {
@ApiOperationSupport(order = 5)
@ApiOperation("获取人员详情")
@SaCheckPermission("/biz/user/detail")
- @CommonWrapper(BizUserWrapperImpl.class)
@GetMapping("/biz/user/detail")
public CommonResult detail(@Valid BizUserIdParam bizUserIdParam) {
return CommonResult.data(bizUserService.detail(bizUserIdParam));
diff --git a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/entity/BizUser.java b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/entity/BizUser.java
index 0f706293..e375c9c1 100644
--- a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/entity/BizUser.java
+++ b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/entity/BizUser.java
@@ -14,10 +14,17 @@ package vip.xiaonuo.biz.modular.user.entity;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.fhs.core.trans.anno.Trans;
+import com.fhs.core.trans.constant.TransType;
+import com.fhs.core.trans.vo.TransPojo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
+import vip.xiaonuo.biz.modular.org.entity.BizOrg;
+import vip.xiaonuo.biz.modular.position.entity.BizPosition;
+import vip.xiaonuo.common.handler.CommonSm4CbcTypeHandler;
import vip.xiaonuo.common.pojo.CommonEntity;
import java.util.Date;
@@ -30,10 +37,11 @@ import java.util.Date;
**/
@Getter
@Setter
-@TableName("SYS_USER")
-public class BizUser extends CommonEntity {
+@TableName(value = "SYS_USER", autoResultMap = true)
+public class BizUser extends CommonEntity implements TransPojo {
/** id */
+ @TableId
@ApiModelProperty(value = "id", position = 1)
private String id;
@@ -67,6 +75,7 @@ public class BizUser extends CommonEntity {
/** 性别 */
@ApiModelProperty(value = "性别", position = 8)
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
+ @Trans(type= TransType.DICTIONARY, key = "GENDER")
private String gender;
/** 年龄 */
@@ -106,7 +115,7 @@ public class BizUser extends CommonEntity {
/** 证件号码 */
@ApiModelProperty(value = "证件号码", position = 16)
- @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
+ @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED, typeHandler = CommonSm4CbcTypeHandler.class)
private String idCardNumber;
/** 文化程度 */
@@ -141,7 +150,7 @@ public class BizUser extends CommonEntity {
/** 手机 */
@ApiModelProperty(value = "手机", position = 23)
- @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
+ @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED, typeHandler = CommonSm4CbcTypeHandler.class)
private String phone;
/** 邮箱 */
@@ -166,7 +175,7 @@ public class BizUser extends CommonEntity {
/** 紧急联系人电话 */
@ApiModelProperty(value = "紧急联系人电话", position = 28)
- @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
+ @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED, typeHandler = CommonSm4CbcTypeHandler.class)
private String emergencyPhone;
/** 紧急联系人地址 */
@@ -187,21 +196,24 @@ public class BizUser extends CommonEntity {
/** 机构id */
@ApiModelProperty(value = "机构id", position = 32)
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
+ @Trans(type=TransType.SIMPLE, target = BizOrg.class, fields = "name", alias = "org", ref = "orgName")
private String orgId;
/** 岗位id */
@ApiModelProperty(value = "岗位id", position = 33)
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
+ @Trans(type=TransType.SIMPLE, target = BizPosition.class, fields = "name", alias = "position", ref = "positionName")
private String positionId;
- /** 岗级 */
- @ApiModelProperty(value = "岗级", position = 34)
+ /** 职级 */
+ @ApiModelProperty(value = "职级", position = 34)
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
private String positionLevel;
/** 主管id */
@ApiModelProperty(value = "主管id", position = 35)
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
+ @Trans(type=TransType.SIMPLE, target = BizUser.class, fields = "name", alias = "director", ref = "directorName")
private String directorId;
/** 兼任信息 */
@@ -253,4 +265,16 @@ public class BizUser extends CommonEntity {
@ApiModelProperty(value = "扩展信息", position = 47)
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
private String extJson;
+
+ @ApiModelProperty(value = "机构名称", position = 48)
+ @TableField(exist = false)
+ private String orgName;
+
+ @ApiModelProperty(value = "岗位名称", position = 49)
+ @TableField(exist = false)
+ private String positionName;
+
+ @ApiModelProperty(value = "主管名称", position = 50)
+ @TableField(exist = false)
+ private String directorName;
}
diff --git a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/mapper/BizUserMapper.java b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/mapper/BizUserMapper.java
index 285760f9..fd29c529 100644
--- a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/mapper/BizUserMapper.java
+++ b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/mapper/BizUserMapper.java
@@ -12,15 +12,8 @@
*/
package vip.xiaonuo.biz.modular.user.mapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import org.apache.ibatis.annotations.Param;
import vip.xiaonuo.biz.modular.user.entity.BizUser;
-import vip.xiaonuo.biz.modular.user.result.BizUserExportResult;
-import vip.xiaonuo.biz.modular.user.result.BizUserResult;
-
-import java.util.List;
/**
* 人员Mapper接口
@@ -30,19 +23,4 @@ import java.util.List;
**/
public interface BizUserMapper extends BaseMapper {
- /**
- * 获取人员分页列表
- *
- * @author xuyuxiang
- * @date 2022/7/8 13:27
- **/
- Page page(@Param("page") Page page, @Param("ew") QueryWrapper queryWrapper);
-
- /**
- * 获取要导出的用户列表
- *
- * @author xuyuxiang
- * @date 2022/7/8 13:27
- **/
- List exportList(@Param("ew") QueryWrapper queryWrapper);
}
diff --git a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/mapper/mapping/BizUserMapper.xml b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/mapper/mapping/BizUserMapper.xml
index b05a9423..80c82584 100644
--- a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/mapper/mapping/BizUserMapper.xml
+++ b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/mapper/mapping/BizUserMapper.xml
@@ -2,31 +2,4 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/result/BizUserResult.java b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/result/BizUserResult.java
deleted file mode 100644
index 69d1bc6f..00000000
--- a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/result/BizUserResult.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.biz.modular.user.result;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.Date;
-
-/**
- * 用户结果集
- *
- * @author xuyuxiang
- * @date 2022/7/8 13:22
- **/
-@Getter
-@Setter
-public class BizUserResult {
-
- /** id */
- @ApiModelProperty(value = "id", position = 1)
- private String id;
-
- /** 头像 */
- @ApiModelProperty(value = "头像", position = 3)
- private String avatar;
-
- /** 签名 */
- @ApiModelProperty(value = "签名", position = 4)
- private String signature;
-
- /** 账号 */
- @ApiModelProperty(value = "账号", position = 5)
- private String account;
-
- /** 姓名 */
- @ApiModelProperty(value = "姓名", position = 7)
- private String name;
-
- /** 昵称 */
- @ApiModelProperty(value = "昵称", position = 8)
- private String nickname;
-
- /** 性别 */
- @ApiModelProperty(value = "性别", position = 9)
- private String gender;
-
- /** 年龄 */
- @ApiModelProperty(value = "年龄", position = 10)
- private String age;
-
- /** 出生日期 */
- @ApiModelProperty(value = "出生日期", position = 11)
- private String birthday;
-
- /** 民族 */
- @ApiModelProperty(value = "民族", position = 12)
- private String nation;
-
- /** 籍贯 */
- @ApiModelProperty(value = "籍贯", position = 13)
- private String nativePlace;
-
- /** 家庭住址 */
- @ApiModelProperty(value = "家庭住址", position = 14)
- private String homeAddress;
-
- /** 通信地址 */
- @ApiModelProperty(value = "通信地址", position = 15)
- private String mailingAddress;
-
- /** 证件类型 */
- @ApiModelProperty(value = "证件类型", position = 16)
- private String idCardType;
-
- /** 证件号码 */
- @ApiModelProperty(value = "证件号码", position = 17)
- private String idCardNumber;
-
- /** 文化程度 */
- @ApiModelProperty(value = "文化程度", position = 18)
- private String cultureLevel;
-
- /** 政治面貌 */
- @ApiModelProperty(value = "政治面貌", position = 19)
- private String politicalOutlook;
-
- /** 毕业院校 */
- @ApiModelProperty(value = "毕业院校", position = 20)
- private String college;
-
- /** 学历 */
- @ApiModelProperty(value = "学历", position = 21)
- private String education;
-
- /** 学制 */
- @ApiModelProperty(value = "学制", position = 22)
- private String eduLength;
-
- /** 学位 */
- @ApiModelProperty(value = "学位", position = 23)
- private String degree;
-
- /** 手机 */
- @ApiModelProperty(value = "手机", position = 24)
- private String phone;
-
- /** 邮箱 */
- @ApiModelProperty(value = "邮箱", position = 25)
- private String email;
-
- /** 家庭电话 */
- @ApiModelProperty(value = "家庭电话", position = 26)
- private String homeTel;
-
- /** 办公电话 */
- @ApiModelProperty(value = "办公电话", position = 27)
- private String officeTel;
-
- /** 紧急联系人 */
- @ApiModelProperty(value = "紧急联系人", position = 28)
- private String emergencyContact;
-
- /** 紧急联系人电话 */
- @ApiModelProperty(value = "紧急联系人电话", position = 29)
- private String emergencyPhone;
-
- /** 紧急联系人地址 */
- @ApiModelProperty(value = "紧急联系人地址", position = 30)
- private String emergencyAddress;
-
- /** 员工编号 */
- @ApiModelProperty(value = "员工编号", position = 31)
- private String empNo;
-
- /** 入职日期 */
- @ApiModelProperty(value = "入职日期", position = 32)
- private String entryDate;
-
- /** 机构id */
- @ApiModelProperty(value = "机构id", position = 33)
- private String orgId;
-
- /** 岗位id */
- @ApiModelProperty(value = "岗位id", position = 34)
- private String positionId;
-
- /** 岗级 */
- @ApiModelProperty(value = "岗级", position = 35)
- private String positionLevel;
-
- /** 主管id */
- @ApiModelProperty(value = "主管id", position = 36)
- private String directorId;
-
- /** 上次登录ip */
- @ApiModelProperty(value = "上次登录ip", position = 37)
- private String lastLoginIp;
-
- /** 上次登录地点 */
- @ApiModelProperty(value = "上次登录地点", position = 38)
- private String lastLoginAddress;
-
- /** 上次登录时间 */
- @ApiModelProperty(value = "上次登录时间", position = 39)
- private Date lastLoginTime;
-
- /** 上次登录设备 */
- @ApiModelProperty(value = "上次登录设备", position = 40)
- private String lastLoginDevice;
-
- /** 最新登录ip */
- @ApiModelProperty(value = "最新登录ip", position = 41)
- private String latestLoginIp;
-
- /** 最新登录地点 */
- @ApiModelProperty(value = "最新登录地点", position = 42)
- private String latestLoginAddress;
-
- /** 最新登录时间 */
- @ApiModelProperty(value = "最新登录时间", position = 43)
- private Date latestLoginTime;
-
- /** 最新登录设备 */
- @ApiModelProperty(value = "最新登录设备", position = 44)
- private String latestLoginDevice;
-
- /** 用户状态 */
- @ApiModelProperty(value = "用户状态", position = 45)
- private String userStatus;
-
- /** 排序码 */
- @ApiModelProperty(value = "排序码", position = 46)
- private Integer sortCode;
-
- /** 扩展信息 */
- @ApiModelProperty(value = "扩展信息", position = 47)
- private String extJson;
-
- /* ====额外的字段==== */
-
- /** 机构名称 */
- @ApiModelProperty(value = "机构名称", position = 48)
- private String orgName;
-
- /** 岗位名称 */
- @ApiModelProperty(value = "岗位名称", position = 49)
- private String positionName;
-
- /** 主管名称 */
- @ApiModelProperty(value = "主管名称", position = 50)
- private String directorName;
-}
diff --git a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/service/BizUserService.java b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/service/BizUserService.java
index 3916271b..45ca085d 100644
--- a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/service/BizUserService.java
+++ b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/service/BizUserService.java
@@ -20,7 +20,6 @@ import vip.xiaonuo.biz.modular.org.entity.BizOrg;
import vip.xiaonuo.biz.modular.position.entity.BizPosition;
import vip.xiaonuo.biz.modular.user.entity.BizUser;
import vip.xiaonuo.biz.modular.user.param.*;
-import vip.xiaonuo.biz.modular.user.result.BizUserResult;
import vip.xiaonuo.biz.modular.user.result.BizUserRoleResult;
import javax.servlet.http.HttpServletResponse;
@@ -41,7 +40,7 @@ public interface BizUserService extends IService {
* @author xuyuxiang
* @date 2022/4/24 20:08
*/
- Page page(BizUserPageParam bizUserPageParam);
+ Page page(BizUserPageParam bizUserPageParam);
/**
* 添加人员
diff --git a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/service/impl/BizUserServiceImpl.java b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/service/impl/BizUserServiceImpl.java
index 8a24241f..b71a600d 100644
--- a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/service/impl/BizUserServiceImpl.java
+++ b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/service/impl/BizUserServiceImpl.java
@@ -48,7 +48,6 @@ import vip.xiaonuo.biz.modular.user.enums.BizUserStatusEnum;
import vip.xiaonuo.biz.modular.user.mapper.BizUserMapper;
import vip.xiaonuo.biz.modular.user.param.*;
import vip.xiaonuo.biz.modular.user.result.BizUserExportResult;
-import vip.xiaonuo.biz.modular.user.result.BizUserResult;
import vip.xiaonuo.biz.modular.user.result.BizUserRoleResult;
import vip.xiaonuo.biz.modular.user.service.BizUserService;
import vip.xiaonuo.common.enums.CommonSortOrderEnum;
@@ -95,54 +94,41 @@ public class BizUserServiceImpl extends ServiceImpl impl
private BizPositionService bizPositionService;
@Override
- public Page page(BizUserPageParam bizUserPageParam) {
- QueryWrapper queryWrapper = new QueryWrapper<>();
- if(ObjectUtil.isNotEmpty(bizUserPageParam.getSearchKey())) {
- queryWrapper.and(q -> q.like("SYS_USER.ACCOUNT", bizUserPageParam.getSearchKey())
- .or().like("SYS_USER.NAME", bizUserPageParam.getSearchKey())
- .or().like("SYS_USER.PHONE", bizUserPageParam.getSearchKey()));
+ public Page page(BizUserPageParam bizUserPageParam) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ if (ObjectUtil.isNotEmpty(bizUserPageParam.getSearchKey())) {
+ queryWrapper.lambda().like(BizUser::getAccount, bizUserPageParam.getSearchKey()).or()
+ .like(BizUser::getName, bizUserPageParam.getSearchKey());
}
- if(ObjectUtil.isNotEmpty(bizUserPageParam.getUserStatus())) {
- queryWrapper.eq("SYS_USER.USER_STATUS", bizUserPageParam.getUserStatus());
+ if (ObjectUtil.isNotEmpty(bizUserPageParam.getOrgId())) {
+ queryWrapper.lambda().eq(BizUser::getOrgId, bizUserPageParam.getOrgId());
}
- if(ObjectUtil.isNotEmpty(bizUserPageParam.getOrgId())) {
- queryWrapper.eq("SYS_USER.ORG_ID", bizUserPageParam.getOrgId());
+ if (ObjectUtil.isNotEmpty(bizUserPageParam.getUserStatus())) {
+ queryWrapper.lambda().eq(BizUser::getUserStatus, bizUserPageParam.getUserStatus());
}
- if(ObjectUtil.isAllNotEmpty(bizUserPageParam.getSortField(), bizUserPageParam.getSortOrder())) {
+ if (ObjectUtil.isAllNotEmpty(bizUserPageParam.getSortField(), bizUserPageParam.getSortOrder())) {
CommonSortOrderEnum.validate(bizUserPageParam.getSortOrder());
queryWrapper.orderBy(true, bizUserPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
- StrUtil.toUnderlineCase("SYS_USER." + bizUserPageParam.getSortField()));
+ StrUtil.toUnderlineCase(bizUserPageParam.getSortField()));
} else {
- queryWrapper.orderByAsc("SYS_USER.SORT_CODE");
+ queryWrapper.lambda().orderByAsc(BizUser::getSortCode);
}
// 排除超管
- queryWrapper.ne("SYS_USER.ID", "-1");
+ queryWrapper.lambda().ne(BizUser::getAccount, BizBuildInEnum.BUILD_IN_USER_ACCOUNT.getValue());
// 校验数据范围
List loginUserDataScope = StpLoginUserUtil.getLoginUserDataScope();
if(ObjectUtil.isNotEmpty(loginUserDataScope)) {
- queryWrapper.in("SYS_USER.ORG_ID", loginUserDataScope);
+ queryWrapper.lambda().in(BizUser::getOrgId, loginUserDataScope);
} else {
- queryWrapper.eq("SYS_USER.ID", StpUtil.getLoginIdAsString());
+ queryWrapper.lambda().eq(BizUser::getId, StpUtil.getLoginIdAsString());
}
- return this.baseMapper.page(CommonPageRequest.defaultPage(), queryWrapper);
+ return this.page(CommonPageRequest.defaultPage(), queryWrapper);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void add(BizUserAddParam bizUserAddParam) {
checkParam(bizUserAddParam);
- // 设置手机号
- if(ObjectUtil.isNotEmpty(bizUserAddParam.getPhone())) {
- bizUserAddParam.setPhone(CommonCryptogramUtil.doSm4CbcEncrypt(bizUserAddParam.getPhone()));
- }
- // 设置证件号
- if(ObjectUtil.isNotEmpty(bizUserAddParam.getIdCardNumber())) {
- bizUserAddParam.setIdCardNumber(CommonCryptogramUtil.doSm4CbcEncrypt(bizUserAddParam.getIdCardNumber()));
- }
- // 设置紧急联系人电话
- if(ObjectUtil.isNotEmpty(bizUserAddParam.getEmergencyPhone())) {
- bizUserAddParam.setEmergencyPhone(CommonCryptogramUtil.doSm4CbcEncrypt(bizUserAddParam.getEmergencyPhone()));
- }
BizUser bizUser = BeanUtil.toBean(bizUserAddParam, BizUser.class);
if(ObjectUtil.isEmpty(bizUser.getAvatar())) {
// 设置默认头像
@@ -194,17 +180,10 @@ public class BizUserServiceImpl extends ServiceImpl impl
public void edit(BizUserEditParam bizUserEditParam) {
BizUser bizUser = this.queryEntity(bizUserEditParam.getId());
checkParam(bizUserEditParam);
- // 设置手机号
- if(ObjectUtil.isNotEmpty(bizUserEditParam.getPhone())) {
- bizUserEditParam.setPhone(CommonCryptogramUtil.doSm4CbcEncrypt(bizUserEditParam.getPhone()));
- }
- // 设置证件号
- if(ObjectUtil.isNotEmpty(bizUserEditParam.getIdCardNumber())) {
- bizUserEditParam.setIdCardNumber(CommonCryptogramUtil.doSm4CbcEncrypt(bizUserEditParam.getIdCardNumber()));
- }
- // 设置紧急联系人电话
- if(ObjectUtil.isNotEmpty(bizUserEditParam.getEmergencyPhone())) {
- bizUserEditParam.setEmergencyPhone(CommonCryptogramUtil.doSm4CbcEncrypt(bizUserEditParam.getEmergencyPhone()));
+ boolean updateSuperAdminAccount = bizUser.getAccount().equals(BizBuildInEnum.BUILD_IN_USER_ACCOUNT.getValue()) &&
+ !bizUserEditParam.getAccount().equals(BizBuildInEnum.BUILD_IN_USER_ACCOUNT.getValue());
+ if(updateSuperAdminAccount) {
+ throw new CommonException("不可修改系统内置超管用户账号");
}
BeanUtil.copyProperties(bizUserEditParam, bizUser);
this.updateById(bizUser);
@@ -389,20 +368,20 @@ public class BizUserServiceImpl extends ServiceImpl impl
public void exportUser(BizUserExportParam bizUserExportParam, HttpServletResponse response) throws IOException {
File tempFile = null;
try {
- QueryWrapper queryWrapper = new QueryWrapper<>();
+ QueryWrapper queryWrapper = new QueryWrapper<>();
if(ObjectUtil.isNotEmpty(bizUserExportParam.getSearchKey())) {
- queryWrapper.and(q -> q.like("SYS_USER.ACCOUNT", bizUserExportParam.getSearchKey())
- .or().like("SYS_USER.NAME", bizUserExportParam.getSearchKey())
- .or().like("SYS_USER.PHONE", bizUserExportParam.getSearchKey()));
+ queryWrapper.lambda().like(BizUser::getAccount, bizUserExportParam.getSearchKey()).or()
+ .like(BizUser::getName, bizUserExportParam.getSearchKey());
}
if(ObjectUtil.isNotEmpty(bizUserExportParam.getUserStatus())) {
- queryWrapper.eq("SYS_USER.STATUS", bizUserExportParam.getUserStatus());
+ queryWrapper.lambda().eq(BizUser::getUserStatus, bizUserExportParam.getUserStatus());
}
String fileName = "SNOWY2.0系统B端人员信息清单";
- List bizUserExportResultList = this.baseMapper.exportList(queryWrapper).stream().peek(sysUserExportResult -> {
- if(ObjectUtil.isNotEmpty(sysUserExportResult.getAvatar())) {
- sysUserExportResult.setAvatarByte(ImgUtil.toBytes(ImgUtil.toImage(StrUtil
- .split(sysUserExportResult.getAvatar(), StrUtil.COMMA).get(1)), ImgUtil.IMAGE_TYPE_PNG));
+ List bizUserExportResultList =this.list(queryWrapper).stream()
+ .map(bizUser -> BeanUtil.copyProperties(bizUser, BizUserExportResult.class)).peek(bizUserExportResult -> {
+ if (ObjectUtil.isNotEmpty(bizUserExportResult.getAvatar())) {
+ bizUserExportResult.setAvatarByte(ImgUtil.toBytes(ImgUtil.toImage(StrUtil
+ .split(bizUserExportResult.getAvatar(), StrUtil.COMMA).get(1)), ImgUtil.IMAGE_TYPE_PNG));
}
}).collect(Collectors.toList());
Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(fileName, "B端人员"),
diff --git a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/wrapper/BizUserResultWrapperImpl.java b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/wrapper/BizUserResultWrapperImpl.java
deleted file mode 100644
index b3f56a83..00000000
--- a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/wrapper/BizUserResultWrapperImpl.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.biz.modular.user.wrapper;
-
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import vip.xiaonuo.biz.modular.user.result.BizUserResult;
-import vip.xiaonuo.common.pojo.CommonWrapperInterface;
-import vip.xiaonuo.common.util.CommonCryptogramUtil;
-
-/**
- * BizUserResult类型的包装实现类
- *
- * @author xuyuxiang
- * @date 2022/9/15 21:42
- */
-public class BizUserResultWrapperImpl implements CommonWrapperInterface {
-
- /**
- * 对手机号和证件号码进行解密
- *
- * @author xuyuxiang
- * @date 2022/9/15 21:45
- */
- @Override
- public JSONObject doWrap(BizUserResult bizUserResult) {
- String phone = bizUserResult.getPhone();
- if(ObjectUtil.isNotEmpty(phone)) {
- bizUserResult.setPhone(CommonCryptogramUtil.doSm4CbcDecrypt(phone));
- }
- String idCardNumber = bizUserResult.getIdCardNumber();
- if(ObjectUtil.isNotEmpty(idCardNumber)) {
- bizUserResult.setIdCardNumber(CommonCryptogramUtil.doSm4CbcDecrypt(idCardNumber));
- }
- String emergencyPhone = bizUserResult.getEmergencyPhone();
- if(ObjectUtil.isNotEmpty(emergencyPhone)) {
- bizUserResult.setEmergencyPhone(CommonCryptogramUtil.doSm4CbcDecrypt(emergencyPhone));
- }
- return JSONUtil.parseObj(bizUserResult);
- }
-}
diff --git a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/wrapper/BizUserWrapperImpl.java b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/wrapper/BizUserWrapperImpl.java
deleted file mode 100644
index a70ed94b..00000000
--- a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/wrapper/BizUserWrapperImpl.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.biz.modular.user.wrapper;
-
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import vip.xiaonuo.biz.modular.user.entity.BizUser;
-import vip.xiaonuo.common.pojo.CommonWrapperInterface;
-import vip.xiaonuo.common.util.CommonCryptogramUtil;
-
-/**
- * SysUser类型的包装实现类
- *
- * @author xuyuxiang
- * @date 2022/9/15 21:42
- */
-public class BizUserWrapperImpl implements CommonWrapperInterface {
-
- /**
- * 对手机号和证件号码进行解密
- *
- * @author xuyuxiang
- * @date 2022/9/15 21:45
- */
- @Override
- public JSONObject doWrap(BizUser bizUser) {
- String phone = bizUser.getPhone();
- if(ObjectUtil.isNotEmpty(phone)) {
- bizUser.setPhone(CommonCryptogramUtil.doSm4CbcDecrypt(phone));
- }
- String idCardNumber = bizUser.getIdCardNumber();
- if(ObjectUtil.isNotEmpty(idCardNumber)) {
- bizUser.setIdCardNumber(CommonCryptogramUtil.doSm4CbcDecrypt(idCardNumber));
- }
- String emergencyPhone = bizUser.getEmergencyPhone();
- if(ObjectUtil.isNotEmpty(emergencyPhone)) {
- bizUser.setEmergencyPhone(CommonCryptogramUtil.doSm4CbcDecrypt(emergencyPhone));
- }
- return JSONUtil.parseObj(bizUser);
- }
-}
diff --git a/snowy-plugin/snowy-plugin-client/src/main/java/vip/xiaonuo/client/modular/user/controller/ClientUserController.java b/snowy-plugin/snowy-plugin-client/src/main/java/vip/xiaonuo/client/modular/user/controller/ClientUserController.java
index 67f9b201..e2540d15 100644
--- a/snowy-plugin/snowy-plugin-client/src/main/java/vip/xiaonuo/client/modular/user/controller/ClientUserController.java
+++ b/snowy-plugin/snowy-plugin-client/src/main/java/vip/xiaonuo/client/modular/user/controller/ClientUserController.java
@@ -28,9 +28,7 @@ import vip.xiaonuo.client.modular.user.param.ClientUserEditParam;
import vip.xiaonuo.client.modular.user.param.ClientUserIdParam;
import vip.xiaonuo.client.modular.user.param.ClientUserPageParam;
import vip.xiaonuo.client.modular.user.service.ClientUserService;
-import vip.xiaonuo.client.modular.user.wrapper.ClientUserWrapperImpl;
import vip.xiaonuo.common.annotation.CommonLog;
-import vip.xiaonuo.common.annotation.CommonWrapper;
import vip.xiaonuo.common.pojo.CommonResult;
import vip.xiaonuo.common.pojo.CommonValidList;
@@ -61,7 +59,6 @@ public class ClientUserController {
*/
@ApiOperationSupport(order = 1)
@ApiOperation("获取C端用户分页")
- @CommonWrapper(ClientUserWrapperImpl.class)
@GetMapping("/client/user/page")
public CommonResult> page(ClientUserPageParam clientUserPageParam) {
return CommonResult.data(clientUserService.page(clientUserPageParam));
@@ -121,7 +118,6 @@ public class ClientUserController {
*/
@ApiOperationSupport(order = 5)
@ApiOperation("获取C端用户详情")
- @CommonWrapper(ClientUserWrapperImpl.class)
@GetMapping("/client/user/detail")
public CommonResult detail(@Valid ClientUserIdParam clientUserIdParam) {
return CommonResult.data(clientUserService.detail(clientUserIdParam));
diff --git a/snowy-plugin/snowy-plugin-client/src/main/java/vip/xiaonuo/client/modular/user/entity/ClientUser.java b/snowy-plugin/snowy-plugin-client/src/main/java/vip/xiaonuo/client/modular/user/entity/ClientUser.java
index 79b88a40..05ba01c7 100644
--- a/snowy-plugin/snowy-plugin-client/src/main/java/vip/xiaonuo/client/modular/user/entity/ClientUser.java
+++ b/snowy-plugin/snowy-plugin-client/src/main/java/vip/xiaonuo/client/modular/user/entity/ClientUser.java
@@ -18,6 +18,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
+import vip.xiaonuo.common.handler.CommonSm4CbcTypeHandler;
import vip.xiaonuo.common.pojo.CommonEntity;
import java.util.Date;
@@ -106,7 +107,7 @@ public class ClientUser extends CommonEntity {
/** 证件号码 */
@ApiModelProperty(value = "证件号码", position = 16)
- @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
+ @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED, typeHandler = CommonSm4CbcTypeHandler.class)
private String idCardNumber;
/** 文化程度 */
@@ -141,7 +142,7 @@ public class ClientUser extends CommonEntity {
/** 手机 */
@ApiModelProperty(value = "手机", position = 23)
- @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
+ @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED, typeHandler = CommonSm4CbcTypeHandler.class)
private String phone;
/** 邮箱 */
@@ -166,7 +167,7 @@ public class ClientUser extends CommonEntity {
/** 紧急联系人电话 */
@ApiModelProperty(value = "紧急联系人电话", position = 28)
- @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
+ @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED, typeHandler = CommonSm4CbcTypeHandler.class)
private String emergencyPhone;
/** 紧急联系人地址 */
diff --git a/snowy-plugin/snowy-plugin-client/src/main/java/vip/xiaonuo/client/modular/user/wrapper/ClientUserWrapperImpl.java b/snowy-plugin/snowy-plugin-client/src/main/java/vip/xiaonuo/client/modular/user/wrapper/ClientUserWrapperImpl.java
deleted file mode 100644
index 0231ea5d..00000000
--- a/snowy-plugin/snowy-plugin-client/src/main/java/vip/xiaonuo/client/modular/user/wrapper/ClientUserWrapperImpl.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.client.modular.user.wrapper;
-
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import vip.xiaonuo.client.modular.user.entity.ClientUser;
-import vip.xiaonuo.common.pojo.CommonWrapperInterface;
-import vip.xiaonuo.common.util.CommonCryptogramUtil;
-
-/**
- * ClientUser类型的包装实现类
- *
- * @author xuyuxiang
- * @date 2022/9/15 21:42
- */
-public class ClientUserWrapperImpl implements CommonWrapperInterface {
-
- /**
- * 对手机号和证件号码进行解密
- *
- * @author xuyuxiang
- * @date 2022/9/15 21:45
- */
- @Override
- public JSONObject doWrap(ClientUser clientUser) {
- String phone = clientUser.getPhone();
- if(ObjectUtil.isNotEmpty(phone)) {
- clientUser.setPhone(CommonCryptogramUtil.doSm4CbcDecrypt(phone));
- }
- String idCardNumber = clientUser.getIdCardNumber();
- if(ObjectUtil.isNotEmpty(idCardNumber)) {
- clientUser.setIdCardNumber(CommonCryptogramUtil.doSm4CbcDecrypt(idCardNumber));
- }
- String emergencyPhone = clientUser.getEmergencyPhone();
- if(ObjectUtil.isNotEmpty(emergencyPhone)) {
- clientUser.setEmergencyPhone(CommonCryptogramUtil.doSm4CbcDecrypt(emergencyPhone));
- }
- return JSONUtil.parseObj(clientUser);
- }
-}
diff --git a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/service/impl/DevDictServiceImpl.java b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/service/impl/DevDictServiceImpl.java
index ddb33471..673a4aae 100644
--- a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/service/impl/DevDictServiceImpl.java
+++ b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/service/impl/DevDictServiceImpl.java
@@ -37,7 +37,6 @@ import vip.xiaonuo.dev.modular.dict.param.*;
import vip.xiaonuo.dev.modular.dict.service.DevDictService;
import javax.annotation.Resource;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
@@ -193,33 +192,28 @@ public class DevDictServiceImpl extends ServiceImpl impl
}
@Override
- public void afterPropertiesSet() throws Exception {
+ public void afterPropertiesSet() {
refreshTransCache();
}
private void refreshTransCache() {
// 异步不阻塞主线程,不会 增加启动用时
- CompletableFuture.supplyAsync(()->{
+ CompletableFuture.supplyAsync(() -> {
// 使用redis能解决共享问题,但是性能没有直接取缓存的好。
dictionaryTransService.makeUseRedis();
- List devDicts = super.list(new LambdaQueryWrapper());
+ List devDictList = super.list(new LambdaQueryWrapper<>());
// 非root级别的字典根据ParentId分组
- Map> devDictGroupByPIDMap = devDicts.stream().filter(dict -> {
- return !ROOT_PARENT_ID.equals(dict.getParentId());
- }).collect(Collectors.groupingBy(DevDict::getParentId));
- Map parentDictIdValMap = devDicts.stream().filter(dict -> {
- return ROOT_PARENT_ID.equals(dict.getParentId());
- }).collect(Collectors.toMap(DevDict::getId,DevDict::getDictValue));
+ Map> devDictGroupByPIDMap = devDictList.stream().filter(dict -> !ROOT_PARENT_ID
+ .equals(dict.getParentId())).collect(Collectors.groupingBy(DevDict::getParentId));
+ Map parentDictIdValMap = devDictList.stream().filter(dict -> ROOT_PARENT_ID
+ .equals(dict.getParentId())).collect(Collectors.toMap(DevDict::getId, DevDict::getDictValue));
for (String parentId : parentDictIdValMap.keySet()) {
if(devDictGroupByPIDMap.containsKey(parentId)){
- dictionaryTransService.refreshCache(parentDictIdValMap.get(parentId),devDictGroupByPIDMap.get(parentId).stream()
- .collect(Collectors.toMap(DevDict::getDictValue,DevDict::getDictLabel)));
+ dictionaryTransService.refreshCache(parentDictIdValMap.get(parentId), devDictGroupByPIDMap.get(parentId).stream()
+ .collect(Collectors.toMap(DevDict::getDictValue, DevDict::getDictLabel)));
}
-
}
return null;
});
-
-
}
}
diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/service/impl/SysOrgServiceImpl.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/service/impl/SysOrgServiceImpl.java
index 9c2125a4..0922675d 100644
--- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/service/impl/SysOrgServiceImpl.java
+++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/service/impl/SysOrgServiceImpl.java
@@ -40,7 +40,6 @@ import vip.xiaonuo.sys.modular.org.service.SysOrgService;
import vip.xiaonuo.sys.modular.position.entity.SysPosition;
import vip.xiaonuo.sys.modular.position.service.SysPositionService;
import vip.xiaonuo.sys.modular.role.entity.SysRole;
-import vip.xiaonuo.sys.modular.role.enums.SysRoleCategoryEnum;
import vip.xiaonuo.sys.modular.role.service.SysRoleService;
import vip.xiaonuo.sys.modular.user.entity.SysUser;
import vip.xiaonuo.sys.modular.user.service.SysUserService;
diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleServiceImpl.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleServiceImpl.java
index d1bd3c0f..b0e7c2b8 100644
--- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleServiceImpl.java
+++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleServiceImpl.java
@@ -45,7 +45,6 @@ import vip.xiaonuo.sys.modular.relation.entity.SysRelation;
import vip.xiaonuo.sys.modular.relation.enums.SysRelationCategoryEnum;
import vip.xiaonuo.sys.modular.relation.service.SysRelationService;
import vip.xiaonuo.sys.modular.resource.entity.SysMenu;
-import vip.xiaonuo.sys.modular.resource.entity.SysSpa;
import vip.xiaonuo.sys.modular.resource.enums.SysResourceCategoryEnum;
import vip.xiaonuo.sys.modular.resource.service.SysMenuService;
import vip.xiaonuo.sys.modular.role.entity.SysRole;
diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/controller/SysUserController.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/controller/SysUserController.java
index f09bd485..4448d290 100644
--- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/controller/SysUserController.java
+++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/controller/SysUserController.java
@@ -19,13 +19,11 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import vip.xiaonuo.common.annotation.CommonLog;
-import vip.xiaonuo.common.annotation.CommonWrapper;
import vip.xiaonuo.common.pojo.CommonResult;
import vip.xiaonuo.common.pojo.CommonValidList;
import vip.xiaonuo.sys.modular.org.entity.SysOrg;
@@ -33,10 +31,7 @@ import vip.xiaonuo.sys.modular.position.entity.SysPosition;
import vip.xiaonuo.sys.modular.role.entity.SysRole;
import vip.xiaonuo.sys.modular.user.entity.SysUser;
import vip.xiaonuo.sys.modular.user.param.*;
-import vip.xiaonuo.sys.modular.user.result.SysUserResult;
import vip.xiaonuo.sys.modular.user.service.SysUserService;
-import vip.xiaonuo.sys.modular.user.wrapper.SysUserResultWrapperImpl;
-import vip.xiaonuo.sys.modular.user.wrapper.SysUserWrapperImpl;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
@@ -128,7 +123,6 @@ public class SysUserController {
*/
@ApiOperationSupport(order = 5)
@ApiOperation("获取用户详情")
- @CommonWrapper(SysUserWrapperImpl.class)
@GetMapping("/sys/user/detail")
public CommonResult detail(@Valid SysUserIdParam sysUserIdParam) {
return CommonResult.data(sysUserService.detail(sysUserIdParam));
diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/entity/SysUser.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/entity/SysUser.java
index d78580f1..730eaf74 100644
--- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/entity/SysUser.java
+++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/entity/SysUser.java
@@ -22,7 +22,7 @@ import com.fhs.core.trans.vo.TransPojo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
-import vip.xiaonuo.common.handler.Sm4CbcTypeHandler;
+import vip.xiaonuo.common.handler.CommonSm4CbcTypeHandler;
import vip.xiaonuo.common.pojo.CommonEntity;
import vip.xiaonuo.sys.modular.org.entity.SysOrg;
import vip.xiaonuo.sys.modular.position.entity.SysPosition;
@@ -37,7 +37,7 @@ import java.util.Date;
**/
@Getter
@Setter
-@TableName(value = "SYS_USER",autoResultMap = true)
+@TableName(value = "SYS_USER", autoResultMap = true)
public class SysUser extends CommonEntity implements TransPojo {
/** id */
@@ -115,7 +115,7 @@ public class SysUser extends CommonEntity implements TransPojo {
/** 证件号码 */
@ApiModelProperty(value = "证件号码", position = 16)
- @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED,typeHandler = Sm4CbcTypeHandler.class)
+ @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED, typeHandler = CommonSm4CbcTypeHandler.class)
private String idCardNumber;
/** 文化程度 */
@@ -150,7 +150,7 @@ public class SysUser extends CommonEntity implements TransPojo {
/** 手机 */
@ApiModelProperty(value = "手机", position = 23)
- @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED,typeHandler = Sm4CbcTypeHandler.class)
+ @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED, typeHandler = CommonSm4CbcTypeHandler.class)
private String phone;
/** 邮箱 */
@@ -175,7 +175,7 @@ public class SysUser extends CommonEntity implements TransPojo {
/** 紧急联系人电话 */
@ApiModelProperty(value = "紧急联系人电话", position = 28)
- @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED,typeHandler = Sm4CbcTypeHandler.class)
+ @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED, typeHandler = CommonSm4CbcTypeHandler.class)
private String emergencyPhone;
/** 紧急联系人地址 */
@@ -196,14 +196,13 @@ public class SysUser extends CommonEntity implements TransPojo {
/** 组织id */
@ApiModelProperty(value = "组织id", position = 32)
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
- @Trans(type=TransType.SIMPLE,target = SysOrg.class,fields = "name",alias = "org",ref = "orgName")
+ @Trans(type=TransType.SIMPLE, target = SysOrg.class, fields = "name", alias = "org", ref = "orgName")
private String orgId;
-
/** 职位id */
@ApiModelProperty(value = "职位id", position = 33)
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
- @Trans(type=TransType.SIMPLE,target = SysPosition.class,fields = "name",alias = "position",ref = "positionName")
+ @Trans(type=TransType.SIMPLE, target = SysPosition.class, fields = "name", alias = "position", ref = "positionName")
private String positionId;
/** 职级 */
@@ -214,7 +213,7 @@ public class SysUser extends CommonEntity implements TransPojo {
/** 主管id */
@ApiModelProperty(value = "主管id", position = 35)
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
- @Trans(type=TransType.SIMPLE,target = SysUser.class,fields = "name",alias = "director",ref = "directorName")
+ @Trans(type=TransType.SIMPLE, target = SysUser.class, fields = "name", alias = "director", ref = "directorName")
private String directorId;
/** 兼任信息 */
@@ -271,7 +270,7 @@ public class SysUser extends CommonEntity implements TransPojo {
@TableField(exist = false)
private String orgName;
- @ApiModelProperty(value = "组织名称", position = 49)
+ @ApiModelProperty(value = "职位名称", position = 49)
@TableField(exist = false)
private String positionName;
@@ -279,6 +278,4 @@ public class SysUser extends CommonEntity implements TransPojo {
@TableField(exist = false)
private String directorName;
-
-
}
diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/mapper/SysUserMapper.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/mapper/SysUserMapper.java
index 38c869c9..20d38c1c 100644
--- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/mapper/SysUserMapper.java
+++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/mapper/SysUserMapper.java
@@ -12,15 +12,8 @@
*/
package vip.xiaonuo.sys.modular.user.mapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import org.apache.ibatis.annotations.Param;
import vip.xiaonuo.sys.modular.user.entity.SysUser;
-import vip.xiaonuo.sys.modular.user.result.SysUserExportResult;
-import vip.xiaonuo.sys.modular.user.result.SysUserResult;
-
-import java.util.List;
/**
* 用户Mapper接口
@@ -30,5 +23,4 @@ import java.util.List;
**/
public interface SysUserMapper extends BaseMapper {
-
}
diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/mapper/mapping/SysUserMapper.xml b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/mapper/mapping/SysUserMapper.xml
index f0e32ae1..736e5a9c 100644
--- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/mapper/mapping/SysUserMapper.xml
+++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/mapper/mapping/SysUserMapper.xml
@@ -3,6 +3,4 @@
-
-
\ No newline at end of file
diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java
index 1acdb215..8cff959c 100644
--- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java
+++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java
@@ -188,23 +188,23 @@ public class SysUserServiceImpl extends ServiceImpl impl
public Page page(SysUserPageParam sysUserPageParam) {
QueryWrapper queryWrapper = new QueryWrapper<>();
if (ObjectUtil.isNotEmpty(sysUserPageParam.getSearchKey())) {
- queryWrapper.and(q -> q.like("ACCOUNT", sysUserPageParam.getSearchKey())
- .or().like("NAME", sysUserPageParam.getSearchKey()));
+ queryWrapper.lambda().like(SysUser::getAccount, sysUserPageParam.getSearchKey()).or()
+ .like(SysUser::getName, sysUserPageParam.getSearchKey());
}
if (ObjectUtil.isNotEmpty(sysUserPageParam.getOrgId())) {
- queryWrapper.eq("ORG_ID", sysUserPageParam.getOrgId());
+ queryWrapper.lambda().eq(SysUser::getOrgId, sysUserPageParam.getOrgId());
}
if (ObjectUtil.isNotEmpty(sysUserPageParam.getUserStatus())) {
- queryWrapper.eq("USER_STATUS", sysUserPageParam.getUserStatus());
+ queryWrapper.lambda().eq(SysUser::getUserStatus, sysUserPageParam.getUserStatus());
}
if (ObjectUtil.isAllNotEmpty(sysUserPageParam.getSortField(), sysUserPageParam.getSortOrder())) {
CommonSortOrderEnum.validate(sysUserPageParam.getSortOrder());
queryWrapper.orderBy(true, sysUserPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
StrUtil.toUnderlineCase(sysUserPageParam.getSortField()));
} else {
- queryWrapper.orderByAsc("SORT_CODE");
+ queryWrapper.lambda().orderByAsc(SysUser::getSortCode);
}
- return this.baseMapper.selectPage(CommonPageRequest.defaultPage(), queryWrapper);
+ return this.page(CommonPageRequest.defaultPage(), queryWrapper);
}
@Transactional(rollbackFor = Exception.class)
@@ -253,6 +253,11 @@ public class SysUserServiceImpl extends ServiceImpl impl
public void edit(SysUserEditParam sysUserEditParam) {
SysUser sysUser = this.queryEntity(sysUserEditParam.getId());
checkParam(sysUserEditParam);
+ boolean updateSuperAdminAccount = sysUser.getAccount().equals(SysBuildInEnum.BUILD_IN_USER_ACCOUNT.getValue()) &&
+ !sysUserEditParam.getAccount().equals(SysBuildInEnum.BUILD_IN_USER_ACCOUNT.getValue());
+ if(updateSuperAdminAccount) {
+ throw new CommonException("不可修改系统内置超管用户账号");
+ }
BeanUtil.copyProperties(sysUserEditParam, sysUser);
this.updateById(sysUser);
}
@@ -844,17 +849,15 @@ public class SysUserServiceImpl extends ServiceImpl impl
try {
QueryWrapper queryWrapper = new QueryWrapper<>();
if (ObjectUtil.isNotEmpty(sysUserExportParam.getSearchKey())) {
- queryWrapper.and(q -> q.like("ACCOUNT", sysUserExportParam.getSearchKey())
- .or().like("NAME", sysUserExportParam.getSearchKey())
- .or().like("PHONE", sysUserExportParam.getSearchKey()));
+ queryWrapper.lambda().like(SysUser::getAccount, sysUserExportParam.getSearchKey()).or()
+ .like(SysUser::getName, sysUserExportParam.getSearchKey());
}
if (ObjectUtil.isNotEmpty(sysUserExportParam.getUserStatus())) {
- queryWrapper.eq("STATUS", sysUserExportParam.getUserStatus());
+ queryWrapper.lambda().eq(SysUser::getUserStatus, sysUserExportParam.getUserStatus());
}
String fileName = "SNOWY2.0系统B端用户信息清单";
- List sysUserExportResultList = this.baseMapper.selectList(queryWrapper).stream().map(sysUser -> {
- return BeanUtil.copyProperties(sysUser, SysUserExportResult.class);
- }).peek(sysUserExportResult -> {
+ List sysUserExportResultList = this.list(queryWrapper).stream()
+ .map(sysUser -> BeanUtil.copyProperties(sysUser, SysUserExportResult.class)).peek(sysUserExportResult -> {
if (ObjectUtil.isNotEmpty(sysUserExportResult.getAvatar())) {
sysUserExportResult.setAvatarByte(ImgUtil.toBytes(ImgUtil.toImage(StrUtil
.split(sysUserExportResult.getAvatar(), StrUtil.COMMA).get(1)), ImgUtil.IMAGE_TYPE_PNG));
diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/wrapper/SysUserResultWrapperImpl.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/wrapper/SysUserResultWrapperImpl.java
deleted file mode 100644
index da803b88..00000000
--- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/wrapper/SysUserResultWrapperImpl.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.sys.modular.user.wrapper;
-
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import vip.xiaonuo.common.pojo.CommonWrapperInterface;
-import vip.xiaonuo.common.util.CommonCryptogramUtil;
-import vip.xiaonuo.sys.modular.user.result.SysUserResult;
-
-/**
- * SysUserResult类型的包装实现类
- *
- * @author xuyuxiang
- * @date 2022/9/15 21:42
- */
-public class SysUserResultWrapperImpl implements CommonWrapperInterface {
-
- /**
- * 对手机号和证件号码进行解密
- *
- * @author xuyuxiang
- * @date 2022/9/15 21:45
- */
- @Override
- public JSONObject doWrap(SysUserResult sysUserResult) {
- String phone = sysUserResult.getPhone();
- if(ObjectUtil.isNotEmpty(phone)) {
- sysUserResult.setPhone(CommonCryptogramUtil.doSm4CbcDecrypt(phone));
- }
- String idCardNumber = sysUserResult.getIdCardNumber();
- if(ObjectUtil.isNotEmpty(idCardNumber)) {
- sysUserResult.setIdCardNumber(CommonCryptogramUtil.doSm4CbcDecrypt(idCardNumber));
- }
- String emergencyPhone = sysUserResult.getEmergencyPhone();
- if(ObjectUtil.isNotEmpty(emergencyPhone)) {
- sysUserResult.setEmergencyPhone(CommonCryptogramUtil.doSm4CbcDecrypt(emergencyPhone));
- }
- return JSONUtil.parseObj(sysUserResult);
- }
-}
diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/wrapper/SysUserWrapperImpl.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/wrapper/SysUserWrapperImpl.java
deleted file mode 100644
index 32bd4f92..00000000
--- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/wrapper/SysUserWrapperImpl.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.sys.modular.user.wrapper;
-
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import vip.xiaonuo.common.pojo.CommonWrapperInterface;
-import vip.xiaonuo.common.util.CommonCryptogramUtil;
-import vip.xiaonuo.sys.modular.user.entity.SysUser;
-
-/**
- * SysUser类型的包装实现类
- *
- * @author xuyuxiang
- * @date 2022/9/15 21:42
- */
-public class SysUserWrapperImpl implements CommonWrapperInterface {
-
- /**
- * 对手机号和证件号码进行解密
- *
- * @author xuyuxiang
- * @date 2022/9/15 21:45
- */
- @Override
- public JSONObject doWrap(SysUser sysUser) {
- String phone = sysUser.getPhone();
- if(ObjectUtil.isNotEmpty(phone)) {
- sysUser.setPhone(CommonCryptogramUtil.doSm4CbcDecrypt(phone));
- }
- String idCardNumber = sysUser.getIdCardNumber();
- if(ObjectUtil.isNotEmpty(idCardNumber)) {
- sysUser.setIdCardNumber(CommonCryptogramUtil.doSm4CbcDecrypt(idCardNumber));
- }
- String emergencyPhone = sysUser.getEmergencyPhone();
- if(ObjectUtil.isNotEmpty(emergencyPhone)) {
- sysUser.setEmergencyPhone(CommonCryptogramUtil.doSm4CbcDecrypt(emergencyPhone));
- }
- return JSONUtil.parseObj(sysUser);
- }
-}
diff --git a/snowy-web-app/src/main/resources/application.properties b/snowy-web-app/src/main/resources/application.properties
index 67c09233..fd10f8fe 100644
--- a/snowy-web-app/src/main/resources/application.properties
+++ b/snowy-web-app/src/main/resources/application.properties
@@ -96,6 +96,14 @@ mybatis-plus.global-config.db-config.logic-delete-value=DELETED
mybatis-plus.global-config.db-config.logic-not-delete-value=NOT_DELETE
mybatis-plus.mapper-locations=classpath*:vip/xiaonuo/**/mapping/*.xml
mybatis-plus.type-handlers-package=vip.xiaonuo.common.handler
+
+#########################################
+# easy-trans configuration
+#########################################
+easy-trans.is-enable-redis=true
+easy-trans.is-enable-global=true
+easy-trans.is-enable-tile=true
+
#########################################
# sa-token configuration
#########################################
@@ -104,6 +112,7 @@ sa-token.timeout=2592000
sa-token.activity-timeout=-1
sa-token.is-concurrent=true
sa-token.is-share=false
+sa-token.max-login-count=-1
sa-token.token-style=random-32
sa-token.is-log=false
sa-token.is-print=false
@@ -119,13 +128,6 @@ sa-token.alone-redis.lettuce.pool.max-wait=${spring.redis.lettuce.pool.max-wait}
sa-token.alone-redis.lettuce.pool.max-idle=${spring.redis.lettuce.pool.max-idle}
sa-token.alone-redis.lettuce.pool.min-idle=${spring.redis.lettuce.pool.min-idle}
-#########################################
-# easy-trans configuration
-#########################################
-easy-trans.is-enable-redis=true
-easy-trans.is-enable-global=true
-easy-trans.is-enable-tile=true
-
#########################################
# knife4j configuration
#########################################