mirror of https://gitee.com/xiaonuobase/snowy
【修复】同步修复bug若干
parent
00e508f3c8
commit
e66e8591dd
|
@ -83,4 +83,11 @@ public class CommonCacheOperator {
|
|||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
public void removeBatch(String pattern) {
|
||||
Set<String> keys = redisTemplate.keys(CACHE_KEY_PREFIX + pattern);
|
||||
if (keys != null) {
|
||||
redisTemplate.delete(keys);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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<List<DevConfig>> sysBaseList() {
|
||||
DevConfigListParam devConfigListParam = new DevConfigListParam();
|
||||
devConfigListParam.setCategory(DevConfigCategoryEnum.SYS_BASE.getValue());
|
||||
return CommonResult.data(devConfigService.list(devConfigListParam));
|
||||
return CommonResult.data(devConfigService.sysBaseList());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -43,6 +43,14 @@ public interface DevConfigService extends IService<DevConfig> {
|
|||
*/
|
||||
Page<DevConfig> page(DevConfigPageParam devConfigPageParam);
|
||||
|
||||
/**
|
||||
* 获取基础配置列表
|
||||
*
|
||||
* @author xuyuxiang
|
||||
* @date 2022/4/24 20:08
|
||||
*/
|
||||
List<DevConfig> sysBaseList();
|
||||
|
||||
/**
|
||||
* 获取配置列表
|
||||
*
|
||||
|
|
|
@ -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<DevConfigMapper, DevConfig
|
|||
return this.page(CommonPageRequest.defaultPage(), queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DevConfig> 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<DevConfig> list(DevConfigListParam devConfigListParam) {
|
||||
LambdaQueryWrapper<DevConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
|
@ -101,11 +108,7 @@ public class DevConfigServiceImpl extends ServiceImpl<DevConfigMapper, DevConfig
|
|||
if(ObjectUtil.isNotEmpty(devConfigListParam.getCategory())) {
|
||||
lambdaQueryWrapper.eq(DevConfig::getCategory, devConfigListParam.getCategory());
|
||||
}
|
||||
return this.list(lambdaQueryWrapper).stream().peek(devConfig -> {
|
||||
if(devConfig.getConfigKey().equals(SNOWY_SYS_DEFAULT_PASSWORD_KEY)) {
|
||||
devConfig.setConfigValue(DesensitizedUtil.password(devConfig.getConfigValue()));
|
||||
}
|
||||
}).collect(Collectors.toList());
|
||||
return this.list(lambdaQueryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -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<DevJobMapper, DevJob> 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 {
|
||||
|
|
|
@ -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<SysOrg> {
|
||||
|
||||
/**
|
||||
* 删除数据并忽略插件(逻辑删除、租户拼接)
|
||||
*
|
||||
* @author xuyuxiang
|
||||
* @date 2023/12/25 23:20
|
||||
*/
|
||||
@InterceptorIgnore(tenantLine = "true")
|
||||
void deleteIgnoreInterceptor(@Param("ew") LambdaQueryWrapper<SysOrg> lambdaQueryWrapper);
|
||||
}
|
||||
|
|
|
@ -2,5 +2,7 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="vip.xiaonuo.sys.modular.org.mapper.SysOrgMapper">
|
||||
|
||||
|
||||
<delete id="deleteIgnoreInterceptor">
|
||||
DELETE FROM SYS_ORG ${ew.customSqlSegment}
|
||||
</delete>
|
||||
</mapper>
|
|
@ -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<SysPosition> {
|
||||
|
||||
/**
|
||||
* 删除数据并忽略插件(逻辑删除、租户拼接)
|
||||
*
|
||||
* @author xuyuxiang
|
||||
* @date 2023/12/25 23:20
|
||||
*/
|
||||
@InterceptorIgnore(tenantLine = "true")
|
||||
void deleteIgnoreInterceptor(@Param("ew") LambdaQueryWrapper<SysPosition> lambdaQueryWrapper);
|
||||
}
|
||||
|
|
|
@ -2,5 +2,7 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="vip.xiaonuo.sys.modular.position.mapper.SysPositionMapper">
|
||||
|
||||
|
||||
<delete id="deleteIgnoreInterceptor">
|
||||
DELETE FROM SYS_POSITION ${ew.customSqlSegment}
|
||||
</delete>
|
||||
</mapper>
|
|
@ -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<SysButton> {
|
||||
|
||||
/**
|
||||
* 删除数据并忽略插件(逻辑删除、租户拼接)
|
||||
*
|
||||
* @author xuyuxiang
|
||||
* @date 2023/12/25 23:20
|
||||
*/
|
||||
@InterceptorIgnore(tenantLine = "true")
|
||||
void deleteIgnoreInterceptor(@Param("ew") LambdaQueryWrapper<SysButton> lambdaQueryWrapper);
|
||||
}
|
||||
|
|
|
@ -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<SysMenu> {
|
||||
|
||||
/**
|
||||
* 删除数据并忽略插件(逻辑删除、租户拼接)
|
||||
*
|
||||
* @author xuyuxiang
|
||||
* @date 2023/12/25 23:20
|
||||
*/
|
||||
@InterceptorIgnore(tenantLine = "true")
|
||||
void deleteIgnoreInterceptor(@Param("ew") LambdaQueryWrapper<SysMenu> lambdaQueryWrapper);
|
||||
}
|
||||
|
|
|
@ -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<SysModule> {
|
||||
|
||||
/**
|
||||
* 删除数据并忽略插件(逻辑删除、租户拼接)
|
||||
*
|
||||
* @author xuyuxiang
|
||||
* @date 2023/12/25 23:20
|
||||
*/
|
||||
@InterceptorIgnore(tenantLine = "true")
|
||||
void deleteIgnoreInterceptor(@Param("ew") LambdaQueryWrapper<SysModule> lambdaQueryWrapper);
|
||||
|
||||
}
|
||||
|
|
|
@ -2,5 +2,7 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="vip.xiaonuo.sys.modular.resource.mapper.SysButtonMapper">
|
||||
|
||||
|
||||
<delete id="deleteIgnoreInterceptor">
|
||||
DELETE FROM SYS_RESOURCE ${ew.customSqlSegment}
|
||||
</delete>
|
||||
</mapper>
|
|
@ -2,5 +2,7 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="vip.xiaonuo.sys.modular.resource.mapper.SysMenuMapper">
|
||||
|
||||
|
||||
<delete id="deleteIgnoreInterceptor">
|
||||
DELETE FROM SYS_RESOURCE ${ew.customSqlSegment}
|
||||
</delete>
|
||||
</mapper>
|
|
@ -2,5 +2,7 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="vip.xiaonuo.sys.modular.resource.mapper.SysModuleMapper">
|
||||
|
||||
|
||||
<delete id="deleteIgnoreInterceptor">
|
||||
DELETE FROM SYS_RESOURCE ${ew.customSqlSegment}
|
||||
</delete>
|
||||
</mapper>
|
|
@ -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<SysRole> {
|
||||
|
||||
/**
|
||||
* 删除数据并忽略插件(逻辑删除、租户拼接)
|
||||
*
|
||||
* @author xuyuxiang
|
||||
* @date 2023/12/25 23:20
|
||||
*/
|
||||
@InterceptorIgnore(tenantLine = "true")
|
||||
void deleteIgnoreInterceptor(@Param("ew") LambdaQueryWrapper<SysRole> lambdaQueryWrapper);
|
||||
}
|
||||
|
|
|
@ -2,5 +2,7 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="vip.xiaonuo.sys.modular.role.mapper.SysRoleMapper">
|
||||
|
||||
|
||||
<delete id="deleteIgnoreInterceptor">
|
||||
DELETE FROM SYS_ROLE ${ew.customSqlSegment}
|
||||
</delete>
|
||||
</mapper>
|
|
@ -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<SysUser> {
|
||||
|
||||
/**
|
||||
* 删除数据并忽略插件(逻辑删除、租户拼接)
|
||||
*
|
||||
* @author xuyuxiang
|
||||
* @date 2023/12/25 23:20
|
||||
*/
|
||||
@InterceptorIgnore(tenantLine = "true")
|
||||
void deleteIgnoreInterceptor(@Param("ew") LambdaQueryWrapper<SysUser> lambdaQueryWrapper);
|
||||
}
|
||||
|
|
|
@ -3,4 +3,7 @@
|
|||
<mapper namespace="vip.xiaonuo.sys.modular.user.mapper.SysUserMapper">
|
||||
|
||||
|
||||
<delete id="deleteIgnoreInterceptor">
|
||||
DELETE FROM SYS_USER ${ew.customSqlSegment}
|
||||
</delete>
|
||||
</mapper>
|
|
@ -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<SysUserMapper, SysUser> 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<SysUser>().eq(SysUser::getId,
|
||||
sysUser.getId()).set(SysUser::getAvatar, base64));
|
||||
return base64;
|
||||
|
|
Loading…
Reference in New Issue