fix:即时通消息通知带工号
This commit is contained in:
@@ -70,6 +70,14 @@ public enum ApprovalFileDataStatusEnum {
|
||||
return status != null ? status.getKey() : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据key获取desc
|
||||
*/
|
||||
public static String getDescByKey(String key) {
|
||||
ApprovalFileDataStatusEnum status = getByKey(key);
|
||||
return status != null ? status.getDescription() : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查key是否有效
|
||||
*/
|
||||
|
||||
@@ -25,4 +25,16 @@ public enum ApproveTypeEnum {
|
||||
return description;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据key获取枚举
|
||||
*/
|
||||
public static String getDescByCode(int code) {
|
||||
for (ApproveTypeEnum approveTypeEnum : values()) {
|
||||
if (approveTypeEnum.getCode() == code) {
|
||||
return approveTypeEnum.getDescription();
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -5,9 +5,9 @@ package com.sdm.common.entity.enums;
|
||||
*/
|
||||
public enum MessageTemplateEnum {
|
||||
|
||||
TASK_ISSUE("任务通知", "收到一条下发的新任务:%s,请前去[任务管理-我执行的]进行处理"),
|
||||
DATA_ALERT("数据通知", "您的数据存储空间已达阈值,可前往[系统管理-数据存储-存储设置]查看"),
|
||||
APPROVE_ALERT("审批通知", "收到一条%s审批任务代办,请前往任务中心-代办任务-流程任务审批"),
|
||||
TASK_ISSUE("任务通知", "接收到下发的仿真任务:%s,请前往仿真数据管理平台查看"),
|
||||
DATA_ALERT("数据通知", "您的数据存储空间已达阈值,请前往仿真数据管理平台查看"),
|
||||
APPROVE_ALERT("审批通知", "收到一条%s消息,请前往仿真数据管理平台查看"),
|
||||
HPC_START("作业通知", "作业已发起"),
|
||||
HPC_END("作业通知", "作业已结束")
|
||||
;
|
||||
|
||||
@@ -19,4 +19,9 @@ public class SendMsgReq {
|
||||
|
||||
@Schema(description = "业务参数")
|
||||
private String params;
|
||||
|
||||
/**
|
||||
* 是否发送cid消息
|
||||
*/
|
||||
private boolean sendCid = true;
|
||||
}
|
||||
|
||||
@@ -20,6 +20,9 @@ public class CIDUserResp implements Serializable{
|
||||
@Schema(description = "用户名(登录或展示用,可选,建议唯一)")
|
||||
private String username;
|
||||
|
||||
@Schema(description = "工号")
|
||||
private String jobNumber;
|
||||
|
||||
@Schema(description = "手机号(需符合手机号格式,可选,建议唯一)")
|
||||
private String phone;
|
||||
|
||||
|
||||
@@ -5,9 +5,12 @@ import com.alibaba.fastjson2.JSONObject;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.common.ThreadLocalContext;
|
||||
import com.sdm.common.entity.constants.NumberConstants;
|
||||
import com.sdm.common.entity.enums.ApproveTypeEnum;
|
||||
import com.sdm.common.entity.enums.MessageTemplateEnum;
|
||||
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.feign.inter.system.IMessageFeignClient;
|
||||
import com.sdm.common.log.CoreLogger;
|
||||
import com.sdm.common.utils.HttpClientUtil;
|
||||
import com.sdm.outbridge.service.lyric.IFreeLinkService;
|
||||
@@ -68,6 +71,9 @@ public class SimulationApproveServiceImpl implements ISimulatinoApprovalService
|
||||
@Autowired
|
||||
private IFreeLinkService freeLinkService;
|
||||
|
||||
@Autowired
|
||||
private IMessageFeignClient messageFeignClient;
|
||||
|
||||
/**
|
||||
* 向CID发起审批流程
|
||||
* @param flowId
|
||||
@@ -256,15 +262,22 @@ public class SimulationApproveServiceImpl implements ISimulatinoApprovalService
|
||||
{
|
||||
sdmResponse.setData(cidFlowId);
|
||||
// 同步即时通
|
||||
SendMsgReq req = new SendMsgReq();
|
||||
req.setUserId(String.valueOf(flowBean.userId));
|
||||
req.setContent("收到一条审批消息");
|
||||
SdmResponse response = freeLinkService.syncMsgToFreelink(req);
|
||||
sendMessage(MessageTemplateEnum.APPROVE_ALERT, ApproveTypeEnum.getDescByCode(flowBean.approveType));
|
||||
}
|
||||
}
|
||||
return sdmResponse;
|
||||
}
|
||||
|
||||
private void sendMessage(MessageTemplateEnum templateEnum, String taskName) {
|
||||
SendMsgReq req = new SendMsgReq();
|
||||
req.setTitle(templateEnum.getTitle());
|
||||
req.setContent(templateEnum.getContent(taskName));
|
||||
req.setTenantId(ThreadLocalContext.getTenantId().toString());
|
||||
req.setUserId(ThreadLocalContext.getUserId().toString());
|
||||
req.setSendCid(false);
|
||||
messageFeignClient.sendMessage(req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前评审流程的状态详情
|
||||
* @param flowId
|
||||
|
||||
@@ -3,9 +3,15 @@ package com.sdm.system.service.impl;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.common.ThreadLocalContext;
|
||||
import com.sdm.common.entity.req.system.SendMsgReq;
|
||||
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.outbridge.service.lyric.IFreeLinkService;
|
||||
import com.sdm.outbridge.mode.FreeLinkMsg;
|
||||
import com.sdm.outbridge.mode.FreelinkAndDingdingInformReq;
|
||||
import com.sdm.outbridge.service.lyric.LyricIntegrateService;
|
||||
import com.sdm.system.service.ISimulationMessageService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -23,28 +29,60 @@ public class SimulationMessageServiceImpl implements ISimulationMessageService {
|
||||
@Value("${cid.msg.sendMessage}")
|
||||
private String sendMessagePath;
|
||||
|
||||
@Value("${thirdparty.freelink.sendUserId}")
|
||||
private String sendUserId;
|
||||
|
||||
@Value("${thirdparty.freelink.switchFlag}")
|
||||
private String switchFlag;
|
||||
|
||||
@Autowired
|
||||
private HttpClientUtil httpClientUtil;
|
||||
|
||||
@Autowired
|
||||
private IFreeLinkService freeLinkService;
|
||||
private LyricIntegrateService lyricIntegrateService;
|
||||
|
||||
@Autowired
|
||||
SysUserFeignClientImpl sysUserFeignClient;
|
||||
|
||||
@Override
|
||||
public SdmResponse sendMessage(SendMsgReq req) {
|
||||
String url = cidUrl + sendMessagePath;
|
||||
try {
|
||||
log.info("[sendMessage] url:{}, param:{}", url, JSONUtil.toJsonStr(req));
|
||||
String resultString = httpClientUtil.doPostJson(url, JSON.toJSONString(req));
|
||||
SdmResponse response = JSON.parseObject(resultString, SdmResponse.class);
|
||||
if (response.isSuccess()) {
|
||||
// 同步即时通
|
||||
SdmResponse sdmResponse = freeLinkService.syncMsgToFreelink(req);
|
||||
// if (!sdmResponse.isSuccess()) {
|
||||
// return sdmResponse;
|
||||
// }
|
||||
return response;
|
||||
if (req.isSendCid()) {
|
||||
String resultString = httpClientUtil.doPostJson(url, JSON.toJSONString(req));
|
||||
SdmResponse response = JSON.parseObject(resultString, SdmResponse.class);
|
||||
if (!response.isSuccess()) {
|
||||
return SdmResponse.failed("发送消息通知失败:");
|
||||
}
|
||||
}
|
||||
return SdmResponse.failed("发送消息通知失败:");
|
||||
FreelinkAndDingdingInformReq param = new FreelinkAndDingdingInformReq();
|
||||
// 根据userId查询工号
|
||||
UserQueryReq userReq = new UserQueryReq();
|
||||
userReq.setUserId(ThreadLocalContext.getUserId());
|
||||
userReq.setTenantId(ThreadLocalContext.getTenantId());
|
||||
SdmResponse<CIDUserResp> sdmResponse = sysUserFeignClient.queryUserDetail(userReq);
|
||||
if (sdmResponse.getData() != null) {
|
||||
param.setJobNo(sdmResponse.getData().getJobNumber());
|
||||
}
|
||||
FreeLinkMsg freeLinkMsg = new FreeLinkMsg();
|
||||
if (switchFlag.equals("true")) {
|
||||
userReq.setUserId(Long.valueOf(req.getUserId()));
|
||||
SdmResponse<CIDUserResp> response = sysUserFeignClient.queryUserDetail(userReq);
|
||||
if (response.getData() != null) {
|
||||
freeLinkMsg.setId(response.getData().getJobNumber());
|
||||
}
|
||||
} else {
|
||||
freeLinkMsg.setId(sendUserId);
|
||||
}
|
||||
freeLinkMsg.setType("text");
|
||||
freeLinkMsg.setMsg(req.getContent());
|
||||
freeLinkMsg.setUser("66666");
|
||||
freeLinkMsg.setPawd("lyric@123");
|
||||
freeLinkMsg.setFreelinkAppId("d7eb3ef7c8e8c93e7c6e978fee848646");
|
||||
param.setFreeLinkMsg(freeLinkMsg);
|
||||
SdmResponse response1 = lyricIntegrateService.pushFreeLinkMsg(param);
|
||||
return response1;
|
||||
} catch (Exception e) {
|
||||
log.error("发送消息通知失败", e);
|
||||
return SdmResponse.failed("发送消息通知失败");
|
||||
|
||||
@@ -174,9 +174,9 @@ cid:
|
||||
saveLog: /spdm-log/saveLog
|
||||
|
||||
thirdparty:
|
||||
api:
|
||||
# 即时通消息通知
|
||||
freeLinkUrl: http://freelink.haihui.com/wechat/InformApi/FreelinkAndDingdingInform
|
||||
freelink:
|
||||
sendUserId: Q12345
|
||||
switchFlag: false
|
||||
|
||||
security:
|
||||
whitelist:
|
||||
|
||||
@@ -174,9 +174,9 @@ cid:
|
||||
saveLog: /spdm-log/saveLog
|
||||
|
||||
thirdparty:
|
||||
api:
|
||||
# 即时通消息通知
|
||||
freeLinkUrl: http://freelink.haihui.com/wechat/InformApi/FreelinkAndDingdingInform
|
||||
freelink:
|
||||
sendUserId: Q12345
|
||||
switchFlag: false
|
||||
|
||||
security:
|
||||
whitelist:
|
||||
|
||||
@@ -174,9 +174,9 @@ cid:
|
||||
saveLog: /spdm-log/saveLog
|
||||
|
||||
thirdparty:
|
||||
api:
|
||||
# 即时通消息通知
|
||||
freeLinkUrl: http://freelink.haihui.com/wechat/InformApi/FreelinkAndDingdingInform
|
||||
freelink:
|
||||
sendUserId: Q12345
|
||||
switchFlag: false
|
||||
|
||||
security:
|
||||
whitelist:
|
||||
|
||||
@@ -174,9 +174,9 @@ cid:
|
||||
saveLog: /spdm-log/saveLog
|
||||
|
||||
thirdparty:
|
||||
api:
|
||||
# 即时通消息通知
|
||||
freeLinkUrl: http://freelink.haihui.com/wechat/InformApi/FreelinkAndDingdingInform
|
||||
freelink:
|
||||
sendUserId: Q12345
|
||||
switchFlag: false
|
||||
|
||||
security:
|
||||
whitelist:
|
||||
|
||||
Reference in New Issue
Block a user