更新用户权限
This commit is contained in:
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user