更新用户权限

This commit is contained in:
2025-12-08 11:55:09 +08:00
parent 76a76d5ef7
commit df41eeab00
6 changed files with 31 additions and 8 deletions

View File

@@ -1,44 +0,0 @@
package com.sdm.data.model.req;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Map;
@Data
@Schema(description = "更新权限请求参数")
public class UpdatePermissionReq {
// @NotBlank(message = "parentPath不能为空")
@Schema(description = "父路径")
private String parentPath;
// @NotBlank(message = "fileName不能为空")
@Schema(description = "文件名称")
private String fileName;
@Schema(description = "工号", requiredMode = Schema.RequiredMode.REQUIRED)
private String jobNumber;
@Schema(description = "用户名", requiredMode = Schema.RequiredMode.REQUIRED)
private String userName;
// @NotBlank(message = "effectiveTime不能为空")
@Schema(description = "生效时间")
private String effectiveTime;
@Schema(description = "权限值")
private byte permission;
@Schema(description = "用户ID")
private Long userId;
@Schema(description = "文件ID")
private Long fileId;
@Schema(description = "类型: 0普通用户, 1组用户")
private byte type; //0:普通用户 1组用户
@Schema(description = "用户权限key:用户ID,value:权限值")
private Map<Long,Byte> userPermissions;
}

View File

@@ -1,14 +1,12 @@
package com.sdm.data.service;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.enums.FilePermissionEnum;
import com.sdm.common.entity.req.data.*;
import com.sdm.common.entity.req.system.LaunchApproveReq;
import com.sdm.common.entity.resp.PageDataResp;
import com.sdm.common.entity.resp.data.BatchAddFileInfoResp;
import com.sdm.common.entity.resp.data.ChunkUploadMinioFileResp;
import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
import com.sdm.data.aop.PermissionCheckAspect;
import com.sdm.data.model.req.*;
import com.sdm.data.model.resp.KKFileViewURLFromMinioResp;
import jakarta.servlet.http.HttpServletResponse;

View File

@@ -1096,14 +1096,22 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
if (ObjectUtils.isEmpty(userPermissions)) return SdmResponse.failed("参数错误,缺少userPermissions参数");
Long fileId = req.getFileId();
FileMetadataInfo fileMetadataInfo = fileMetadataInfoService.lambdaQuery().eq(FileMetadataInfo::getId, fileId).one();
FileMetadataInfo fileMetadataInfo = null;
if(ObjectUtils.isNotEmpty(fileId)){
fileMetadataInfo = fileMetadataInfoService.lambdaQuery().eq(FileMetadataInfo::getId, fileId).one();
}else if (ObjectUtils.isNotEmpty(req.getUuid())) {
fileMetadataInfo = fileMetadataInfoService.lambdaQuery().eq(FileMetadataInfo::getRelatedResourceUuid, req.getUuid()).one();
fileId = fileMetadataInfo.getId();
}
if (fileMetadataInfo == null) {
return SdmResponse.failed("文件不存在");
}
Long finalFileId = fileId;
userPermissions.forEach((userId, permission) -> {
FileUserPermission one = fileUserPermissionService.lambdaQuery()
.eq(FileUserPermission::getTFilemetaId, fileId)
.eq(FileUserPermission::getTFilemetaId, finalFileId)
.eq(FileUserPermission::getUserId, userId)
.one();
if (one != null) {
@@ -1111,12 +1119,12 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
fileUserPermissionService.lambdaUpdate()
.set(FileUserPermission::getPermission, permission)
.eq(FileUserPermission::getUserId, userId)
.eq(FileUserPermission::getTFilemetaId, fileId)
.eq(FileUserPermission::getTFilemetaId, finalFileId)
.update();
} else {
// 新增权限
FileUserPermission fileUserPermission = new FileUserPermission();
fileUserPermission.setTFilemetaId(fileId);
fileUserPermission.setTFilemetaId(finalFileId);
fileUserPermission.setUserId(userId);
fileUserPermission.setTenantId(ThreadLocalContext.getTenantId());
fileUserPermission.setPermission(permission);