修改:只有知识库文件列表增加上传人名称;common模块项目信息feign接口增加

This commit is contained in:
yangyang01000846
2025-11-11 18:00:23 +08:00
parent 24732a93df
commit ebf4e9a6b2
9 changed files with 109 additions and 13 deletions

View File

@@ -1,4 +1,4 @@
package com.sdm.project.model.req;
package com.sdm.common.entity.req.project;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

View File

@@ -2,7 +2,7 @@ package com.sdm.common.feign.impl.project;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.project.DelNodeReq;
import com.sdm.common.entity.req.project.RenameNodeReq;
import com.sdm.common.entity.req.project.SpdmNodeListReq;
import com.sdm.common.entity.resp.AllNodeByProjectIdAndTypeResp;
import com.sdm.common.feign.inter.project.ISimulationNodeFeignClient;
import lombok.extern.slf4j.Slf4j;
@@ -77,4 +77,21 @@ public class SimulationNodeFeignClientImpl implements ISimulationNodeFeignClient
}
return response;
}
@Override
public SdmResponse list(SpdmNodeListReq req) {
SdmResponse response;
try {
response = ISimulationNodeFeignClient.list(req);
if (!response.isSuccess()) {
return SdmResponse.failed("查询失败");
}
} catch (Exception e) {
log.error("查询失败", e);
return SdmResponse.failed("查询失败");
}
return response;
}
}

View File

@@ -2,9 +2,8 @@ package com.sdm.common.feign.inter.project;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.project.DelNodeReq;
import com.sdm.common.entity.req.project.RenameNodeReq;
import com.sdm.common.entity.req.project.SpdmNodeListReq;
import com.sdm.common.entity.resp.AllNodeByProjectIdAndTypeResp;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@@ -35,4 +34,10 @@ public interface ISimulationNodeFeignClient {
@PostMapping("node/delteNode")
SdmResponse delteNode(@RequestBody DelNodeReq req);
// 项目列表
@GetMapping("/list")
SdmResponse list(@RequestBody SpdmNodeListReq req);
}

View File

@@ -0,0 +1,35 @@
package com.sdm.common.utils;
import com.sdm.common.entity.resp.system.CIDUserResp;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.CollectionUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class CidSysUserUtil {
private static final Logger LOG = LoggerFactory.getLogger(CidSysUserUtil.class);
// List<CIDUserResp> cidUserRespList ---> Map<userId,CIDUserResp>
public static Map<Long,CIDUserResp> getCidUserToMap(List<CIDUserResp> cidUserRespList) {
try {
if(CollectionUtils.isEmpty(cidUserRespList)){
return new HashMap<>();
}
Map<Long, CIDUserResp> userMap = cidUserRespList.stream()
.collect(Collectors.toMap(
CIDUserResp::getUserId,
user -> user
));
return userMap;
} catch (Exception e) {
LOG.error("getCidUserToMap error", e);
}
return new HashMap<>();
}
}

View File

@@ -97,6 +97,10 @@ public class FileMetadataInfo implements Serializable {
@TableField("creatorId")
private Long creatorId;
@Schema(description= "创建者名称,列表展示使用")
@TableField(value = "creatorName", insertStrategy = FieldStrategy.NEVER,select = false,updateStrategy = FieldStrategy.NEVER)
private String creatorName;
@Schema(description= "创建时间")
@TableField("createTime")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

View File

@@ -12,17 +12,16 @@ import com.sdm.common.entity.enums.*;
import com.sdm.common.entity.req.data.CreateDirReq;
import com.sdm.common.entity.req.data.DelDirReq;
import com.sdm.common.entity.req.data.RenameDirReq;
import com.sdm.data.model.req.RenameFileReq;
import com.sdm.common.entity.req.project.DelNodeReq;
import com.sdm.common.entity.req.project.RenameNodeReq;
import com.sdm.common.entity.req.system.LaunchApproveReq;
import com.sdm.common.entity.req.system.UserListReq;
import com.sdm.common.entity.req.system.UserQueryReq;
import com.sdm.common.entity.resp.PageDataResp;
import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
import com.sdm.common.entity.resp.system.CIDUserResp;
import com.sdm.common.feign.impl.project.SimulationNodeFeignClientImpl;
import com.sdm.common.feign.impl.system.SysUserFeignClientImpl;
import com.sdm.common.feign.inter.system.IApproveFeignClient;
import com.sdm.common.utils.CidSysUserUtil;
import com.sdm.common.utils.PageUtils;
import com.sdm.data.model.bo.ApprovalFileDataContentsModel;
import com.sdm.data.model.entity.FileMetadataExtension;
@@ -617,6 +616,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
// 这里是知识库文件只展示已经审批通过的文件
.in(FileMetadataInfo::getApproveType,fileDatdList)
.list();
setCreatorNames(files);
PageDataResp<List<FileMetadataInfo>> page = new PageDataResp<>();
page.setData(files);
page.setTotal(pageDataResp.getTotal());
@@ -668,12 +668,8 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
// 审核完成 ,元数据修改审核中,文件修改审核中,删除文件审核中
.in(FileMetadataInfo::getApproveType,fileDatdList)
.list();
if (ObjectUtils.isNotEmpty(list)) {
list.forEach(fileMetadataInfo -> {
Long creatorId = fileMetadataInfo.getCreatorId();
});
}
// 创建人赋值
setCreatorNames(list);
PageInfo<FileMetadataInfo> page = new PageInfo<>(list);
return PageUtils.getJsonObjectSdmResponse(list, page);
}
@@ -1640,5 +1636,41 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
return JSONObject.toJSONString(contentsModel);
}
private void setCreatorNames(List<FileMetadataInfo> list) {
try {
if (ObjectUtils.isNotEmpty(list)) {
// 提取去重的 creatorId
List<Long> creatorIds = list.stream()
.map(FileMetadataInfo::getCreatorId)
.filter(Objects::nonNull)
.distinct()
.toList();
// 远程查询用户信息
SdmResponse<List<CIDUserResp>> userListSdmRsp = sysUserFeignClient.listUserByIds(
UserQueryReq.builder().userIds(creatorIds).build()
);
// 批量设置 creatorName
if (userListSdmRsp.isSuccess() && CollectionUtils.isNotEmpty(userListSdmRsp.getData())) {
Map<Long, CIDUserResp> cidUserMap = CidSysUserUtil.getCidUserToMap(userListSdmRsp.getData());
list.forEach(fileMetadataInfo -> {
Long creatorId = fileMetadataInfo.getCreatorId();
CIDUserResp cidUser = cidUserMap.get(creatorId);
String username = Objects.isNull(cidUser) ? "" : org.apache.commons.lang3.StringUtils.firstNonBlank(
cidUser.getNickname(),
cidUser.getUsername(),
cidUser.getRealName()
);
fileMetadataInfo.setCreatorName(username);
});
}
}
} catch (Exception e) {
log.error("setCreatorNames error:{}",e.getMessage());
}
}
}

View File

@@ -3,6 +3,7 @@ package com.sdm.project.controller;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.project.DelNodeReq;
import com.sdm.common.entity.req.project.RenameNodeReq;
import com.sdm.common.entity.req.project.SpdmNodeListReq;
import com.sdm.common.entity.resp.AllNodeByProjectIdAndTypeResp;
import com.sdm.common.feign.inter.project.ISimulationNodeFeignClient;
import com.sdm.project.model.req.*;

View File

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.project.DelNodeReq;
import com.sdm.common.entity.req.project.RenameNodeReq;
import com.sdm.common.entity.req.project.SpdmNodeListReq;
import com.sdm.common.entity.resp.AllNodeByProjectIdAndTypeResp;
import com.sdm.project.model.entity.SimulationNode;
import com.sdm.project.model.req.*;

View File

@@ -10,6 +10,7 @@ import com.sdm.common.entity.enums.NodeTypeEnum;
import com.sdm.common.entity.req.data.CreateDirReq;
import com.sdm.common.entity.req.project.DelNodeReq;
import com.sdm.common.entity.req.project.RenameNodeReq;
import com.sdm.common.entity.req.project.SpdmNodeListReq;
import com.sdm.common.entity.req.system.UserQueryReq;
import com.sdm.common.entity.resp.AllNodeByProjectIdAndTypeResp;
import com.sdm.common.entity.resp.system.CIDUserResp;