From e66e8591dd62f3d2779221a39bbfbb0af09ed766 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E7=8E=89=E7=A5=A5?= Date: Tue, 26 Dec 2023 21:12:52 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E5=A4=8D=E3=80=91=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E4=BF=AE=E5=A4=8Dbug=E8=8B=A5=E5=B9=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xiaonuo/common/cache/CommonCacheOperator.java | 7 +++++++ .../config/controller/DevConfigController.java | 5 +---- .../modular/config/service/DevConfigService.java | 8 ++++++++ .../config/service/impl/DevConfigServiceImpl.java | 15 +++++++++------ .../job/service/impl/DevJobServiceImpl.java | 5 ++++- .../sys/modular/org/mapper/SysOrgMapper.java | 12 ++++++++++++ .../modular/org/mapper/mapping/SysOrgMapper.xml | 4 +++- .../position/mapper/SysPositionMapper.java | 12 ++++++++++++ .../position/mapper/mapping/SysPositionMapper.xml | 4 +++- .../modular/resource/mapper/SysButtonMapper.java | 12 ++++++++++++ .../modular/resource/mapper/SysMenuMapper.java | 12 ++++++++++++ .../modular/resource/mapper/SysModuleMapper.java | 13 +++++++++++++ .../resource/mapper/mapping/SysButtonMapper.xml | 4 +++- .../resource/mapper/mapping/SysMenuMapper.xml | 4 +++- .../resource/mapper/mapping/SysModuleMapper.xml | 4 +++- .../sys/modular/role/mapper/SysRoleMapper.java | 12 ++++++++++++ .../modular/role/mapper/mapping/SysRoleMapper.xml | 4 +++- .../sys/modular/user/mapper/SysUserMapper.java | 11 +++++++++++ .../modular/user/mapper/mapping/SysUserMapper.xml | 3 +++ .../user/service/impl/SysUserServiceImpl.java | 12 ++++++++---- 20 files changed, 142 insertions(+), 21 deletions(-) diff --git a/snowy-common/src/main/java/vip/xiaonuo/common/cache/CommonCacheOperator.java b/snowy-common/src/main/java/vip/xiaonuo/common/cache/CommonCacheOperator.java index fa060e55..34ad3a15 100644 --- a/snowy-common/src/main/java/vip/xiaonuo/common/cache/CommonCacheOperator.java +++ b/snowy-common/src/main/java/vip/xiaonuo/common/cache/CommonCacheOperator.java @@ -83,4 +83,11 @@ public class CommonCacheOperator { } return results; } + + public void removeBatch(String pattern) { + Set keys = redisTemplate.keys(CACHE_KEY_PREFIX + pattern); + if (keys != null) { + redisTemplate.delete(keys); + } + } } diff --git a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/controller/DevConfigController.java b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/controller/DevConfigController.java index d8bc086d..f6e4962f 100644 --- a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/controller/DevConfigController.java +++ b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/controller/DevConfigController.java @@ -26,7 +26,6 @@ import vip.xiaonuo.common.annotation.CommonLog; import vip.xiaonuo.common.pojo.CommonResult; import vip.xiaonuo.common.pojo.CommonValidList; import vip.xiaonuo.dev.modular.config.entity.DevConfig; -import vip.xiaonuo.dev.modular.config.enums.DevConfigCategoryEnum; import vip.xiaonuo.dev.modular.config.param.*; import vip.xiaonuo.dev.modular.config.service.DevConfigService; @@ -73,9 +72,7 @@ public class DevConfigController { @ApiOperation("获取系统基础配置") @GetMapping("/dev/config/sysBaseList") public CommonResult> sysBaseList() { - DevConfigListParam devConfigListParam = new DevConfigListParam(); - devConfigListParam.setCategory(DevConfigCategoryEnum.SYS_BASE.getValue()); - return CommonResult.data(devConfigService.list(devConfigListParam)); + return CommonResult.data(devConfigService.sysBaseList()); } /** diff --git a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/service/DevConfigService.java b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/service/DevConfigService.java index 69ac3079..82d9fd68 100644 --- a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/service/DevConfigService.java +++ b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/service/DevConfigService.java @@ -43,6 +43,14 @@ public interface DevConfigService extends IService { */ Page page(DevConfigPageParam devConfigPageParam); + /** + * 获取基础配置列表 + * + * @author xuyuxiang + * @date 2022/4/24 20:08 + */ + List sysBaseList(); + /** * 获取配置列表 * diff --git a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/service/impl/DevConfigServiceImpl.java b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/service/impl/DevConfigServiceImpl.java index b5fa78ef..3e01189f 100644 --- a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/service/impl/DevConfigServiceImpl.java +++ b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/service/impl/DevConfigServiceImpl.java @@ -16,7 +16,6 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollStreamUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; -import cn.hutool.core.util.DesensitizedUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -92,6 +91,14 @@ public class DevConfigServiceImpl extends ServiceImpl sysBaseList() { + DevConfigListParam devConfigListParam = new DevConfigListParam(); + devConfigListParam.setCategory(DevConfigCategoryEnum.SYS_BASE.getValue()); + return this.list(devConfigListParam).stream().filter(devConfig -> !devConfig.getConfigKey() + .equals(SNOWY_SYS_DEFAULT_PASSWORD_KEY)).collect(Collectors.toList()); + } + @Override public List list(DevConfigListParam devConfigListParam) { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); @@ -101,11 +108,7 @@ public class DevConfigServiceImpl extends ServiceImpl { - if(devConfig.getConfigKey().equals(SNOWY_SYS_DEFAULT_PASSWORD_KEY)) { - devConfig.setConfigValue(DesensitizedUtil.password(devConfig.getConfigValue())); - } - }).collect(Collectors.toList()); + return this.list(lambdaQueryWrapper); } @Override diff --git a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/job/service/impl/DevJobServiceImpl.java b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/job/service/impl/DevJobServiceImpl.java index d5770827..51e6ba0d 100644 --- a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/job/service/impl/DevJobServiceImpl.java +++ b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/job/service/impl/DevJobServiceImpl.java @@ -19,6 +19,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.cron.CronUtil; +import cn.hutool.cron.pattern.CronPattern; import cn.hutool.extra.spring.SpringUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -107,7 +108,9 @@ public class DevJobServiceImpl extends ServiceImpl impleme private void checkParam(DevJobAddParam devJobAddParam) { DevJobCategoryEnum.validate(devJobAddParam.getCategory()); - if(!CronExpression.isValidExpression(devJobAddParam.getCronExpression())) { + try { + CronPattern.of(devJobAddParam.getCronExpression()); + } catch (Exception e) { throw new CommonException("cron表达式:{}格式不正确", devJobAddParam.getCronExpression()); } try { diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/mapper/SysOrgMapper.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/mapper/SysOrgMapper.java index e48863f4..d2a67297 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/mapper/SysOrgMapper.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/mapper/SysOrgMapper.java @@ -12,7 +12,10 @@ */ package vip.xiaonuo.sys.modular.org.mapper; +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; import vip.xiaonuo.sys.modular.org.entity.SysOrg; /** @@ -22,4 +25,13 @@ import vip.xiaonuo.sys.modular.org.entity.SysOrg; * @date 2022/4/21 18:37 **/ public interface SysOrgMapper extends BaseMapper { + + /** + * 删除数据并忽略插件(逻辑删除、租户拼接) + * + * @author xuyuxiang + * @date 2023/12/25 23:20 + */ + @InterceptorIgnore(tenantLine = "true") + void deleteIgnoreInterceptor(@Param("ew") LambdaQueryWrapper lambdaQueryWrapper); } diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/mapper/mapping/SysOrgMapper.xml b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/mapper/mapping/SysOrgMapper.xml index 5776c3a6..b76a4280 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/mapper/mapping/SysOrgMapper.xml +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/mapper/mapping/SysOrgMapper.xml @@ -2,5 +2,7 @@ - + + DELETE FROM SYS_ORG ${ew.customSqlSegment} + \ No newline at end of file diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/mapper/SysPositionMapper.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/mapper/SysPositionMapper.java index b186db33..68b1b3cc 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/mapper/SysPositionMapper.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/mapper/SysPositionMapper.java @@ -12,7 +12,10 @@ */ package vip.xiaonuo.sys.modular.position.mapper; +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; import vip.xiaonuo.sys.modular.position.entity.SysPosition; /** @@ -22,4 +25,13 @@ import vip.xiaonuo.sys.modular.position.entity.SysPosition; * @date 2022/4/21 18:37 **/ public interface SysPositionMapper extends BaseMapper { + + /** + * 删除数据并忽略插件(逻辑删除、租户拼接) + * + * @author xuyuxiang + * @date 2023/12/25 23:20 + */ + @InterceptorIgnore(tenantLine = "true") + void deleteIgnoreInterceptor(@Param("ew") LambdaQueryWrapper lambdaQueryWrapper); } diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/mapper/mapping/SysPositionMapper.xml b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/mapper/mapping/SysPositionMapper.xml index ec432e78..6b68aa65 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/mapper/mapping/SysPositionMapper.xml +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/mapper/mapping/SysPositionMapper.xml @@ -2,5 +2,7 @@ - + + DELETE FROM SYS_POSITION ${ew.customSqlSegment} + \ No newline at end of file diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/SysButtonMapper.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/SysButtonMapper.java index 24ed63d1..a30c6bff 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/SysButtonMapper.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/SysButtonMapper.java @@ -12,7 +12,10 @@ */ package vip.xiaonuo.sys.modular.resource.mapper; +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; import vip.xiaonuo.sys.modular.resource.entity.SysButton; /** @@ -22,4 +25,13 @@ import vip.xiaonuo.sys.modular.resource.entity.SysButton; * @date 2022/4/21 18:37 **/ public interface SysButtonMapper extends BaseMapper { + + /** + * 删除数据并忽略插件(逻辑删除、租户拼接) + * + * @author xuyuxiang + * @date 2023/12/25 23:20 + */ + @InterceptorIgnore(tenantLine = "true") + void deleteIgnoreInterceptor(@Param("ew") LambdaQueryWrapper lambdaQueryWrapper); } diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/SysMenuMapper.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/SysMenuMapper.java index 0191d82c..c334b404 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/SysMenuMapper.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/SysMenuMapper.java @@ -12,7 +12,10 @@ */ package vip.xiaonuo.sys.modular.resource.mapper; +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; import vip.xiaonuo.sys.modular.resource.entity.SysMenu; /** @@ -22,4 +25,13 @@ import vip.xiaonuo.sys.modular.resource.entity.SysMenu; * @date 2022/4/21 18:37 **/ public interface SysMenuMapper extends BaseMapper { + + /** + * 删除数据并忽略插件(逻辑删除、租户拼接) + * + * @author xuyuxiang + * @date 2023/12/25 23:20 + */ + @InterceptorIgnore(tenantLine = "true") + void deleteIgnoreInterceptor(@Param("ew") LambdaQueryWrapper lambdaQueryWrapper); } diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/SysModuleMapper.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/SysModuleMapper.java index e5ad36cd..0c398baf 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/SysModuleMapper.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/SysModuleMapper.java @@ -12,7 +12,10 @@ */ package vip.xiaonuo.sys.modular.resource.mapper; +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; import vip.xiaonuo.sys.modular.resource.entity.SysModule; /** @@ -22,4 +25,14 @@ import vip.xiaonuo.sys.modular.resource.entity.SysModule; * @date 2022/4/21 18:37 **/ public interface SysModuleMapper extends BaseMapper { + + /** + * 删除数据并忽略插件(逻辑删除、租户拼接) + * + * @author xuyuxiang + * @date 2023/12/25 23:20 + */ + @InterceptorIgnore(tenantLine = "true") + void deleteIgnoreInterceptor(@Param("ew") LambdaQueryWrapper lambdaQueryWrapper); + } diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/mapping/SysButtonMapper.xml b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/mapping/SysButtonMapper.xml index 688cda2c..a0864ada 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/mapping/SysButtonMapper.xml +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/mapping/SysButtonMapper.xml @@ -2,5 +2,7 @@ - + + DELETE FROM SYS_RESOURCE ${ew.customSqlSegment} + \ No newline at end of file diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/mapping/SysMenuMapper.xml b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/mapping/SysMenuMapper.xml index fea4fd3c..56ebe153 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/mapping/SysMenuMapper.xml +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/mapping/SysMenuMapper.xml @@ -2,5 +2,7 @@ - + + DELETE FROM SYS_RESOURCE ${ew.customSqlSegment} + \ No newline at end of file diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/mapping/SysModuleMapper.xml b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/mapping/SysModuleMapper.xml index aa3241fe..06e5d789 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/mapping/SysModuleMapper.xml +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/resource/mapper/mapping/SysModuleMapper.xml @@ -2,5 +2,7 @@ - + + DELETE FROM SYS_RESOURCE ${ew.customSqlSegment} + \ No newline at end of file diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/mapper/SysRoleMapper.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/mapper/SysRoleMapper.java index b98ffb40..c79b6237 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/mapper/SysRoleMapper.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/mapper/SysRoleMapper.java @@ -12,7 +12,10 @@ */ package vip.xiaonuo.sys.modular.role.mapper; +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; import vip.xiaonuo.sys.modular.role.entity.SysRole; /** @@ -22,4 +25,13 @@ import vip.xiaonuo.sys.modular.role.entity.SysRole; * @date 2022/4/21 18:37 **/ public interface SysRoleMapper extends BaseMapper { + + /** + * 删除数据并忽略插件(逻辑删除、租户拼接) + * + * @author xuyuxiang + * @date 2023/12/25 23:20 + */ + @InterceptorIgnore(tenantLine = "true") + void deleteIgnoreInterceptor(@Param("ew") LambdaQueryWrapper lambdaQueryWrapper); } diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/mapper/mapping/SysRoleMapper.xml b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/mapper/mapping/SysRoleMapper.xml index d9a981d8..de05f4c5 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/mapper/mapping/SysRoleMapper.xml +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/mapper/mapping/SysRoleMapper.xml @@ -2,5 +2,7 @@ - + + DELETE FROM SYS_ROLE ${ew.customSqlSegment} + \ No newline at end of file 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 20d38c1c..8ba5affb 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,7 +12,10 @@ */ package vip.xiaonuo.sys.modular.user.mapper; +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; import vip.xiaonuo.sys.modular.user.entity.SysUser; /** @@ -23,4 +26,12 @@ import vip.xiaonuo.sys.modular.user.entity.SysUser; **/ public interface SysUserMapper extends BaseMapper { + /** + * 删除数据并忽略插件(逻辑删除、租户拼接) + * + * @author xuyuxiang + * @date 2023/12/25 23:20 + */ + @InterceptorIgnore(tenantLine = "true") + void deleteIgnoreInterceptor(@Param("ew") LambdaQueryWrapper lambdaQueryWrapper); } 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 736e5a9c..417cdb16 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,4 +3,7 @@ + + DELETE FROM SYS_USER ${ew.customSqlSegment} + \ 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 a2d691be..1a1f46f4 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 @@ -104,13 +104,12 @@ import vip.xiaonuo.sys.modular.user.service.SysUserService; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.awt.image.BufferedImage; import java.io.BufferedOutputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.*; -import java.util.concurrent.atomic.AtomicReference; -import java.util.concurrent.locks.Condition; import java.util.stream.Collectors; /** @@ -539,8 +538,13 @@ public class SysUserServiceImpl extends ServiceImpl impl SysUser sysUser = this.queryEntity(StpUtil.getLoginIdAsString()); try { String suffix = Objects.requireNonNull(FileUtil.getSuffix(file.getOriginalFilename())).toLowerCase(); - String base64 = ImgUtil.toBase64DataUri(ImgUtil.scale(ImgUtil.toImage(file.getBytes()), - 100, 100, null), suffix); + BufferedImage image = ImgUtil.toImage(file.getBytes()); + String base64; + if(image.getWidth() <= 200 && image.getHeight() <= 200) { + base64 = ImgUtil.toBase64DataUri(image, suffix); + } else { + base64 = ImgUtil.toBase64DataUri(ImgUtil.scale(image, 200, 200, null), suffix); + } this.update(new LambdaUpdateWrapper().eq(SysUser::getId, sysUser.getId()).set(SysUser::getAvatar, base64)); return base64;