Merge branch 'master' of https://gitee.com/youlaiorg/youlai-boot
This commit is contained in:
7
pom.xml
7
pom.xml
@@ -7,13 +7,13 @@
|
||||
<groupId>com.youlai</groupId>
|
||||
<artifactId>youlai-boot</artifactId>
|
||||
<version>1.2.0</version>
|
||||
<name>SpringBoot单体应用</name>
|
||||
<name>有来权限管理系统(单体)</name>
|
||||
<description>基于SpringBoot快速构建的后台权限管理系统</description>
|
||||
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.7.5</version>
|
||||
<version>2.7.6</version>
|
||||
<relativePath/>
|
||||
</parent>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
<knife4j.version>3.0.2</knife4j.version>
|
||||
|
||||
<spring.boot.version>2.7.5</spring.boot.version>
|
||||
<spring.boot.version>2.7.6</spring.boot.version>
|
||||
|
||||
<mapstruct.version>1.5.2.Final</mapstruct.version>
|
||||
|
||||
@@ -96,7 +96,6 @@
|
||||
<version>${druid.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>com.github.xiaoymin</groupId>
|
||||
<artifactId>knife4j-spring-boot-starter</artifactId>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.youlai.system.enums;
|
||||
package com.youlai.system.common.enums;
|
||||
|
||||
import com.youlai.system.common.base.IBaseEnum;
|
||||
import lombok.Getter;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.youlai.system.enums;
|
||||
package com.youlai.system.common.enums;
|
||||
|
||||
import com.youlai.system.common.base.IBaseEnum;
|
||||
import lombok.Getter;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.youlai.system.enums;
|
||||
package com.youlai.system.common.enums;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.EnumValue;
|
||||
import com.youlai.system.common.base.IBaseEnum;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.youlai.system.enums;
|
||||
package com.youlai.system.common.enums;
|
||||
|
||||
import com.youlai.system.common.base.IBaseEnum;
|
||||
import lombok.Getter;
|
||||
@@ -28,12 +28,11 @@ import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 全局系统异常处理
|
||||
*
|
||||
* 调整异常处理的HTTP状态码,丰富异常处理类型
|
||||
*
|
||||
* @author hxrui
|
||||
* @author Gadfly
|
||||
* @date 2020-02-25 13:54
|
||||
* <p>
|
||||
**/
|
||||
@RestControllerAdvice
|
||||
@Slf4j
|
||||
@@ -166,12 +165,10 @@ public class GlobalExceptionHandler {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@ResponseStatus(HttpStatus.BAD_REQUEST)
|
||||
@ExceptionHandler(BusinessException.class)
|
||||
public <T> Result<T> handleBizException(BusinessException e) {
|
||||
log.error("业务异常,异常原因:{}", e.getMessage(), e);
|
||||
log.error("biz exception,{}", e.getMessage());
|
||||
if (e.getResultCode() != null) {
|
||||
return Result.failed(e.getResultCode());
|
||||
}
|
||||
@@ -181,6 +178,7 @@ public class GlobalExceptionHandler {
|
||||
@ResponseStatus(HttpStatus.BAD_REQUEST)
|
||||
@ExceptionHandler(Exception.class)
|
||||
public <T> Result<T> handleException(Exception e) {
|
||||
log.error("unknown exception, {}", e.getMessage());
|
||||
return Result.failed(e.getLocalizedMessage());
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.youlai.system.util;
|
||||
package com.youlai.system.common.util;
|
||||
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.youlai.system.common.result.Result;
|
||||
@@ -8,7 +8,6 @@ import org.springframework.http.MediaType;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
|
||||
/**
|
||||
* response 响应工具类
|
||||
@@ -3,7 +3,7 @@ package com.youlai.system.config;
|
||||
import com.youlai.system.security.filter.JwtAuthenticationFilter;
|
||||
import com.youlai.system.security.exception.MyAccessDeniedHandler;
|
||||
import com.youlai.system.security.exception.MyAuthenticationEntryPoint;
|
||||
import com.youlai.system.security.jwt.JwtTokenManager;
|
||||
import com.youlai.system.security.JwtTokenManager;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@@ -2,7 +2,8 @@ package com.youlai.system.controller;
|
||||
|
||||
|
||||
import com.youlai.system.common.result.Result;
|
||||
import com.youlai.system.security.jwt.JwtTokenManager;
|
||||
import com.youlai.system.pojo.dto.TokenResult;
|
||||
import com.youlai.system.security.JwtTokenManager;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -17,24 +18,27 @@ import org.springframework.web.bind.annotation.*;
|
||||
@RequestMapping("/api/v1/auth")
|
||||
@RequiredArgsConstructor
|
||||
public class AuthController {
|
||||
|
||||
private final AuthenticationManager authenticationManager;
|
||||
|
||||
private final JwtTokenManager jwtTokenManager;
|
||||
|
||||
@ApiOperation(value = "登录",notes = "生成token")
|
||||
@ApiOperation(value = "登录")
|
||||
@PostMapping("/login")
|
||||
public Result login(
|
||||
public Result<TokenResult> login(
|
||||
@RequestParam String username,
|
||||
@RequestParam String password
|
||||
) {
|
||||
UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(username,
|
||||
password);
|
||||
UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(
|
||||
username.toLowerCase().trim(),
|
||||
password
|
||||
);
|
||||
Authentication authentication = authenticationManager.authenticate(authenticationToken);
|
||||
SecurityContextHolder.getContext().setAuthentication(authentication);
|
||||
// 生成token
|
||||
String token = jwtTokenManager.createToken(authentication);
|
||||
return Result.success("Bearer " + token);
|
||||
String accessToken = "Bearer " + jwtTokenManager.createToken(authentication);
|
||||
TokenResult tokenResult = TokenResult.builder()
|
||||
.accessToken(accessToken)
|
||||
.build();
|
||||
return Result.success(tokenResult);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "注销")
|
||||
|
||||
@@ -22,7 +22,7 @@ import org.mapstruct.Mappings;
|
||||
public interface UserConverter {
|
||||
|
||||
@Mappings({
|
||||
@Mapping(target = "genderLabel", expression = "java(com.youlai.system.common.base.IBaseEnum.getLabelByValue(po.getGender(), com.youlai.system.enums.GenderEnum.class))")
|
||||
@Mapping(target = "genderLabel", expression = "java(com.youlai.system.common.base.IBaseEnum.getLabelByValue(po.getGender(), com.youlai.system.common.enums.GenderEnum.class))")
|
||||
})
|
||||
UserVO po2Vo(UserBO po);
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
||||
import com.baomidou.mybatisplus.extension.plugins.handler.DataPermissionHandler;
|
||||
import com.youlai.system.common.annotation.DataPermission;
|
||||
import com.youlai.system.common.base.IBaseEnum;
|
||||
import com.youlai.system.enums.DataScopeEnum;
|
||||
import com.youlai.system.util.SecurityUtils;
|
||||
import com.youlai.system.common.enums.DataScopeEnum;
|
||||
import com.youlai.system.security.util.SecurityUtils;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.sf.jsqlparser.expression.Expression;
|
||||
@@ -55,7 +55,7 @@ public class MyDataPermissionHandler implements DataPermissionHandler {
|
||||
public static Expression dataScopeFilter(String deptAlias, String deptIdColumnName, String userAlias, String userIdColumnName, Expression where) {
|
||||
|
||||
|
||||
String deptColumnName = StrUtil.isNotBlank(deptAlias) ? (deptAlias +StringPool.DOT+ deptIdColumnName) : deptIdColumnName;
|
||||
String deptColumnName = StrUtil.isNotBlank(deptAlias) ? (deptAlias + StringPool.DOT + deptIdColumnName) : deptIdColumnName;
|
||||
String userColumnName = StrUtil.isNotBlank(userAlias) ? (userAlias + StringPool.DOT + userIdColumnName) : userIdColumnName;
|
||||
|
||||
// 获取当前用户的数据权限
|
||||
@@ -70,11 +70,11 @@ public class MyDataPermissionHandler implements DataPermissionHandler {
|
||||
return where;
|
||||
case DEPT:
|
||||
deptId = SecurityUtils.getDeptId();
|
||||
appendSqlStr = deptColumnName + StringPool.EQUALS+ deptId;
|
||||
appendSqlStr = deptColumnName + StringPool.EQUALS + deptId;
|
||||
break;
|
||||
case SELF:
|
||||
userId = SecurityUtils.getUserId();
|
||||
appendSqlStr = userColumnName + StringPool.EQUALS + userId;
|
||||
appendSqlStr = userColumnName + StringPool.EQUALS + userId;
|
||||
break;
|
||||
// 默认部门及子部门数据权限
|
||||
default:
|
||||
@@ -87,9 +87,9 @@ public class MyDataPermissionHandler implements DataPermissionHandler {
|
||||
return where;
|
||||
}
|
||||
|
||||
Expression appendExpression =CCJSqlParserUtil.parseCondExpression(appendSqlStr);
|
||||
Expression appendExpression = CCJSqlParserUtil.parseCondExpression(appendSqlStr);
|
||||
|
||||
if(where==null){
|
||||
if (where == null) {
|
||||
return appendExpression;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.youlai.system.pojo.bo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.youlai.system.enums.MenuTypeEnum;
|
||||
import com.youlai.system.common.enums.MenuTypeEnum;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
16
src/main/java/com/youlai/system/pojo/dto/TokenResult.java
Normal file
16
src/main/java/com/youlai/system/pojo/dto/TokenResult.java
Normal file
@@ -0,0 +1,16 @@
|
||||
package com.youlai.system.pojo.dto;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class TokenResult {
|
||||
|
||||
private String accessToken;
|
||||
|
||||
private String refreshToken;
|
||||
|
||||
private Long expires;
|
||||
|
||||
}
|
||||
@@ -4,8 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import com.youlai.system.common.base.BaseEntity;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
@@ -14,7 +14,7 @@ import lombok.Data;
|
||||
*/
|
||||
@TableName(value ="sys_dept")
|
||||
@Data
|
||||
public class SysDept implements Serializable {
|
||||
public class SysDept extends BaseEntity {
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@@ -51,15 +51,6 @@ public class SysDept implements Serializable {
|
||||
*/
|
||||
private Integer deleted;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@@ -10,7 +10,9 @@ import lombok.Data;
|
||||
|
||||
/**
|
||||
* 字典数据表
|
||||
* @TableName sys_dict_item
|
||||
*
|
||||
* @author haoxr
|
||||
* @date 2022/12/17
|
||||
*/
|
||||
@TableName(value ="sys_dict_item")
|
||||
@Data
|
||||
@@ -56,15 +58,6 @@ public class SysDictItem implements Serializable {
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@@ -6,15 +6,18 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import com.youlai.system.common.base.BaseEntity;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 字典类型表
|
||||
* @TableName sys_dict_type
|
||||
*
|
||||
* @author haoxr
|
||||
* @date 2022/12/17
|
||||
*/
|
||||
@TableName(value ="sys_dict_type")
|
||||
@Data
|
||||
public class SysDictType implements Serializable {
|
||||
public class SysDictType extends BaseEntity {
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@@ -40,17 +43,4 @@ public class SysDictType implements Serializable {
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import com.youlai.system.common.base.BaseEntity;
|
||||
import com.youlai.system.enums.MenuTypeEnum;
|
||||
import com.youlai.system.common.enums.MenuTypeEnum;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,20 +1,17 @@
|
||||
package com.youlai.system.pojo.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import com.youlai.system.common.base.BaseEntity;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 角色表
|
||||
* @TableName sys_role
|
||||
*/
|
||||
@TableName(value ="sys_role")
|
||||
@Data
|
||||
public class SysRole implements Serializable {
|
||||
public class SysRole extends BaseEntity {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@@ -46,19 +43,6 @@ public class SysRole implements Serializable {
|
||||
*/
|
||||
private Integer deleted;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 数据权限
|
||||
*/
|
||||
|
||||
@@ -1,20 +1,18 @@
|
||||
package com.youlai.system.pojo.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 角色和菜单关联表
|
||||
* @TableName sys_role_menu
|
||||
*/
|
||||
@TableName(value ="sys_role_menu")
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
public class SysRoleMenu implements Serializable {
|
||||
@NoArgsConstructor
|
||||
public class SysRoleMenu {
|
||||
/**
|
||||
* 角色ID
|
||||
*/
|
||||
|
||||
@@ -1,20 +1,15 @@
|
||||
package com.youlai.system.pojo.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import com.youlai.system.common.base.BaseEntity;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 用户信息表
|
||||
* @TableName sys_user
|
||||
* 用户表
|
||||
*/
|
||||
@TableName(value ="sys_user")
|
||||
@Data
|
||||
public class SysUser implements Serializable {
|
||||
public class SysUser extends BaseEntity {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@@ -71,16 +66,4 @@ public class SysUser implements Serializable {
|
||||
*/
|
||||
private Integer deleted;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
@@ -1,20 +1,21 @@
|
||||
package com.youlai.system.pojo.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 用户和角色关联表
|
||||
* @TableName sys_user_role
|
||||
*
|
||||
* @author haoxr
|
||||
* @date 2022/12/17
|
||||
*/
|
||||
@TableName(value ="sys_user_role")
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
public class SysUserRole implements Serializable {
|
||||
@NoArgsConstructor
|
||||
public class SysUserRole {
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.youlai.system.pojo.vo.menu;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.youlai.system.enums.MenuTypeEnum;
|
||||
import com.youlai.system.common.enums.MenuTypeEnum;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@@ -1,20 +1,4 @@
|
||||
/*
|
||||
* Copyright 1999-2021 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.youlai.system.security.jwt;
|
||||
package com.youlai.system.security;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import com.youlai.system.security.userdetails.SysUserDetails;
|
||||
@@ -103,7 +87,7 @@ public class JwtTokenManager {
|
||||
redisTemplate.opsForValue().set("USER_PERMS:" + userDetails.getUserId(), perms);
|
||||
|
||||
return Jwts.builder().setClaims(claims).setExpiration(validity)
|
||||
.signWith(SignatureAlgorithm.HS256, Keys.hmacShaKeyFor(this.getSecretKeyBytes())).compact();
|
||||
.signWith( Keys.hmacShaKeyFor(this.getSecretKeyBytes()),SignatureAlgorithm.HS256).compact();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.youlai.system.security.exception;
|
||||
|
||||
import com.youlai.system.common.result.ResultCode;
|
||||
import com.youlai.system.util.ResponseUtils;
|
||||
import com.youlai.system.common.util.ResponseUtils;
|
||||
import org.springframework.security.access.AccessDeniedException;
|
||||
import org.springframework.security.web.access.AccessDeniedHandler;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.youlai.system.security.exception;
|
||||
|
||||
import com.youlai.system.common.result.ResultCode;
|
||||
import com.youlai.system.util.ResponseUtils;
|
||||
import com.youlai.system.common.util.ResponseUtils;
|
||||
import org.springframework.security.core.AuthenticationException;
|
||||
import org.springframework.security.web.AuthenticationEntryPoint;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@@ -2,8 +2,8 @@ package com.youlai.system.security.filter;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.youlai.system.common.result.ResultCode;
|
||||
import com.youlai.system.security.jwt.JwtTokenManager;
|
||||
import com.youlai.system.util.ResponseUtils;
|
||||
import com.youlai.system.security.JwtTokenManager;
|
||||
import com.youlai.system.common.util.ResponseUtils;
|
||||
import org.springframework.http.HttpMethod;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.youlai.system.security.service;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.youlai.system.util.SecurityUtils;
|
||||
import com.youlai.system.security.util.SecurityUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.youlai.system.util;
|
||||
package com.youlai.system.security.util;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
@@ -21,6 +21,12 @@ import java.io.InputStream;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
/**
|
||||
* MinIO 文件实现类
|
||||
*
|
||||
* @author haoxr
|
||||
* @date 2022/12/17
|
||||
*/
|
||||
@Component
|
||||
@ConfigurationProperties(prefix = "minio")
|
||||
@Slf4j
|
||||
|
||||
@@ -7,7 +7,7 @@ import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.youlai.system.common.constant.SystemConstants;
|
||||
import com.youlai.system.enums.StatusEnum;
|
||||
import com.youlai.system.common.enums.StatusEnum;
|
||||
import com.youlai.system.pojo.Option;
|
||||
import com.youlai.system.converter.DeptConverter;
|
||||
import com.youlai.system.mapper.SysDeptMapper;
|
||||
|
||||
@@ -7,8 +7,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.youlai.system.common.constant.SystemConstants;
|
||||
import com.youlai.system.enums.MenuTypeEnum;
|
||||
import com.youlai.system.enums.StatusEnum;
|
||||
import com.youlai.system.common.enums.MenuTypeEnum;
|
||||
import com.youlai.system.common.enums.StatusEnum;
|
||||
import com.youlai.system.pojo.Option;
|
||||
import com.youlai.system.converter.MenuConverter;
|
||||
import com.youlai.system.mapper.SysMenuMapper;
|
||||
|
||||
@@ -20,7 +20,7 @@ import com.youlai.system.pojo.vo.role.RolePageVO;
|
||||
import com.youlai.system.service.SysRoleMenuService;
|
||||
import com.youlai.system.service.SysRoleService;
|
||||
import com.youlai.system.service.SysUserRoleService;
|
||||
import com.youlai.system.util.SecurityUtils;
|
||||
import com.youlai.system.security.util.SecurityUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.cache.annotation.CacheEvict;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -16,7 +16,7 @@ import com.google.common.collect.Lists;
|
||||
import com.youlai.system.common.base.IBaseEnum;
|
||||
import com.youlai.system.common.constant.SystemConstants;
|
||||
import com.youlai.system.converter.UserConverter;
|
||||
import com.youlai.system.enums.GenderEnum;
|
||||
import com.youlai.system.common.enums.GenderEnum;
|
||||
import com.youlai.system.listener.UserImportListener;
|
||||
import com.youlai.system.mapper.SysUserMapper;
|
||||
import com.youlai.system.pojo.bo.UserBO;
|
||||
@@ -34,7 +34,7 @@ import com.youlai.system.service.SysMenuService;
|
||||
import com.youlai.system.service.SysRoleService;
|
||||
import com.youlai.system.service.SysUserRoleService;
|
||||
import com.youlai.system.service.SysUserService;
|
||||
import com.youlai.system.util.SecurityUtils;
|
||||
import com.youlai.system.security.util.SecurityUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
LEFT JOIN sys_role_menu t2 ON t1.id = t2.menu_id
|
||||
LEFT JOIN sys_role t3 ON t2.role_id = t3.id
|
||||
WHERE
|
||||
t1.type != '${@com.youlai.system.enums.MenuTypeEnum@BUTTON.getValue()}'
|
||||
t1.type != '${@com.youlai.system.common.enums.MenuTypeEnum@BUTTON.getValue()}'
|
||||
ORDER BY t1.sort asc
|
||||
</select>
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
INNER JOIN sys_role_menu t2
|
||||
INNER JOIN sys_role t3
|
||||
WHERE
|
||||
t1.type = '${@com.youlai.system.enums.MenuTypeEnum@BUTTON.getValue()}'
|
||||
t1.type = '${@com.youlai.system.common.enums.MenuTypeEnum@BUTTON.getValue()}'
|
||||
AND t1.perm IS NOT NULL
|
||||
<choose>
|
||||
<when test="roles!=null and roles.size()>0">
|
||||
|
||||
Reference in New Issue
Block a user