feat: 更新web配置接口
This commit is contained in:
parent
a351191b4c
commit
fb4623da8f
|
@ -6,7 +6,7 @@ import cn.bunny.domain.system.entity.Role;
|
|||
import cn.bunny.domain.vo.LoginVo;
|
||||
import cn.bunny.domain.vo.result.ResultCodeEnum;
|
||||
import cn.bunny.services.context.BaseContext;
|
||||
import cn.bunny.services.mapper.system.PowerMapper;
|
||||
import cn.bunny.services.mapper.system.PermissionMapper;
|
||||
import cn.bunny.services.mapper.system.RoleMapper;
|
||||
import cn.bunny.services.utils.JwtHelper;
|
||||
import cn.bunny.services.utils.system.RoleUtil;
|
||||
|
@ -36,7 +36,7 @@ import java.util.function.Supplier;
|
|||
public class CustomAuthorizationManagerServiceImpl implements AuthorizationManager<RequestAuthorizationContext> {
|
||||
|
||||
@Resource
|
||||
private PowerMapper powerMapper;
|
||||
private PermissionMapper permissionMapper;
|
||||
|
||||
@Resource
|
||||
private RoleMapper roleMapper;
|
||||
|
@ -100,6 +100,7 @@ public class CustomAuthorizationManagerServiceImpl implements AuthorizationManag
|
|||
* @param request 请求url地址
|
||||
*/
|
||||
private Boolean hasAuth(HttpServletRequest request) {
|
||||
String requestMethod = request.getMethod();
|
||||
// 根据用户ID查询角色数据
|
||||
Long userId = BaseContext.getUserId();
|
||||
List<Role> roleList = roleMapper.selectListByUserId(userId);
|
||||
|
@ -116,10 +117,12 @@ public class CustomAuthorizationManagerServiceImpl implements AuthorizationManag
|
|||
if (requestURI.contains("noManage")) return true;
|
||||
|
||||
// 根据角色列表查询权限信息
|
||||
List<Permission> permissionList = powerMapper.selectListByUserId(userId);
|
||||
List<Permission> permissionList = permissionMapper.selectListByUserId(userId);
|
||||
|
||||
// 判断是否与请求路径匹配
|
||||
return permissionList.stream().map(Permission::getRequestUrl)
|
||||
return permissionList.stream()
|
||||
.filter(permission -> permission.getRequestMethod().equals(requestMethod))
|
||||
.map(Permission::getRequestUrl)
|
||||
.filter(Objects::nonNull)
|
||||
.anyMatch(requestUrl -> {
|
||||
if ((requestUrl.contains("/*") || requestUrl.contains("/**"))) {
|
||||
|
|
|
@ -26,14 +26,14 @@ public class ConfigurationController {
|
|||
}
|
||||
|
||||
@Operation(summary = "获取修改web配置文件", description = "获取修改web配置文件")
|
||||
@GetMapping("getWebConfig")
|
||||
@GetMapping()
|
||||
public Result<WebConfiguration> getWebConfig() {
|
||||
WebConfiguration webConfiguration = configurationService.webConfig();
|
||||
return Result.success(webConfiguration);
|
||||
}
|
||||
|
||||
@Operation(summary = "更新web配置文件", description = "更新web配置文件")
|
||||
@PutMapping("updateWebConfiguration")
|
||||
@PutMapping()
|
||||
public Result<Object> updateWebConfiguration(@Valid @RequestBody WebConfigurationDto dto) {
|
||||
configurationService.updateWebConfiguration(dto);
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
|
|
|
@ -37,7 +37,7 @@ public class EmailTemplateController {
|
|||
private EmailTemplateService emailTemplateService;
|
||||
|
||||
@Operation(summary = "分页查询邮件模板", description = "分页查询邮件模板")
|
||||
@GetMapping("getEmailTemplateList/{page}/{limit}")
|
||||
@GetMapping("query/page/{page}/{limit}")
|
||||
public Result<PageResult<EmailTemplateVo>> getEmailTemplateList(
|
||||
@Parameter(name = "page", description = "当前页", required = true)
|
||||
@PathVariable("page") Integer page,
|
||||
|
@ -50,14 +50,14 @@ public class EmailTemplateController {
|
|||
}
|
||||
|
||||
@Operation(summary = "获取邮件模板类型字段", description = "获取邮件模板类型字段")
|
||||
@GetMapping("getEmailTypes")
|
||||
@GetMapping("query/emailTypes")
|
||||
public Result<List<Map<String, String>>> getEmailTypes() {
|
||||
List<Map<String, String>> list = emailTemplateService.getEmailTypes();
|
||||
return Result.success(list);
|
||||
}
|
||||
|
||||
@Operation(summary = "添加邮件模板", description = "添加邮件模板")
|
||||
@PostMapping("addEmailTemplate")
|
||||
@PostMapping("add/emailTemplate")
|
||||
public Result<String> addEmailTemplate(@Valid @RequestBody EmailTemplateAddDto dto) {
|
||||
emailTemplateService.addEmailTemplate(dto);
|
||||
return Result.success(ResultCodeEnum.ADD_SUCCESS);
|
||||
|
|
|
@ -65,7 +65,7 @@ public class PowerController {
|
|||
|
||||
@Operation(summary = "更新权限", description = "更新权限")
|
||||
@PutMapping("updatePower")
|
||||
public Result<Object> updatePower(@Valid @RequestBody PowerUpdateDto dto) {
|
||||
public Result<String> updatePower(@Valid @RequestBody PowerUpdateDto dto) {
|
||||
powerService.updatePower(dto);
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
}
|
||||
|
|
|
@ -34,5 +34,8 @@ public class PowerAddDto {
|
|||
@Schema(name = "requestUrl", title = "请求路径")
|
||||
private String requestUrl;
|
||||
|
||||
@Schema(name = "requestMethod", title = "请求方法")
|
||||
private String requestMethod;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -22,5 +22,8 @@ public class PowerDto {
|
|||
@Schema(name = "requestUrl", title = "请求路径")
|
||||
private String requestUrl;
|
||||
|
||||
@Schema(name = "requestMethod", title = "请求方法")
|
||||
private String requestMethod;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -34,5 +34,8 @@ public class PowerUpdateDto {
|
|||
|
||||
@Schema(name = "requestUrl", title = "请求路径")
|
||||
private String requestUrl;
|
||||
|
||||
@Schema(name = "requestMethod", title = "请求方法")
|
||||
private String requestMethod;
|
||||
|
||||
}
|
||||
|
|
|
@ -24,5 +24,8 @@ public class Permission extends BaseEntity {
|
|||
@Schema(name = "requestUrl", title = "请求路径")
|
||||
private String requestUrl;
|
||||
|
||||
@Schema(name = "requestMethod", title = "请求方法")
|
||||
private String requestMethod;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -31,6 +31,9 @@ public class PowerVo extends BaseUserVo {
|
|||
@Schema(name = "requestUrl", title = "请求路径")
|
||||
private String requestUrl;
|
||||
|
||||
@Schema(name = "requestMethod", title = "请求路径")
|
||||
private String requestMethod;
|
||||
|
||||
@Schema(name = "children", title = "子级")
|
||||
private List<PowerVo> children;
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ import java.util.List;
|
|||
* @since 2024-10-03 16:00:52
|
||||
*/
|
||||
@Mapper
|
||||
public interface PowerMapper extends BaseMapper<Permission> {
|
||||
public interface PermissionMapper extends BaseMapper<Permission> {
|
||||
|
||||
/**
|
||||
* * 分页查询权限内容
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.bunny.services.mapper.system.PowerMapper">
|
||||
<mapper namespace="cn.bunny.services.mapper.system.PermissionMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="cn.bunny.domain.system.entity.Permission">
|
||||
|
@ -14,6 +14,7 @@
|
|||
<id column="power_code" property="powerCode"/>
|
||||
<id column="power_name" property="powerName"/>
|
||||
<id column="request_url" property="requestUrl"/>
|
||||
<id column="request_method" property="requestMethod"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 通用查询结果列 -->
|
||||
|
@ -40,7 +41,10 @@
|
|||
and permission.power_name like CONCAT('%',#{dto.powerName},'%')
|
||||
</if>
|
||||
<if test="dto.requestUrl != null and dto.requestUrl != ''">
|
||||
and permission.request_url like CONCAT('%',#{dto.requestUrl},'%')
|
||||
and permission.requestMethod like CONCAT('%',#{dto.requestMethod},'%')
|
||||
</if>
|
||||
<if test="dto.requestMethod != null and dto.requestMethod != ''">
|
||||
and permission.request_method like CONCAT('%',#{dto.requestMethod},'%')
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
|
@ -9,7 +9,7 @@ import cn.bunny.domain.system.vo.PowerVo;
|
|||
import cn.bunny.domain.vo.result.PageResult;
|
||||
import cn.bunny.domain.vo.result.ResultCodeEnum;
|
||||
import cn.bunny.services.exception.AuthCustomerException;
|
||||
import cn.bunny.services.mapper.system.PowerMapper;
|
||||
import cn.bunny.services.mapper.system.PermissionMapper;
|
||||
import cn.bunny.services.mapper.system.RolePermissionMapper;
|
||||
import cn.bunny.services.service.system.PowerService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
|
@ -37,7 +37,7 @@ import java.util.List;
|
|||
*/
|
||||
@Service
|
||||
@Transactional
|
||||
public class PowerServiceImpl extends ServiceImpl<PowerMapper, Permission> implements PowerService {
|
||||
public class PowerServiceImpl extends ServiceImpl<PermissionMapper, Permission> implements PowerService {
|
||||
|
||||
@Resource
|
||||
private RolePermissionMapper rolePermissionMapper;
|
||||
|
|
|
@ -10,7 +10,7 @@ import cn.bunny.domain.system.entity.Role;
|
|||
import cn.bunny.domain.vo.LoginVo;
|
||||
import cn.bunny.services.exception.AuthCustomerException;
|
||||
import cn.bunny.services.mapper.log.UserLoginLogMapper;
|
||||
import cn.bunny.services.mapper.system.PowerMapper;
|
||||
import cn.bunny.services.mapper.system.PermissionMapper;
|
||||
import cn.bunny.services.mapper.system.RoleMapper;
|
||||
import cn.bunny.services.mapper.system.UserMapper;
|
||||
import cn.bunny.services.utils.JwtHelper;
|
||||
|
@ -38,7 +38,7 @@ import java.util.regex.Pattern;
|
|||
@Component
|
||||
public class UserUtil {
|
||||
private final MinioUtil minioUtil;
|
||||
private final PowerMapper powerMapper;
|
||||
private final PermissionMapper permissionMapper;
|
||||
private final RoleMapper roleMapper;
|
||||
private final UserMapper userMapper;
|
||||
private final UserLoginLogMapper userLoginLogMapper;
|
||||
|
@ -123,7 +123,7 @@ public class UserUtil {
|
|||
// 判断是否是 admin 如果是admin 赋予所有权限
|
||||
boolean isAdmin = RoleUtil.checkAdmin(roles, permissions, user);
|
||||
if (!isAdmin) {
|
||||
permissions = powerMapper.selectListByUserId(userId).stream().map(Permission::getPowerCode).toList();
|
||||
permissions = permissionMapper.selectListByUserId(userId).stream().map(Permission::getPowerCode).toList();
|
||||
}
|
||||
|
||||
// 计算过期时间,并格式化返回
|
||||
|
|
Loading…
Reference in New Issue