From bf26f136c07b7021cbc225b5376313ef1c696b48 Mon Sep 17 00:00:00 2001 From: zhuxinru Date: Fri, 19 Dec 2025 17:28:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=8D=B3=E6=97=B6=E9=80=9A=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E9=80=9A=E7=9F=A5=E5=8C=85=E7=BB=93=E6=9E=84=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/enums/MessageTemplateEnum.java | 1 + .../sdm/outbridge/mode}/FreeLinkParamDto.java | 3 +- .../com/sdm/outbridge/mode}/FreeLinkResp.java | 2 +- .../impl/lyric/FreeLinkServiceImpl.java | 12 ++++---- .../service/lyric/IFreeLinkService.java | 6 ++-- outbridge/src/main/resources/common.yml | 3 ++ .../service/impl/DemandServiceImpl.java | 4 +-- system/pom.xml | 14 +++++++++ .../com/sdm/system/SystemApplication.java | 2 +- .../SimulationExternalController.java | 30 ------------------- .../impl/SimulationApproveServiceImpl.java | 10 +++++++ .../impl/SimulationMessageServiceImpl.java | 12 ++++---- 12 files changed, 47 insertions(+), 52 deletions(-) rename {system/src/main/java/com/sdm/system/model/thirdparty => outbridge/src/main/java/com/sdm/outbridge/mode}/FreeLinkParamDto.java (92%) rename {system/src/main/java/com/sdm/system/model/thirdparty => outbridge/src/main/java/com/sdm/outbridge/mode}/FreeLinkResp.java (88%) rename system/src/main/java/com/sdm/system/service/impl/SimulationExternalServiceImpl.java => outbridge/src/main/java/com/sdm/outbridge/service/impl/lyric/FreeLinkServiceImpl.java (87%) rename system/src/main/java/com/sdm/system/service/ISimulationExternalService.java => outbridge/src/main/java/com/sdm/outbridge/service/lyric/IFreeLinkService.java (50%) delete mode 100644 system/src/main/java/com/sdm/system/controller/SimulationExternalController.java diff --git a/common/src/main/java/com/sdm/common/entity/enums/MessageTemplateEnum.java b/common/src/main/java/com/sdm/common/entity/enums/MessageTemplateEnum.java index ef15dd48..7b358b0b 100644 --- a/common/src/main/java/com/sdm/common/entity/enums/MessageTemplateEnum.java +++ b/common/src/main/java/com/sdm/common/entity/enums/MessageTemplateEnum.java @@ -7,6 +7,7 @@ public enum MessageTemplateEnum { TASK_ISSUE("任务通知", "收到一条下发的新任务:%s,请前去[任务管理-我执行的]进行处理"), DATA_ALERT("数据通知", "您的数据存储空间已达阈值,可前往[系统管理-数据存储-存储设置]查看"), + APPROVE_ALERT("审批通知", "收到一条%s审批任务代办,请前往任务中心-代办任务-流程任务审批"), HPC_START("作业通知", "作业已发起"), HPC_END("作业通知", "作业已结束") ; diff --git a/system/src/main/java/com/sdm/system/model/thirdparty/FreeLinkParamDto.java b/outbridge/src/main/java/com/sdm/outbridge/mode/FreeLinkParamDto.java similarity index 92% rename from system/src/main/java/com/sdm/system/model/thirdparty/FreeLinkParamDto.java rename to outbridge/src/main/java/com/sdm/outbridge/mode/FreeLinkParamDto.java index 53631272..235adc60 100644 --- a/system/src/main/java/com/sdm/system/model/thirdparty/FreeLinkParamDto.java +++ b/outbridge/src/main/java/com/sdm/outbridge/mode/FreeLinkParamDto.java @@ -1,9 +1,8 @@ -package com.sdm.system.model.thirdparty; +package com.sdm.outbridge.mode; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import java.io.Serial; import java.io.Serializable; @Data diff --git a/system/src/main/java/com/sdm/system/model/thirdparty/FreeLinkResp.java b/outbridge/src/main/java/com/sdm/outbridge/mode/FreeLinkResp.java similarity index 88% rename from system/src/main/java/com/sdm/system/model/thirdparty/FreeLinkResp.java rename to outbridge/src/main/java/com/sdm/outbridge/mode/FreeLinkResp.java index 80d0abd6..7c02701c 100644 --- a/system/src/main/java/com/sdm/system/model/thirdparty/FreeLinkResp.java +++ b/outbridge/src/main/java/com/sdm/outbridge/mode/FreeLinkResp.java @@ -1,4 +1,4 @@ -package com.sdm.system.model.thirdparty; +package com.sdm.outbridge.mode; import lombok.Data; diff --git a/system/src/main/java/com/sdm/system/service/impl/SimulationExternalServiceImpl.java b/outbridge/src/main/java/com/sdm/outbridge/service/impl/lyric/FreeLinkServiceImpl.java similarity index 87% rename from system/src/main/java/com/sdm/system/service/impl/SimulationExternalServiceImpl.java rename to outbridge/src/main/java/com/sdm/outbridge/service/impl/lyric/FreeLinkServiceImpl.java index c3b662ca..46f80f0e 100644 --- a/system/src/main/java/com/sdm/system/service/impl/SimulationExternalServiceImpl.java +++ b/outbridge/src/main/java/com/sdm/outbridge/service/impl/lyric/FreeLinkServiceImpl.java @@ -1,4 +1,4 @@ -package com.sdm.system.service.impl; +package com.sdm.outbridge.service.impl.lyric; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson2.JSON; @@ -9,9 +9,9 @@ import com.sdm.common.entity.req.system.UserQueryReq; import com.sdm.common.entity.resp.system.CIDUserResp; import com.sdm.common.feign.impl.system.SysUserFeignClientImpl; import com.sdm.common.utils.HttpClientUtil; -import com.sdm.system.model.thirdparty.FreeLinkParamDto; -import com.sdm.system.model.thirdparty.FreeLinkResp; -import com.sdm.system.service.ISimulationExternalService; +import com.sdm.outbridge.mode.FreeLinkParamDto; +import com.sdm.outbridge.mode.FreeLinkResp; +import com.sdm.outbridge.service.lyric.IFreeLinkService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -20,9 +20,9 @@ import org.springframework.stereotype.Service; @Service @Slf4j -public class SimulationExternalServiceImpl implements ISimulationExternalService { +public class FreeLinkServiceImpl implements IFreeLinkService { - @Value("${thirdparty.api.freeLinkUrl:}") + @Value("${freeLinkUrl:}") private String freeLinkUrl; @Autowired diff --git a/system/src/main/java/com/sdm/system/service/ISimulationExternalService.java b/outbridge/src/main/java/com/sdm/outbridge/service/lyric/IFreeLinkService.java similarity index 50% rename from system/src/main/java/com/sdm/system/service/ISimulationExternalService.java rename to outbridge/src/main/java/com/sdm/outbridge/service/lyric/IFreeLinkService.java index 51a36116..70f01b1f 100644 --- a/system/src/main/java/com/sdm/system/service/ISimulationExternalService.java +++ b/outbridge/src/main/java/com/sdm/outbridge/service/lyric/IFreeLinkService.java @@ -1,14 +1,12 @@ -package com.sdm.system.service; +package com.sdm.outbridge.service.lyric; import com.sdm.common.common.SdmResponse; import com.sdm.common.entity.req.system.SendMsgReq; -import com.sdm.system.model.thirdparty.FreeLinkParamDto; -import org.springframework.web.bind.annotation.RequestBody; /** * 对接外部第三方系统服务 */ -public interface ISimulationExternalService { +public interface IFreeLinkService { SdmResponse syncMsgToFreelink(SendMsgReq req); diff --git a/outbridge/src/main/resources/common.yml b/outbridge/src/main/resources/common.yml index 35536468..d71430a1 100644 --- a/outbridge/src/main/resources/common.yml +++ b/outbridge/src/main/resources/common.yml @@ -33,6 +33,9 @@ QUERY_TODO_RESULT_SUFFIX : /todoApi/todo/emulation/dm/result # 查询待办附加url后缀 QUERY_TOD_ATTACHMENT_SUFFIX : /todoApi/todo/emulation/dm/attachments +# 即时通消息通知 +freeLinkUrl: http://freelink.haihui.com/wechat/InformApi/FreelinkAndDingdingInform + # 海葵云 数据库连接 URL : jdbc:mysql://127.0.0.1:3306/spdm_baseline?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true # 海葵云 数据库用户名 diff --git a/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java index ba164e2d..2458d925 100644 --- a/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java @@ -645,6 +645,8 @@ public class DemandServiceImpl extends BaseService implements IDemandService { taskMemberNode.setUserId(userId); taskMemberNode.setType(MemberTypeEnum.EXECUTOR.getCode()); projectNodeMemberList.add(taskMemberNode); + // 发送消息通知 + sendMessage(MessageTemplateEnum.TASK_ISSUE, task.getNodeName(), userId); } } List extraList = task.getExtras(); @@ -696,8 +698,6 @@ public class DemandServiceImpl extends BaseService implements IDemandService { )); for (TaskNode taskNode : taskNodeList) { createDir(taskNode.getUuid(), parentUuid, taskNode.getNodeName()); - // 发送消息通知 - sendMessage(MessageTemplateEnum.TASK_ISSUE, taskNode.getNodeName(), taskNode.getUuid()); } for (TaskNode taskNode : taskNodeList) { // 更新文件权限 diff --git a/system/pom.xml b/system/pom.xml index c45830dc..0e84680c 100644 --- a/system/pom.xml +++ b/system/pom.xml @@ -81,6 +81,20 @@ org.springframework.boot spring-boot-starter-actuator + + + + com.sdm + outbridge + 0.0.1-SNAPSHOT + + + * + * + + + + diff --git a/system/src/main/java/com/sdm/system/SystemApplication.java b/system/src/main/java/com/sdm/system/SystemApplication.java index a9dbe61b..33aa0d53 100644 --- a/system/src/main/java/com/sdm/system/SystemApplication.java +++ b/system/src/main/java/com/sdm/system/SystemApplication.java @@ -10,7 +10,7 @@ import org.springframework.scheduling.annotation.EnableScheduling; -@SpringBootApplication(scanBasePackages = {"com.sdm.system","com.sdm.common"}) +@SpringBootApplication(scanBasePackages = {"com.sdm.system","com.sdm.common","com.sdm.outbridge"}) @EnableDiscoveryClient @EnableScheduling @EnableFeignClients(basePackages = "com.sdm.common.feign") diff --git a/system/src/main/java/com/sdm/system/controller/SimulationExternalController.java b/system/src/main/java/com/sdm/system/controller/SimulationExternalController.java deleted file mode 100644 index d54edaee..00000000 --- a/system/src/main/java/com/sdm/system/controller/SimulationExternalController.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.sdm.system.controller; - - -import com.sdm.common.common.SdmResponse; -import com.sdm.common.entity.req.system.SendMsgReq; -import com.sdm.common.feign.inter.system.ISysExternalFeignClient; -import com.sdm.system.service.ISimulationExternalService; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@Slf4j -@RestController -@RequestMapping("/external") -@Tag(name = "外部第三方接口模块") -public class SimulationExternalController implements ISysExternalFeignClient { - - @Autowired - private ISimulationExternalService externalService; - - @PostMapping("/syncMessage") - public SdmResponse syncMessage(@RequestBody SendMsgReq req) { - return externalService.syncMsgToFreelink(req); - } - -} diff --git a/system/src/main/java/com/sdm/system/service/impl/SimulationApproveServiceImpl.java b/system/src/main/java/com/sdm/system/service/impl/SimulationApproveServiceImpl.java index fe748d60..6ad07bb0 100644 --- a/system/src/main/java/com/sdm/system/service/impl/SimulationApproveServiceImpl.java +++ b/system/src/main/java/com/sdm/system/service/impl/SimulationApproveServiceImpl.java @@ -7,8 +7,10 @@ import com.sdm.common.common.ThreadLocalContext; import com.sdm.common.entity.constants.NumberConstants; import com.sdm.common.entity.req.system.FlowStatusParam; import com.sdm.common.entity.req.system.LaunchApproveReq; +import com.sdm.common.entity.req.system.SendMsgReq; import com.sdm.common.log.CoreLogger; import com.sdm.common.utils.HttpClientUtil; +import com.sdm.outbridge.service.lyric.IFreeLinkService; import com.sdm.system.dao.SimulationApproveMapper; import com.sdm.system.model.entity.ApproveTemplateBean; import com.sdm.system.service.ISimulatinoApprovalService; @@ -63,6 +65,9 @@ public class SimulationApproveServiceImpl implements ISimulatinoApprovalService @Autowired private ApproveNoticeStrategyFactory approveNoticeStrategyFactory; + @Autowired + private IFreeLinkService freeLinkService; + /** * 向CID发起审批流程 * @param flowId @@ -250,6 +255,11 @@ public class SimulationApproveServiceImpl implements ISimulatinoApprovalService else { sdmResponse.setData(cidFlowId); + // 同步即时通 + SendMsgReq req = new SendMsgReq(); + req.setUserId(String.valueOf(flowBean.userId)); + req.setContent("收到一条审批消息"); + SdmResponse response = freeLinkService.syncMsgToFreelink(req); } } return sdmResponse; diff --git a/system/src/main/java/com/sdm/system/service/impl/SimulationMessageServiceImpl.java b/system/src/main/java/com/sdm/system/service/impl/SimulationMessageServiceImpl.java index 5d28e673..7174d699 100644 --- a/system/src/main/java/com/sdm/system/service/impl/SimulationMessageServiceImpl.java +++ b/system/src/main/java/com/sdm/system/service/impl/SimulationMessageServiceImpl.java @@ -5,7 +5,7 @@ import com.alibaba.fastjson2.JSON; import com.sdm.common.common.SdmResponse; import com.sdm.common.entity.req.system.SendMsgReq; import com.sdm.common.utils.HttpClientUtil; -import com.sdm.system.service.ISimulationExternalService; +import com.sdm.outbridge.service.lyric.IFreeLinkService; import com.sdm.system.service.ISimulationMessageService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -27,7 +27,7 @@ public class SimulationMessageServiceImpl implements ISimulationMessageService { private HttpClientUtil httpClientUtil; @Autowired - private ISimulationExternalService externalService; + private IFreeLinkService freeLinkService; @Override public SdmResponse sendMessage(SendMsgReq req) { @@ -38,10 +38,10 @@ public class SimulationMessageServiceImpl implements ISimulationMessageService { SdmResponse response = JSON.parseObject(resultString, SdmResponse.class); if (response.isSuccess()) { // 同步即时通 - SdmResponse sdmResponse = externalService.syncMsgToFreelink(req); - if (!sdmResponse.isSuccess()) { - return sdmResponse; - } + SdmResponse sdmResponse = freeLinkService.syncMsgToFreelink(req); +// if (!sdmResponse.isSuccess()) { +// return sdmResponse; +// } return response; } return SdmResponse.failed("发送消息通知失败:");