This commit is contained in:
s2042968 2025-01-07 14:59:01 +08:00
commit 8fe9b3e356
4 changed files with 16 additions and 13 deletions

View File

@ -28,20 +28,21 @@ public class LoginInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 首先校验token
boolean isTokenValid = checkToken(request, response);
if (!isTokenValid) {
return false;
}
return checkSysAdminOperation(request);
return checkSysAdminOperation(request, response);
}
private boolean checkSysAdminOperation(HttpServletRequest request) {
String requestURI = request.getRequestURI();
if (requestURI.startsWith("/data/ed/prj")) {
return UserThreadLocal.getAdminType().equals(AdminTypeEnum.SYSTEM.getValue());
}
private boolean checkSysAdminOperation(HttpServletRequest request, HttpServletResponse response) {
// String requestURI = request.getRequestURI();
// if (requestURI.startsWith("/data/ed/prj") && !UserThreadLocal.getAdminType().equals(AdminTypeEnum.SYSTEM.getValue())) {
// log.warn("{}没有层级操作权限,当前用户类型是{}", UserThreadLocal.getUsername(), UserThreadLocal.getAdminType());
// response.setStatus(HttpServletResponse.SC_FORBIDDEN);
// return false;
// }
return true;
}
@ -49,7 +50,7 @@ public class LoginInterceptor implements HandlerInterceptor {
String token = request.getHeader("Authorization");
if (token == null) {
log.error("Authorization header is null");
response.setStatus(401);
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
return false;
} else {
token = token.substring(7);
@ -57,13 +58,13 @@ public class LoginInterceptor implements HandlerInterceptor {
boolean result = isTokenValid(token);
if (!result) {
log.error("Invalid token");
response.setStatus(401);
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
return false;
} else {
Claims claims = TokenUtil.getLoginInfo(token);
if (claims == null) {
log.error("User info is missing");
response.setStatus(401);
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
return false;
} else {
UserLoginInfo userLoginInfo = new UserLoginInfo();

View File

@ -184,6 +184,7 @@ public class CommonService {
.setFileName(folderName)
.setFileVersion(FILE_START_VERSION)
.setParentId(parentId)
.setFileType("文件夹")
.setFileCode(createFileCode(parentId, EleDataTypeEnum.FOLDER.desc, FILE_START_VERSION, nowTimeStr))
.setFileTime(nowTimeStr)
.setPrjDir(isPrjDir)

View File

@ -436,7 +436,7 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
List<EdFileInfo> edFileInfos = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class).select(EdFileInfo::getFilePath)
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
.eq(EdFileInfo::getPrjDir, true)
.eq(EdFileInfo::getDataStatus, EleDataStatusEnum.NOT_PUBLISHED.code));
.eq(EdFileInfo::getDataStatus, EleDataStatusEnum.NOT_PUBLISHED.code).or().eq(EdFileInfo::getDataStatus, EleDataStatusEnum.DELETED.code));
Set<String> unpublishFiles = new HashSet<>();
for (EdFileInfo edFileInfo : edFileInfos) {
String filePath = edFileInfo.getFilePath();

View File

@ -1,5 +1,6 @@
package com.electromagnetic.industry.software.manage.service.serviceimpl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.electromagnetic.industry.software.common.enums.FilePermission;
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
@ -36,8 +37,8 @@ public class PermissionServiceImpl implements PermissionService {
List<String> roleIds = getRoles(userId);
// 只有当 roleIds 不为空且不为 null 才添加 in 条件
if (roleIds == null || roleIds.isEmpty()) {
return transToMap(new ArrayList<>());
if (CollUtil.isEmpty(roleIds)) {
return new HashMap<>();
}
LambdaQueryWrapper<RolePermission> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.select(RolePermission::getPermissionCode)