更新用户权限

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,4 +1,4 @@
package com.sdm.data.model.req;
package com.sdm.common.entity.req.data;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -36,6 +36,9 @@ public class UpdatePermissionReq {
@Schema(description = "文件ID")
private Long fileId;
@Schema(description = "节点uuid")
private String uuid;
@Schema(description = "类型: 0普通用户, 1组用户")
private byte type; //0:普通用户 1组用户

View File

@@ -171,4 +171,16 @@ public class DataClientFeignClientImpl implements IDataFeignClient {
}
}
@Override
public SdmResponse updatePermission(UpdatePermissionReq req) {
SdmResponse response;
try {
response = dataClient.updatePermission(req);
log.info("权限更新成功:"+ response);
return response;
} catch (Exception e) {
log.error("权限更新失败:", e);
return SdmResponse.failed("权限更新失败");
}
}
}

View File

@@ -65,5 +65,7 @@ public interface IDataFeignClient {
SdmResponse<List<BatchAddFileInfoResp>> batchAddFileInfo(@RequestBody UploadFilesReq req);
@PostMapping("/data/updatePermission")
SdmResponse updatePermission(@RequestBody UpdatePermissionReq req);
}

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);

View File

@@ -11,7 +11,7 @@ import java.util.List;
public interface SimulationSystemMapper {
@Insert("INSERT INTO simulation_data_dictionary(uuid,dictName,dictValue,dictOrder,valueType,aliasName,dictClass,dictClassType,comment,tenantId,creator) VALUES (#{dict.uuid},#{dict.dictName},#{dict.dictValue},#{dict.dictOrder},#{dict.valueType},#{dict.aliasName},#{dict.dictClass},#{dict.classType},#{dict.comment},#{dict.tenantId},#{dict.creator})")
@Insert("INSERT INTO simulation_data_dictionary(uuid,dictName,dictValue,dictOrder,valueType,aliasName,dictClass,classType,comment,tenantId,creator) VALUES (#{dict.uuid},#{dict.dictName},#{dict.dictValue},#{dict.dictOrder},#{dict.valueType},#{dict.aliasName},#{dict.dictClass},#{dict.classType},#{dict.comment},#{dict.tenantId},#{dict.creator})")
int addDataDictionary(@Param("dict") DataDictionary dict);
@Select("SELECT * FROM simulation_data_dictionary WHERE dictClass=#{dictClass} AND tenantId=#{tenantId} ORDER BY dictOrder ASC")