From df41eeab005fb1834dfb7a39d516651ea8b887fe Mon Sep 17 00:00:00 2001 From: gulongcheng <474084054@qq.com> Date: Mon, 8 Dec 2025 11:55:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=94=A8=E6=88=B7=E6=9D=83?= =?UTF-8?q?=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/req/data}/UpdatePermissionReq.java | 5 ++++- .../impl/data/DataClientFeignClientImpl.java | 12 ++++++++++++ .../feign/inter/data/IDataFeignClient.java | 2 ++ .../com/sdm/data/service/IDataFileService.java | 2 -- .../impl/MinioFileIDataFileServiceImpl.java | 16 ++++++++++++---- .../sdm/system/dao/SimulationSystemMapper.java | 2 +- 6 files changed, 31 insertions(+), 8 deletions(-) rename {data/src/main/java/com/sdm/data/model/req => common/src/main/java/com/sdm/common/entity/req/data}/UpdatePermissionReq.java (92%) diff --git a/data/src/main/java/com/sdm/data/model/req/UpdatePermissionReq.java b/common/src/main/java/com/sdm/common/entity/req/data/UpdatePermissionReq.java similarity index 92% rename from data/src/main/java/com/sdm/data/model/req/UpdatePermissionReq.java rename to common/src/main/java/com/sdm/common/entity/req/data/UpdatePermissionReq.java index ae9cd152..d55f35e4 100644 --- a/data/src/main/java/com/sdm/data/model/req/UpdatePermissionReq.java +++ b/common/src/main/java/com/sdm/common/entity/req/data/UpdatePermissionReq.java @@ -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:组用户 diff --git a/common/src/main/java/com/sdm/common/feign/impl/data/DataClientFeignClientImpl.java b/common/src/main/java/com/sdm/common/feign/impl/data/DataClientFeignClientImpl.java index 7e104904..286c7106 100644 --- a/common/src/main/java/com/sdm/common/feign/impl/data/DataClientFeignClientImpl.java +++ b/common/src/main/java/com/sdm/common/feign/impl/data/DataClientFeignClientImpl.java @@ -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("权限更新失败"); + } + } } diff --git a/common/src/main/java/com/sdm/common/feign/inter/data/IDataFeignClient.java b/common/src/main/java/com/sdm/common/feign/inter/data/IDataFeignClient.java index aa34b804..6959db7f 100644 --- a/common/src/main/java/com/sdm/common/feign/inter/data/IDataFeignClient.java +++ b/common/src/main/java/com/sdm/common/feign/inter/data/IDataFeignClient.java @@ -65,5 +65,7 @@ public interface IDataFeignClient { SdmResponse> batchAddFileInfo(@RequestBody UploadFilesReq req); + @PostMapping("/data/updatePermission") + SdmResponse updatePermission(@RequestBody UpdatePermissionReq req); } diff --git a/data/src/main/java/com/sdm/data/service/IDataFileService.java b/data/src/main/java/com/sdm/data/service/IDataFileService.java index 9766131b..d153d7e7 100644 --- a/data/src/main/java/com/sdm/data/service/IDataFileService.java +++ b/data/src/main/java/com/sdm/data/service/IDataFileService.java @@ -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; diff --git a/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java b/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java index 7c454677..84874d3f 100644 --- a/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java +++ b/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java @@ -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); diff --git a/system/src/main/java/com/sdm/system/dao/SimulationSystemMapper.java b/system/src/main/java/com/sdm/system/dao/SimulationSystemMapper.java index 98b683e0..184f1bc0 100644 --- a/system/src/main/java/com/sdm/system/dao/SimulationSystemMapper.java +++ b/system/src/main/java/com/sdm/system/dao/SimulationSystemMapper.java @@ -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")