style(framework): 优化代码格式与注解配置
This commit is contained in:
-1
@@ -36,7 +36,6 @@ import java.util.ArrayList;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@RestController
|
||||
@Tag(name = "系统:部门管理")
|
||||
|
||||
+1
-3
@@ -39,7 +39,6 @@ import java.io.IOException;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@RestController
|
||||
@Tag(name = "系统:角色管理")
|
||||
@@ -132,8 +131,7 @@ public class SystemRoleController {
|
||||
* @return /
|
||||
*/
|
||||
private int checkRoleLevels(Integer level) {
|
||||
List<Integer> levels =
|
||||
systemRoleService.queryRoleByUsersId(CsSecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).toList();
|
||||
List<Integer> levels = systemRoleService.queryRoleByUsersId(CsSecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).toList();
|
||||
int min = Collections.min(levels);
|
||||
if (level != null) {
|
||||
if (level < min) {
|
||||
|
||||
+4
-5
@@ -49,7 +49,6 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Tag(name = "系统:用户管理")
|
||||
@RestController
|
||||
@@ -142,8 +141,8 @@ public class SystemUserController {
|
||||
@PreAuthorize("@el.check('user:del')")
|
||||
public ResponseEntity<Object> removeUserByIds(@RequestBody Set<Long> ids) {
|
||||
for (Long id : ids) {
|
||||
Integer currentLevel = Collections.min(
|
||||
systemRoleService.queryRoleByUsersId(CsSecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).toList());
|
||||
Integer currentLevel =
|
||||
Collections.min(systemRoleService.queryRoleByUsersId(CsSecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).toList());
|
||||
Integer optLevel = Collections.min(systemRoleService.queryRoleByUsersId(id).stream().map(SystemRoleTb::getLevel).toList());
|
||||
if (currentLevel > optLevel) {
|
||||
throw new BadRequestException("角色权限不足, 不能删除:" + systemUserService.getUserById(id).getUsername());
|
||||
@@ -202,8 +201,8 @@ public class SystemUserController {
|
||||
* @param args /
|
||||
*/
|
||||
private void checkLevel(SystemUserTb args) {
|
||||
Integer currentLevel = Collections.min(
|
||||
systemRoleService.queryRoleByUsersId(CsSecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).toList());
|
||||
Integer currentLevel =
|
||||
Collections.min(systemRoleService.queryRoleByUsersId(CsSecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).toList());
|
||||
Integer optLevel = systemRoleService.getDeptLevelByRoles(args.getRoles());
|
||||
if (currentLevel > optLevel) {
|
||||
throw new BadRequestException("角色权限不足");
|
||||
|
||||
+11
-11
@@ -39,33 +39,33 @@ public class SystemDeptTb extends CsBaseUserTimeTb {
|
||||
|
||||
@NotNull(groups = Update.class)
|
||||
@TableId(value = "dept_id", type = IdType.AUTO)
|
||||
@Schema(name ="ID", hidden = true)
|
||||
@Schema(name = "ID", hidden = true)
|
||||
private Long id;
|
||||
|
||||
@TableField(exist = false)
|
||||
@JSONField(serialize = false)
|
||||
@Schema(name ="角色")
|
||||
@Schema(name = "角色")
|
||||
private Set<SystemRoleTb> roles;
|
||||
|
||||
@TableField(exist = false)
|
||||
@Schema(name ="子部门")
|
||||
@Schema(name = "子部门")
|
||||
private List<SystemDeptTb> children;
|
||||
|
||||
@Schema(name ="排序")
|
||||
@Schema(name = "排序")
|
||||
private Integer deptSort;
|
||||
|
||||
@NotBlank
|
||||
@Schema(name ="部门名称")
|
||||
@Schema(name = "部门名称")
|
||||
private String name;
|
||||
|
||||
@NotNull
|
||||
@Schema(name ="是否启用")
|
||||
@Schema(name = "是否启用")
|
||||
private Boolean enabled;
|
||||
|
||||
@Schema(name ="上级部门")
|
||||
@Schema(name = "上级部门")
|
||||
private Long pid;
|
||||
|
||||
@Schema(name ="子节点数目", hidden = true)
|
||||
@Schema(name = "子节点数目", hidden = true)
|
||||
private Integer subCount = 0;
|
||||
|
||||
@Override
|
||||
@@ -85,17 +85,17 @@ public class SystemDeptTb extends CsBaseUserTimeTb {
|
||||
return Objects.hash(id, name);
|
||||
}
|
||||
|
||||
@Schema(name ="是否有子节点")
|
||||
@Schema(name = "是否有子节点")
|
||||
public Boolean getHasChildren() {
|
||||
return subCount > 0;
|
||||
}
|
||||
|
||||
@Schema(name ="是否为叶子")
|
||||
@Schema(name = "是否为叶子")
|
||||
public Boolean getLeaf() {
|
||||
return subCount <= 0;
|
||||
}
|
||||
|
||||
@Schema(name ="标签名称")
|
||||
@Schema(name = "标签名称")
|
||||
public String getLabel() {
|
||||
return name;
|
||||
}
|
||||
|
||||
+3
-3
@@ -30,15 +30,15 @@ import lombok.Setter;
|
||||
public class SystemDictTb extends CsBaseUserTimeTb {
|
||||
|
||||
@NotNull(groups = Update.class)
|
||||
@Schema(name ="ID", hidden = true)
|
||||
@Schema(name = "ID", hidden = true)
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
@NotBlank
|
||||
@Schema(name ="名称")
|
||||
@Schema(name = "名称")
|
||||
private String name;
|
||||
|
||||
@Schema(name ="描述")
|
||||
@Schema(name = "描述")
|
||||
@TableField(updateStrategy = FieldStrategy.ALWAYS)
|
||||
private String description;
|
||||
}
|
||||
+5
-5
@@ -36,22 +36,22 @@ public class SystemEmailConfigTb extends CsObject {
|
||||
private Long id;
|
||||
|
||||
@NotBlank
|
||||
@Schema(name ="邮件服务器SMTP地址")
|
||||
@Schema(name = "邮件服务器SMTP地址")
|
||||
private String host;
|
||||
|
||||
@NotBlank
|
||||
@Schema(name ="邮件服务器 SMTP 端口")
|
||||
@Schema(name = "邮件服务器 SMTP 端口")
|
||||
private String port;
|
||||
|
||||
@NotBlank
|
||||
@Schema(name ="发件者用户名")
|
||||
@Schema(name = "发件者用户名")
|
||||
private String user;
|
||||
|
||||
@NotBlank
|
||||
@Schema(name ="密码")
|
||||
@Schema(name = "密码")
|
||||
private String password;
|
||||
|
||||
@NotBlank
|
||||
@Schema(name ="收件人")
|
||||
@Schema(name = "收件人")
|
||||
private String fromUser;
|
||||
}
|
||||
|
||||
+4
-4
@@ -35,19 +35,19 @@ public class SystemJobTb extends CsBaseUserTimeTb {
|
||||
|
||||
@NotNull(groups = Update.class)
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
@Schema(name ="ID", hidden = true)
|
||||
@Schema(name = "ID", hidden = true)
|
||||
private Long id;
|
||||
|
||||
@NotBlank
|
||||
@Schema(name ="岗位名称")
|
||||
@Schema(name = "岗位名称")
|
||||
private String name;
|
||||
|
||||
@NotNull
|
||||
@Schema(name ="岗位排序")
|
||||
@Schema(name = "岗位排序")
|
||||
private Long jobSort;
|
||||
|
||||
@NotNull
|
||||
@Schema(name ="是否启用")
|
||||
@Schema(name = "是否启用")
|
||||
private Boolean enabled;
|
||||
|
||||
@Override
|
||||
|
||||
+8
-8
@@ -32,28 +32,28 @@ import lombok.Setter;
|
||||
public class SystemLocalStorageTb extends CsBaseUserTimeTb {
|
||||
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
@Schema(name ="ID", hidden = true)
|
||||
@Schema(name = "ID", hidden = true)
|
||||
private Long id;
|
||||
|
||||
@Schema(name ="真实文件名")
|
||||
@Schema(name = "真实文件名")
|
||||
private String realName;
|
||||
|
||||
@Schema(name ="文件名")
|
||||
@Schema(name = "文件名")
|
||||
private String name;
|
||||
|
||||
@Schema(name ="后缀")
|
||||
@Schema(name = "后缀")
|
||||
private String suffix;
|
||||
|
||||
@Schema(name ="路径")
|
||||
@Schema(name = "路径")
|
||||
private String path;
|
||||
|
||||
@Schema(name ="类型")
|
||||
@Schema(name = "类型")
|
||||
private String type;
|
||||
|
||||
@Schema(name ="大小")
|
||||
@Schema(name = "大小")
|
||||
private String size;
|
||||
|
||||
@Schema(name ="日期分组")
|
||||
@Schema(name = "日期分组")
|
||||
private String dateGroup;
|
||||
|
||||
public void copy(SystemLocalStorageTb source) {
|
||||
|
||||
+18
-18
@@ -38,55 +38,55 @@ public class SystemMenuTb extends CsBaseUserTimeTb {
|
||||
|
||||
@NotNull(groups = {Update.class})
|
||||
@TableId(value = "menu_id", type = IdType.AUTO)
|
||||
@Schema(name ="ID", hidden = true)
|
||||
@Schema(name = "ID", hidden = true)
|
||||
private Long id;
|
||||
|
||||
@TableField(exist = false)
|
||||
@JSONField(serialize = false)
|
||||
@Schema(name ="菜单角色")
|
||||
@Schema(name = "菜单角色")
|
||||
private Set<SystemRoleTb> roles;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<SystemMenuTb> children;
|
||||
|
||||
@Schema(name ="菜单标题")
|
||||
@Schema(name = "菜单标题")
|
||||
private String title;
|
||||
|
||||
@TableField(value = "name")
|
||||
@Schema(name ="菜单组件名称")
|
||||
@Schema(name = "菜单组件名称")
|
||||
private String componentName;
|
||||
|
||||
@Schema(name ="排序")
|
||||
@Schema(name = "排序")
|
||||
private Integer menuSort = 999;
|
||||
|
||||
@Schema(name ="组件路径")
|
||||
@Schema(name = "组件路径")
|
||||
private String component;
|
||||
|
||||
@Schema(name ="路由地址")
|
||||
@Schema(name = "路由地址")
|
||||
private String path;
|
||||
|
||||
@Schema(name ="菜单类型,目录、菜单、按钮")
|
||||
@Schema(name = "菜单类型,目录、菜单、按钮")
|
||||
private Integer type;
|
||||
|
||||
@Schema(name ="权限标识")
|
||||
@Schema(name = "权限标识")
|
||||
private String permission;
|
||||
|
||||
@Schema(name ="菜单图标")
|
||||
@Schema(name = "菜单图标")
|
||||
private String icon;
|
||||
|
||||
@Schema(name ="缓存")
|
||||
@Schema(name = "缓存")
|
||||
private Boolean cache;
|
||||
|
||||
@Schema(name ="是否隐藏")
|
||||
@Schema(name = "是否隐藏")
|
||||
private Boolean hidden;
|
||||
|
||||
@Schema(name ="上级菜单")
|
||||
@Schema(name = "上级菜单")
|
||||
private Long pid;
|
||||
|
||||
@Schema(name ="子节点数目", hidden = true)
|
||||
@Schema(name = "子节点数目", hidden = true)
|
||||
private Integer subCount = 0;
|
||||
|
||||
@Schema(name ="外链菜单")
|
||||
@Schema(name = "外链菜单")
|
||||
private Boolean iFrame;
|
||||
|
||||
@Override
|
||||
@@ -106,17 +106,17 @@ public class SystemMenuTb extends CsBaseUserTimeTb {
|
||||
return Objects.hash(id);
|
||||
}
|
||||
|
||||
@Schema(name ="是否有子节点")
|
||||
@Schema(name = "是否有子节点")
|
||||
public Boolean getHasChildren() {
|
||||
return subCount > 0;
|
||||
}
|
||||
|
||||
@Schema(name ="是否为叶子")
|
||||
@Schema(name = "是否为叶子")
|
||||
public Boolean getLeaf() {
|
||||
return subCount <= 0;
|
||||
}
|
||||
|
||||
@Schema(name ="标签名称")
|
||||
@Schema(name = "标签名称")
|
||||
public String getLabel() {
|
||||
return title;
|
||||
}
|
||||
|
||||
+13
-13
@@ -38,43 +38,43 @@ import lombok.Setter;
|
||||
@TableName("system_oss_storage")
|
||||
@Schema(name = "SystemOssStorage对象", description = "OSS存储")
|
||||
public class SystemOssStorageTb extends CsBaseUserTimeTb {
|
||||
@Schema(name="ID")
|
||||
@Schema(name = "ID")
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
@TableField("service_type")
|
||||
@Schema(name="类型,比如minio")
|
||||
@Schema(name = "类型,比如minio")
|
||||
private String serviceType;
|
||||
@TableField("endpoint")
|
||||
@Schema(name="服务地址")
|
||||
@Schema(name = "服务地址")
|
||||
private String endpoint;
|
||||
@TableField("bucket_name")
|
||||
@Schema(name="存储桶名称")
|
||||
@Schema(name = "存储桶名称")
|
||||
private String bucketName;
|
||||
@TableField("file_name")
|
||||
@Schema(name="完整文件名称")
|
||||
@Schema(name = "完整文件名称")
|
||||
private String fileName;
|
||||
@TableField("file_size")
|
||||
@Schema(name="文件大小, 单位:字节")
|
||||
@Schema(name = "文件大小, 单位:字节")
|
||||
private Long fileSize;
|
||||
@TableField("file_mime")
|
||||
@Schema(name="文件类型")
|
||||
@Schema(name = "文件类型")
|
||||
private String fileMime;
|
||||
@Schema(name="短文件名")
|
||||
@Schema(name = "短文件名")
|
||||
@TableField("file_prefix")
|
||||
private String filePrefix;
|
||||
@Schema(name="文件后缀")
|
||||
@Schema(name = "文件后缀")
|
||||
@TableField("file_suffix")
|
||||
private String fileSuffix;
|
||||
@TableField("file_md5")
|
||||
@Schema(name="文件md5")
|
||||
@Schema(name = "文件md5")
|
||||
private String fileMd5;
|
||||
@TableField("file_url")
|
||||
@Schema(name="文件链接")
|
||||
@Schema(name = "文件链接")
|
||||
private String fileUrl;
|
||||
@TableField("file_code")
|
||||
@Schema(name="文件编码")
|
||||
@Schema(name = "文件编码")
|
||||
private String fileCode;
|
||||
@TableField("object_name")
|
||||
@Schema(name="对象路径")
|
||||
@Schema(name = "对象路径")
|
||||
private String objectName;
|
||||
}
|
||||
|
||||
+1
-1
@@ -75,7 +75,7 @@ public class SystemRoleTb extends CsBaseUserTimeTb {
|
||||
if (o == null || getClass() != o.getClass()) {
|
||||
return false;
|
||||
}
|
||||
SystemRoleTb role = (SystemRoleTb) o;
|
||||
SystemRoleTb role = (SystemRoleTb)o;
|
||||
return Objects.equals(id, role.id);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -105,7 +105,7 @@ public class SystemUserTb extends CsBaseUserTimeTb {
|
||||
if (o == null || getClass() != o.getClass()) {
|
||||
return false;
|
||||
}
|
||||
SystemUserTb user = (SystemUserTb) o;
|
||||
SystemUserTb user = (SystemUserTb)o;
|
||||
return Objects.equals(id, user.id) && Objects.equals(username, user.username);
|
||||
}
|
||||
|
||||
|
||||
+1
-5
@@ -36,11 +36,7 @@ public @interface BizLock {
|
||||
String bizName() default "";
|
||||
|
||||
/**
|
||||
* 锁key,支持SpEL表达式
|
||||
* 示例:
|
||||
* #user.id - 获取参数user的id属性
|
||||
* #p0 - 获取第一个参数
|
||||
* #root.methodName - 获取方法名
|
||||
* 锁key,支持SpEL表达式 示例: #user.id - 获取参数user的id属性 #p0 - 获取第一个参数 #root.methodName - 获取方法名
|
||||
*/
|
||||
String key() default "";
|
||||
|
||||
|
||||
+2
-2
@@ -60,11 +60,11 @@ public class BizLockAspect {
|
||||
private String parseLockKey(ProceedingJoinPoint joinPoint, BizLock bizLock) {
|
||||
// 如果key为空,使用默认格式: bizName:方法名
|
||||
if (bizLock.key().isEmpty()) {
|
||||
return String.format("%s:%s", bizLock.bizName(), ((MethodSignature) joinPoint.getSignature()).getMethod().getName());
|
||||
return String.format("%s:%s", bizLock.bizName(), ((MethodSignature)joinPoint.getSignature()).getMethod().getName());
|
||||
}
|
||||
|
||||
// 解析SpEL表达式
|
||||
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
||||
MethodSignature signature = (MethodSignature)joinPoint.getSignature();
|
||||
Method method = signature.getMethod();
|
||||
|
||||
// 创建SpEL上下文
|
||||
|
||||
+1
-2
@@ -18,7 +18,6 @@ package cn.odboy.system.framework.operalog;
|
||||
|
||||
import cn.hutool.core.date.TimeInterval;
|
||||
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.odboy.framework.context.CsRequestHolder;
|
||||
import cn.odboy.system.dal.dataobject.SystemOperationLogTb;
|
||||
@@ -86,7 +85,7 @@ public class OperationLogAspect {
|
||||
|
||||
private SystemOperationLogTb getOperationLogTb(ProceedingJoinPoint joinPoint, OperationLog annotation, TimeInterval timeInterval) {
|
||||
long executeTime = timeInterval.intervalMs();
|
||||
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
||||
MethodSignature signature = (MethodSignature)joinPoint.getSignature();
|
||||
String bizName = annotation.bizName();
|
||||
if (StrUtil.isBlank(bizName)) {
|
||||
Method method = signature.getMethod();
|
||||
|
||||
-1
@@ -17,7 +17,6 @@ package cn.odboy.system.framework.operalog.core;
|
||||
|
||||
import cn.hutool.core.date.TimeInterval;
|
||||
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.odboy.framework.context.CsRequestHolder;
|
||||
import cn.odboy.system.dal.dataobject.SystemOperationLogTb;
|
||||
|
||||
-1
@@ -22,7 +22,6 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service(value = "el")
|
||||
public class AuthorityConfig {
|
||||
|
||||
+2
-2
@@ -60,7 +60,7 @@ public class CsSecurityHelper {
|
||||
public static List<Long> getCurrentUserDataScope() {
|
||||
UserDetails userDetails = getCurrentUser();
|
||||
// 将 Java 对象转换为 JSONObject 对象
|
||||
JSONObject jsonObject = (JSONObject) JSON.toJSON(userDetails);
|
||||
JSONObject jsonObject = (JSONObject)JSON.toJSON(userDetails);
|
||||
JSONArray jsonArray = jsonObject.getJSONArray("dataScopes");
|
||||
return JSON.parseArray(jsonArray.toJSONString(), Long.class);
|
||||
}
|
||||
@@ -122,7 +122,7 @@ public class CsSecurityHelper {
|
||||
* @return /
|
||||
*/
|
||||
public static String getToken() {
|
||||
HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
|
||||
HttpServletRequest request = ((ServletRequestAttributes)Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
|
||||
String bearerToken = request.getHeader(SystemConst.HEADER_NAME);
|
||||
if (bearerToken != null && bearerToken.startsWith(SystemConst.TOKEN_PREFIX)) {
|
||||
// 去掉令牌前缀
|
||||
|
||||
+2
-2
@@ -39,7 +39,7 @@ public class TokenFilter extends GenericFilterBean {
|
||||
private final SystemUserOnlineInfoDAO systemUserOnlineInfoDAO;
|
||||
|
||||
/**
|
||||
* @param tokenProvider Token
|
||||
* @param tokenProvider Token
|
||||
* @param systemUserOnlineInfoDAO 用户在线
|
||||
*/
|
||||
public TokenFilter(TokenProvider tokenProvider, SystemUserOnlineInfoDAO systemUserOnlineInfoDAO) {
|
||||
@@ -49,7 +49,7 @@ public class TokenFilter extends GenericFilterBean {
|
||||
|
||||
@Override
|
||||
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws ServletException, IOException {
|
||||
HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
|
||||
HttpServletRequest httpServletRequest = (HttpServletRequest)servletRequest;
|
||||
String token = resolveToken(httpServletRequest);
|
||||
// 对于 Token 为空的不需要去查 Redis
|
||||
if (StrUtil.isNotBlank(token)) {
|
||||
|
||||
+3
-3
@@ -48,6 +48,8 @@ import java.util.concurrent.TimeUnit;
|
||||
@Slf4j
|
||||
@Component
|
||||
public class TokenProvider implements InitializingBean {
|
||||
public static final String AUTHORITIES_UUID_KEY = "uid";
|
||||
public static final String AUTHORITIES_UID_KEY = "userId";
|
||||
@Autowired
|
||||
private CsRedisHelper redisHelper;
|
||||
@Autowired
|
||||
@@ -57,8 +59,6 @@ public class TokenProvider implements InitializingBean {
|
||||
// 0.12.x版本
|
||||
private SecretKey signingKey;
|
||||
private JwtParser jwtParser;
|
||||
public static final String AUTHORITIES_UUID_KEY = "uid";
|
||||
public static final String AUTHORITIES_UID_KEY = "userId";
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
@@ -125,7 +125,7 @@ public class TokenProvider implements InitializingBean {
|
||||
// 判断是否续期token,计算token的过期时间
|
||||
String loginKey = loginKey(token);
|
||||
long time = redisHelper.getExpire(loginKey) * 1000;
|
||||
Date expireDate = DateUtil.offset(new Date(), DateField.MILLISECOND, (int) time);
|
||||
Date expireDate = DateUtil.offset(new Date(), DateField.MILLISECOND, (int)time);
|
||||
// 判断当前时间与过期时间的时间差
|
||||
long differ = expireDate.getTime() - System.currentTimeMillis();
|
||||
// 如果在续期检查的范围内,则续期
|
||||
|
||||
+1
-1
@@ -52,7 +52,7 @@ public class ExecutionJobBean extends QuartzJobBean {
|
||||
@Override
|
||||
public void executeInternal(JobExecutionContext context) {
|
||||
// 获取任务
|
||||
SystemQuartzJobTb quartzJob = (SystemQuartzJobTb) context.getMergedJobDataMap().get(SystemQuartzJobTb.JOB_KEY);
|
||||
SystemQuartzJobTb quartzJob = (SystemQuartzJobTb)context.getMergedJobDataMap().get(SystemQuartzJobTb.JOB_KEY);
|
||||
// 获取spring bean
|
||||
SystemQuartzLogMapper quartzLogMapper = CsSpringBeanHolder.getBean(SystemQuartzLogMapper.class);
|
||||
SystemQuartzJobService systemQuartzJobService = CsSpringBeanHolder.getBean(SystemQuartzJobService.class);
|
||||
|
||||
+8
-7
@@ -41,12 +41,13 @@ public class QuartzManage {
|
||||
JobDetail jobDetail = JobBuilder.newJob(ExecutionJobBean.class).withIdentity(JOB_NAME + quartzJob.getId()).build();
|
||||
|
||||
// 通过触发器名和cron 表达式创建 Trigger
|
||||
Trigger trigger = TriggerBuilder.newTrigger().withIdentity(JOB_NAME + quartzJob.getId()).startNow().withSchedule(CronScheduleBuilder.cronSchedule(quartzJob.getCronExpression())).build();
|
||||
Trigger trigger = TriggerBuilder.newTrigger().withIdentity(JOB_NAME + quartzJob.getId()).startNow()
|
||||
.withSchedule(CronScheduleBuilder.cronSchedule(quartzJob.getCronExpression())).build();
|
||||
|
||||
trigger.getJobDataMap().put(SystemQuartzJobTb.JOB_KEY, quartzJob);
|
||||
|
||||
// 重置启动时间
|
||||
((CronTriggerImpl) trigger).setStartTime(new Date());
|
||||
((CronTriggerImpl)trigger).setStartTime(new Date());
|
||||
|
||||
// 执行定时任务,如果是持久化的,这里会报错,捕获输出
|
||||
try {
|
||||
@@ -73,16 +74,16 @@ public class QuartzManage {
|
||||
public void updateJobCron(SystemQuartzJobTb quartzJob) {
|
||||
try {
|
||||
TriggerKey triggerKey = TriggerKey.triggerKey(JOB_NAME + quartzJob.getId());
|
||||
CronTrigger trigger = (CronTrigger) scheduler.getTrigger(triggerKey);
|
||||
CronTrigger trigger = (CronTrigger)scheduler.getTrigger(triggerKey);
|
||||
// 如果不存在则创建一个定时任务
|
||||
if (trigger == null) {
|
||||
addJob(quartzJob);
|
||||
trigger = (CronTrigger) scheduler.getTrigger(triggerKey);
|
||||
trigger = (CronTrigger)scheduler.getTrigger(triggerKey);
|
||||
}
|
||||
CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(quartzJob.getCronExpression());
|
||||
trigger = trigger.getTriggerBuilder().withIdentity(triggerKey).withSchedule(scheduleBuilder).build();
|
||||
// 重置启动时间
|
||||
((CronTriggerImpl) trigger).setStartTime(new Date());
|
||||
((CronTriggerImpl)trigger).setStartTime(new Date());
|
||||
trigger.getJobDataMap().put(SystemQuartzJobTb.JOB_KEY, quartzJob);
|
||||
|
||||
scheduler.rescheduleJob(triggerKey, trigger);
|
||||
@@ -120,7 +121,7 @@ public class QuartzManage {
|
||||
public void resumeJob(SystemQuartzJobTb quartzJob) {
|
||||
try {
|
||||
TriggerKey triggerKey = TriggerKey.triggerKey(JOB_NAME + quartzJob.getId());
|
||||
CronTrigger trigger = (CronTrigger) scheduler.getTrigger(triggerKey);
|
||||
CronTrigger trigger = (CronTrigger)scheduler.getTrigger(triggerKey);
|
||||
// 如果不存在则创建一个定时任务
|
||||
if (trigger == null) {
|
||||
addJob(quartzJob);
|
||||
@@ -141,7 +142,7 @@ public class QuartzManage {
|
||||
public void runJobNow(SystemQuartzJobTb quartzJob) {
|
||||
try {
|
||||
TriggerKey triggerKey = TriggerKey.triggerKey(JOB_NAME + quartzJob.getId());
|
||||
CronTrigger trigger = (CronTrigger) scheduler.getTrigger(triggerKey);
|
||||
CronTrigger trigger = (CronTrigger)scheduler.getTrigger(triggerKey);
|
||||
// 如果不存在则创建一个定时任务
|
||||
if (trigger == null) {
|
||||
addJob(quartzJob);
|
||||
|
||||
+8
-3
@@ -164,7 +164,9 @@ public class MinioRepository {
|
||||
systemOssStorageTb.setObjectName(objectName);
|
||||
|
||||
try (InputStream fileInputStream = CsFileUtil.getInputStream(tempFile)) {
|
||||
PutObjectArgs objectArgs = PutObjectArgs.builder().bucket(ossMinioConfig.getBucketName()).object(objectName).stream(fileInputStream, fileSize, -1).contentType(contentType).build();
|
||||
PutObjectArgs objectArgs =
|
||||
PutObjectArgs.builder().bucket(ossMinioConfig.getBucketName()).object(objectName).stream(fileInputStream, fileSize, -1).contentType(contentType)
|
||||
.build();
|
||||
minioClient.putObject(objectArgs);
|
||||
log.info("文件上传成功,并删除临时文件,文件名:{}", originalFilename);
|
||||
return systemOssStorageTb;
|
||||
@@ -201,7 +203,9 @@ public class MinioRepository {
|
||||
|
||||
log.info("准备上传文件,原文件名:{},上传后文件名:{}", originalFilename, fileName);
|
||||
try (InputStream fileInputStream = file.getInputStream()) {
|
||||
PutObjectArgs objectArgs = PutObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(objectName).stream(fileInputStream, file.getSize(), -1).contentType(file.getContentType()).build();
|
||||
PutObjectArgs objectArgs =
|
||||
PutObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(objectName).stream(fileInputStream, file.getSize(), -1)
|
||||
.contentType(file.getContentType()).build();
|
||||
// 使用重试机制进行上传
|
||||
uploadWithRetry(objectArgs, 3);
|
||||
log.info("文件上传成功,objectName: {}", objectName);
|
||||
@@ -249,7 +253,8 @@ public class MinioRepository {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
GetPresignedObjectUrlArgs presignedUrlArgs = GetPresignedObjectUrlArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(fullFileName).method(Method.GET)
|
||||
GetPresignedObjectUrlArgs presignedUrlArgs =
|
||||
GetPresignedObjectUrlArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(fullFileName).method(Method.GET)
|
||||
// 设置 URL 过期时间为 7 天, 最大 7 天, 别挣扎了
|
||||
.expiry(3600 * 24 * 7).build();
|
||||
String url = minioClient.getPresignedObjectUrl(presignedUrlArgs);
|
||||
|
||||
-1
@@ -27,7 +27,6 @@ import org.springframework.stereotype.Service;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 数据权限 Service
|
||||
|
||||
+2
-4
@@ -368,8 +368,7 @@ public class SystemDeptService {
|
||||
|
||||
private List<SystemProductLineVo> buildDeptSelectOptions(List<SystemDeptTb> depts) {
|
||||
// 获取所有部门并按父子关系组织
|
||||
Map<Long, SystemDeptTb> deptMap =
|
||||
depts.stream().collect(Collectors.toMap(SystemDeptTb::getId, Function.identity()));
|
||||
Map<Long, SystemDeptTb> deptMap = depts.stream().collect(Collectors.toMap(SystemDeptTb::getId, Function.identity()));
|
||||
List<SystemProductLineVo> options = new ArrayList<>();
|
||||
for (SystemDeptTb dept : depts) {
|
||||
// 构建部门ID路径
|
||||
@@ -420,8 +419,7 @@ public class SystemDeptService {
|
||||
public List<SystemProductLineTreeVo> queryDeptSelectProDataSource() {
|
||||
List<SystemDeptTb> depts = findEnabledDepts();
|
||||
// 获取所有部门并按父子关系组织
|
||||
Map<Long, SystemDeptTb> deptMap =
|
||||
depts.stream().collect(Collectors.toMap(SystemDeptTb::getId, Function.identity()));
|
||||
Map<Long, SystemDeptTb> deptMap = depts.stream().collect(Collectors.toMap(SystemDeptTb::getId, Function.identity()));
|
||||
List<SystemProductLineTreeVo> options = new ArrayList<>();
|
||||
// 构建树形结构
|
||||
for (SystemDeptTb dept : depts) {
|
||||
|
||||
+5
-10
@@ -102,14 +102,10 @@ public class SystemEmailService {
|
||||
// 发送
|
||||
try {
|
||||
int size = sendEmailRequest.getTos().size();
|
||||
Mail.create(account)
|
||||
.setTos(sendEmailRequest.getTos().toArray(new String[size]))
|
||||
.setTitle(sendEmailRequest.getSubject())
|
||||
.setContent(content)
|
||||
.setHtml(true)
|
||||
// 关闭session
|
||||
.setUseGlobalSession(false)
|
||||
.send();
|
||||
Mail.create(account).setTos(sendEmailRequest.getTos().toArray(new String[size])).setTitle(sendEmailRequest.getSubject()).setContent(content)
|
||||
.setHtml(true)
|
||||
// 关闭session
|
||||
.setUseGlobalSession(false).send();
|
||||
} catch (Exception e) {
|
||||
log.error("邮件发送失败", e);
|
||||
throw new BadRequestException("邮件发送失败");
|
||||
@@ -152,8 +148,7 @@ public class SystemEmailService {
|
||||
} else {
|
||||
content = CsResourceTemplateUtil.render(null, biEnum.getTemplateName(), Dict.create().set("code", oldCode));
|
||||
}
|
||||
SystemSendEmailArgs sendEmailRequest =
|
||||
new SystemSendEmailArgs(Collections.singletonList(email), applicationTitle, content);
|
||||
SystemSendEmailArgs sendEmailRequest = new SystemSendEmailArgs(Collections.singletonList(email), applicationTitle, content);
|
||||
sendEmail(sendEmailRequest);
|
||||
}
|
||||
|
||||
|
||||
+3
-7
@@ -123,8 +123,7 @@ public class SystemLocalStorageService {
|
||||
* @param response /
|
||||
* @throws IOException /
|
||||
*/
|
||||
public void exportLocalStorageExcel(List<SystemLocalStorageTb> localStorages, HttpServletResponse response)
|
||||
throws IOException {
|
||||
public void exportLocalStorageExcel(List<SystemLocalStorageTb> localStorages, HttpServletResponse response) throws IOException {
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
for (SystemLocalStorageTb localStorage : localStorages) {
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
@@ -146,9 +145,7 @@ public class SystemLocalStorageService {
|
||||
* @param page 分页参数
|
||||
* @return /
|
||||
*/
|
||||
public CsPageResult<SystemLocalStorageTb> queryLocalStorage(
|
||||
SystemQueryStorageArgs criteria,
|
||||
Page<SystemLocalStorageTb> page) {
|
||||
public CsPageResult<SystemLocalStorageTb> queryLocalStorage(SystemQueryStorageArgs criteria, Page<SystemLocalStorageTb> page) {
|
||||
return CsPageUtil.toPage(systemLocalStorageMapper.selectLocalStorageByArgs(criteria, page));
|
||||
}
|
||||
|
||||
@@ -159,7 +156,6 @@ public class SystemLocalStorageService {
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemLocalStorageTb> queryLocalStorage(SystemQueryStorageArgs criteria) {
|
||||
return systemLocalStorageMapper.selectLocalStorageByArgs(criteria, CsPageUtil.getCount(systemLocalStorageMapper))
|
||||
.getRecords();
|
||||
return systemLocalStorageMapper.selectLocalStorageByArgs(criteria, CsPageUtil.getCount(systemLocalStorageMapper)).getRecords();
|
||||
}
|
||||
}
|
||||
|
||||
+6
-5
@@ -46,6 +46,8 @@ import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class SystemMenuService {
|
||||
private static final String YES_STR = "是";
|
||||
private static final String NO_STR = "否";
|
||||
@Autowired
|
||||
private SystemMenuMapper systemMenuMapper;
|
||||
@Autowired
|
||||
@@ -53,9 +55,6 @@ public class SystemMenuService {
|
||||
@Autowired
|
||||
private SystemRoleService systemRoleService;
|
||||
|
||||
private static final String YES_STR = "是";
|
||||
private static final String NO_STR = "否";
|
||||
|
||||
/**
|
||||
* 创建
|
||||
*
|
||||
@@ -75,7 +74,8 @@ public class SystemMenuService {
|
||||
args.setPid(null);
|
||||
}
|
||||
if (args.getIFrame()) {
|
||||
if (!(args.getPath().toLowerCase().startsWith(TransferProtocolConst.PREFIX_HTTP) || args.getPath().toLowerCase().startsWith(TransferProtocolConst.PREFIX_HTTPS))) {
|
||||
if (!(args.getPath().toLowerCase().startsWith(TransferProtocolConst.PREFIX_HTTP) || args.getPath().toLowerCase()
|
||||
.startsWith(TransferProtocolConst.PREFIX_HTTPS))) {
|
||||
throw new BadRequestException(TransferProtocolConst.PREFIX_HTTPS_BAD_REQUEST);
|
||||
}
|
||||
}
|
||||
@@ -99,7 +99,8 @@ public class SystemMenuService {
|
||||
}
|
||||
SystemMenuTb menu = systemMenuMapper.selectById(args.getId());
|
||||
if (args.getIFrame()) {
|
||||
if (!(args.getPath().toLowerCase().startsWith(TransferProtocolConst.PREFIX_HTTP) || args.getPath().toLowerCase().startsWith(TransferProtocolConst.PREFIX_HTTPS))) {
|
||||
if (!(args.getPath().toLowerCase().startsWith(TransferProtocolConst.PREFIX_HTTP) || args.getPath().toLowerCase()
|
||||
.startsWith(TransferProtocolConst.PREFIX_HTTPS))) {
|
||||
throw new BadRequestException(TransferProtocolConst.PREFIX_HTTPS_BAD_REQUEST);
|
||||
}
|
||||
}
|
||||
|
||||
+7
-13
@@ -98,7 +98,7 @@ public class SystemMonitorService {
|
||||
diskInfo.put("available", CsFileUtil.getSize(available));
|
||||
diskInfo.put("used", CsFileUtil.getSize(used));
|
||||
if (total != 0) {
|
||||
diskInfo.put("usageRate", df.format(used / (double) total * 100));
|
||||
diskInfo.put("usageRate", df.format(used / (double)total * 100));
|
||||
} else {
|
||||
diskInfo.put("usageRate", 0);
|
||||
}
|
||||
@@ -122,7 +122,7 @@ public class SystemMonitorService {
|
||||
if (used == 0) {
|
||||
swapInfo.put("usageRate", 0);
|
||||
} else {
|
||||
swapInfo.put("usageRate", df.format(used / (double) total * 100));
|
||||
swapInfo.put("usageRate", df.format(used / (double)total * 100));
|
||||
}
|
||||
return swapInfo;
|
||||
}
|
||||
@@ -138,9 +138,7 @@ public class SystemMonitorService {
|
||||
memoryInfo.put("total", FormatUtil.formatBytes(memory.getTotal()));
|
||||
memoryInfo.put("available", FormatUtil.formatBytes(memory.getAvailable()));
|
||||
memoryInfo.put("used", FormatUtil.formatBytes(memory.getTotal() - memory.getAvailable()));
|
||||
memoryInfo.put(
|
||||
"usageRate",
|
||||
df.format((memory.getTotal() - memory.getAvailable()) / (double) memory.getTotal() * 100));
|
||||
memoryInfo.put("usageRate", df.format((memory.getTotal() - memory.getAvailable()) / (double)memory.getTotal() * 100));
|
||||
return memoryInfo;
|
||||
}
|
||||
|
||||
@@ -171,16 +169,12 @@ public class SystemMonitorService {
|
||||
}
|
||||
long user = ticks[CentralProcessor.TickType.USER.getIndex()] - prevTicks[CentralProcessor.TickType.USER.getIndex()];
|
||||
long nice = ticks[CentralProcessor.TickType.NICE.getIndex()] - prevTicks[CentralProcessor.TickType.NICE.getIndex()];
|
||||
long sys =
|
||||
ticks[CentralProcessor.TickType.SYSTEM.getIndex()] - prevTicks[CentralProcessor.TickType.SYSTEM.getIndex()];
|
||||
long sys = ticks[CentralProcessor.TickType.SYSTEM.getIndex()] - prevTicks[CentralProcessor.TickType.SYSTEM.getIndex()];
|
||||
long idle = ticks[CentralProcessor.TickType.IDLE.getIndex()] - prevTicks[CentralProcessor.TickType.IDLE.getIndex()];
|
||||
long ioWait =
|
||||
ticks[CentralProcessor.TickType.IOWAIT.getIndex()] - prevTicks[CentralProcessor.TickType.IOWAIT.getIndex()];
|
||||
long ioWait = ticks[CentralProcessor.TickType.IOWAIT.getIndex()] - prevTicks[CentralProcessor.TickType.IOWAIT.getIndex()];
|
||||
long irq = ticks[CentralProcessor.TickType.IRQ.getIndex()] - prevTicks[CentralProcessor.TickType.IRQ.getIndex()];
|
||||
long softIrq =
|
||||
ticks[CentralProcessor.TickType.SOFTIRQ.getIndex()] - prevTicks[CentralProcessor.TickType.SOFTIRQ.getIndex()];
|
||||
long steal =
|
||||
ticks[CentralProcessor.TickType.STEAL.getIndex()] - prevTicks[CentralProcessor.TickType.STEAL.getIndex()];
|
||||
long softIrq = ticks[CentralProcessor.TickType.SOFTIRQ.getIndex()] - prevTicks[CentralProcessor.TickType.SOFTIRQ.getIndex()];
|
||||
long steal = ticks[CentralProcessor.TickType.STEAL.getIndex()] - prevTicks[CentralProcessor.TickType.STEAL.getIndex()];
|
||||
long totalCpu = user + nice + sys + idle + ioWait + irq + softIrq + steal;
|
||||
cpuInfo.put("used", df.format(100d * user / totalCpu + 100d * sys / totalCpu));
|
||||
cpuInfo.put("idle", df.format(100d * idle / totalCpu));
|
||||
|
||||
+6
-14
@@ -179,8 +179,7 @@ public class SystemQuartzJobService {
|
||||
* @throws IOException /
|
||||
*/
|
||||
|
||||
public void exportQuartzJobExcel(List<SystemQuartzJobTb> quartzJobs, HttpServletResponse response)
|
||||
throws IOException {
|
||||
public void exportQuartzJobExcel(List<SystemQuartzJobTb> quartzJobs, HttpServletResponse response) throws IOException {
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
for (SystemQuartzJobTb quartzJob : quartzJobs) {
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
@@ -205,8 +204,7 @@ public class SystemQuartzJobService {
|
||||
* @throws IOException /
|
||||
*/
|
||||
|
||||
public void exportQuartzLogExcel(List<SystemQuartzLogTb> queryAllLog, HttpServletResponse response)
|
||||
throws IOException {
|
||||
public void exportQuartzLogExcel(List<SystemQuartzLogTb> queryAllLog, HttpServletResponse response) throws IOException {
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
for (SystemQuartzLogTb quartzLog : queryAllLog) {
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
@@ -232,9 +230,7 @@ public class SystemQuartzJobService {
|
||||
* @return /
|
||||
*/
|
||||
|
||||
public CsPageResult<SystemQuartzJobTb> queryQuartzJobByArgs(
|
||||
SystemQueryQuartzJobArgs criteria,
|
||||
Page<SystemQuartzJobTb> page) {
|
||||
public CsPageResult<SystemQuartzJobTb> queryQuartzJobByArgs(SystemQueryQuartzJobArgs criteria, Page<SystemQuartzJobTb> page) {
|
||||
return CsPageUtil.toPage(systemQuartzJobMapper.selectQuartzJobByArgs(criteria, page));
|
||||
}
|
||||
|
||||
@@ -246,9 +242,7 @@ public class SystemQuartzJobService {
|
||||
* @return /
|
||||
*/
|
||||
|
||||
public CsPageResult<SystemQuartzLogTb> queryQuartzLogByArgs(
|
||||
SystemQueryQuartzJobArgs criteria,
|
||||
Page<SystemQuartzLogTb> page) {
|
||||
public CsPageResult<SystemQuartzLogTb> queryQuartzLogByArgs(SystemQueryQuartzJobArgs criteria, Page<SystemQuartzLogTb> page) {
|
||||
return CsPageUtil.toPage(systemQuartzLogMapper.selectQuartzLogByArgs(criteria, page));
|
||||
}
|
||||
|
||||
@@ -260,8 +254,7 @@ public class SystemQuartzJobService {
|
||||
*/
|
||||
|
||||
public List<SystemQuartzJobTb> queryQuartzJobByArgs(SystemQueryQuartzJobArgs criteria) {
|
||||
return systemQuartzJobMapper.selectQuartzJobByArgs(criteria, CsPageUtil.getCount(systemQuartzJobMapper))
|
||||
.getRecords();
|
||||
return systemQuartzJobMapper.selectQuartzJobByArgs(criteria, CsPageUtil.getCount(systemQuartzJobMapper)).getRecords();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -272,8 +265,7 @@ public class SystemQuartzJobService {
|
||||
*/
|
||||
|
||||
public List<SystemQuartzLogTb> queryQuartzLogByArgs(SystemQueryQuartzJobArgs criteria) {
|
||||
return systemQuartzLogMapper.selectQuartzLogByArgs(criteria, CsPageUtil.getCount(systemQuartzLogMapper))
|
||||
.getRecords();
|
||||
return systemQuartzLogMapper.selectQuartzLogByArgs(criteria, CsPageUtil.getCount(systemQuartzLogMapper)).getRecords();
|
||||
}
|
||||
|
||||
public SystemQuartzJobTb getQuartzJobById(Long id) {
|
||||
|
||||
+2
-5
@@ -231,11 +231,8 @@ public class SystemRoleService {
|
||||
return permissions.stream().map(SystemRoleCodeVo::new).toList();
|
||||
}
|
||||
List<SystemRoleTb> roles = systemRoleMapper.selectRoleByUserId(user.getId());
|
||||
permissions = roles.stream()
|
||||
.flatMap(role -> role.getMenus().stream())
|
||||
.map(SystemMenuTb::getPermission)
|
||||
.filter(StrUtil::isNotBlank)
|
||||
.collect(Collectors.toSet());
|
||||
permissions =
|
||||
roles.stream().flatMap(role -> role.getMenus().stream()).map(SystemMenuTb::getPermission).filter(StrUtil::isNotBlank).collect(Collectors.toSet());
|
||||
return permissions.stream().map(SystemRoleCodeVo::new).toList();
|
||||
}
|
||||
|
||||
|
||||
-1
@@ -44,7 +44,6 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class SystemUserService {
|
||||
|
||||
+1
-3
@@ -165,9 +165,7 @@ public final class SqlUtil {
|
||||
private static List<String> readSqlList(File sqlFile) throws Exception {
|
||||
List<String> sqlList = Lists.newArrayList();
|
||||
StringBuilder sb = new StringBuilder();
|
||||
try (BufferedReader reader = new BufferedReader(new InputStreamReader(
|
||||
Files.newInputStream(sqlFile.toPath()),
|
||||
StandardCharsets.UTF_8))) {
|
||||
try (BufferedReader reader = new BufferedReader(new InputStreamReader(Files.newInputStream(sqlFile.toPath()), StandardCharsets.UTF_8))) {
|
||||
String tmp;
|
||||
while ((tmp = reader.readLine()) != null) {
|
||||
log.info("line:{}", tmp);
|
||||
|
||||
+15
-15
@@ -35,28 +35,28 @@
|
||||
</collection>
|
||||
</resultMap>
|
||||
<select id="selectUserByArgs" resultMap="BaseResultMap">
|
||||
select u.user_id as user_user_id,
|
||||
u.dept_id as user_dept_id,
|
||||
select u.user_id as user_user_id,
|
||||
u.dept_id as user_dept_id,
|
||||
u.username as user_username,
|
||||
u.nick_name as user_nick_name,
|
||||
u.email as user_email,
|
||||
u.nick_name as user_nick_name,
|
||||
u.email as user_email,
|
||||
u.phone as user_phone,
|
||||
u.gender as user_gender,
|
||||
u.avatar_name as user_avatar_name,
|
||||
u.gender as user_gender,
|
||||
u.avatar_name as user_avatar_name,
|
||||
u.avatar_path as user_avatar_path,
|
||||
u.enabled as user_enabled,
|
||||
u.pwd_reset_time as user_pwd_reset_time,
|
||||
u.enabled as user_enabled,
|
||||
u.pwd_reset_time as user_pwd_reset_time,
|
||||
u.create_by as user_create_by,
|
||||
u.update_by as user_update_by,
|
||||
u.create_time as user_create_time,
|
||||
u.update_by as user_update_by,
|
||||
u.create_time as user_create_time,
|
||||
u.update_time as user_update_time,
|
||||
d.dept_id as dept_id,
|
||||
d.dept_id as dept_id,
|
||||
d.name as dept_name,
|
||||
j.id as job_id,
|
||||
j.id as job_id,
|
||||
j.name as job_name,
|
||||
r.role_id as role_id,
|
||||
r.name as role_name,
|
||||
r.level as role_level,
|
||||
r.role_id as role_id,
|
||||
r.name as role_name,
|
||||
r.level as role_level,
|
||||
r.data_scope as role_data_scope
|
||||
from system_user u
|
||||
left join system_dept d on u.dept_id = d.dept_id
|
||||
|
||||
Reference in New Issue
Block a user