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 #########################################