1、修改宜安科技同步任务接口

This commit is contained in:
2025-12-04 14:08:33 +08:00
parent c8b13f1cb5
commit 8be89eb776
3 changed files with 53 additions and 2 deletions

View File

@@ -86,4 +86,6 @@ public interface SimulationNodeMapper extends BaseMapper<SimulationNode> {
List<WorkstationApproveStatusVo> getWorkstationApproveStatus(@Param("req") GetWorkstationApproveStatusReq req);
SpdmNodeVo getNodeByProjectIdAndName(@Param("projectId") String projectId, @Param("projectName") String projectName);
}

View File

@@ -1258,16 +1258,60 @@ public class TaskServiceImpl implements ITaskService {
@Transactional
@Override
public BosimSaveProjectTaskRsp syncCidTask(SyncCidTaskReq req) {
BosimSaveProjectTaskRsp resp = new BosimSaveProjectTaskRsp();
String projectId = req.getProjectId();
String projectName = req.getProjectName();
if (StringUtils.isEmpty(projectId) || StringUtils.isEmpty(projectName)) {
log.error("同步cid任务时projectId或projectName为空");
resp.setCode(String.valueOf(ResultCode.FAILED.getCode()));
resp.setMessage(ResultCode.FAILED.getMessage());
return resp;
}
String curDateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
// 查询是否已同步过项目
SpdmNodeVo spdmNodeVo = nodeMapper.getNodeByProjectIdAndName(projectId,projectName);
if (ObjectUtils.isNotEmpty(spdmNodeVo)) {
SpdmProjectNodeEditReq spdmProjectNodeEditReq = new SpdmProjectNodeEditReq();
spdmProjectNodeEditReq.setNodeName(req.getProjectName());
spdmProjectNodeEditReq.setNodeType(NodeTypeEnum.PROJECT.getValue());
spdmProjectNodeEditReq.setUuid(req.getProjectId());
spdmProjectNodeEditReq.setPid(req.getProjectId());
spdmProjectNodeEditReq.setTag1(req.getProjectId());
spdmProjectNodeEditReq.setCreateTime(curDateStr);
spdmProjectNodeEditReq.setTenantId(ThreadLocalContext.getTenantId());
if (nodeMapper.addNodeBatch(Collections.singletonList(spdmProjectNodeEditReq)) <= 0) {
log.error("同步CID项目{}失败",req.getProjectId() + " " + req.getProjectName());
resp.setCode(String.valueOf(ResultCode.FAILED.getCode()));
resp.setMessage(ResultCode.FAILED.getMessage());
return resp;
}
try {
// 创建项目节点的文件夹
SdmResponse response = createDir(spdmProjectNodeEditReq.getUuid(), spdmProjectNodeEditReq.getNodeType(), null, spdmProjectNodeEditReq.getNodeName());
if (ObjectUtils.isEmpty(response) || response.getCode() != ResultCode.SUCCESS.getCode()) {
log.error("同步CID项目{}时,创建文件夹失败,原因为:{}",req.getProjectId() + " " + req.getProjectName(),response.getMessage());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
resp.setCode(String.valueOf(ResultCode.FAILED.getCode()));
resp.setMessage(ResultCode.FAILED.getMessage());
return resp;
}
}catch (Exception ex) {
log.error("同步CID项目{}时,创建文件夹异常,原因为:{}",req.getProjectId() + " " + req.getProjectName(),ex.getMessage());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
resp.setCode(String.valueOf(ResultCode.FAILED.getCode()));
resp.setMessage(ResultCode.FAILED.getMessage());
return resp;
}
}
log.info("syncCidTask参数为{}", req);
List<ProjectTaskInfo> taskInfoList = req.getTaskInfoList();
BosimSaveProjectTaskRsp resp = new BosimSaveProjectTaskRsp();
if (CollectionUtils.isEmpty(taskInfoList)) {
log.error("同步cid任务时任务为空");
resp.setCode(String.valueOf(ResultCode.FAILED.getCode()));
resp.setMessage(ResultCode.FAILED.getMessage());
return resp;
}
String curDateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
List<CidTaskNode> taskNodeList = new ArrayList<>();
for (ProjectTaskInfo projectTaskInfo : taskInfoList) {
CidTaskNode taskNode = new CidTaskNode();

View File

@@ -578,4 +578,9 @@
</if>
</where>
</select>
<select id="getNodeByProjectIdAndName" resultType="com.sdm.project.model.vo.SpdmNodeVo">
select * from simulation_node where uuid = #{projectId} and nodeName = #{projectName} and nodeType = 'project' limit 1
</select>
</mapper>