新增 任务分配 站内信模板

This commit is contained in:
furongxin 2024-05-24 12:55:15 +08:00
parent 77c631cb21
commit c405dd9d7b
2 changed files with 44 additions and 17 deletions

View File

@ -14,7 +14,9 @@ public enum BpmMessageEnum {
PROCESS_INSTANCE_APPROVE("bpm_process_instance_approve"), // 流程任务被审批通过时发送给申请人
PROCESS_INSTANCE_REJECT("bpm_process_instance_reject"), // 流程任务被审批不通过时发送给申请人
TASK_ASSIGNED("bpm_task_assigned"); // 任务被分配时发送给审批人
TASK_ASSIGNED("bpm_task_assigned"), // 任务被分配时发送给审批人
BPM_WORK_TASK("bpm_work_task"), //任务分配发起任务
BPM_WORK_TASK_COMPLETE("bpm_work_task_complete"); //任务分配任务完成
/**
* 短信模板的标识

View File

@ -64,20 +64,33 @@ public class BpmMessageServiceImpl implements BpmMessageService {
// smsSendApi.sendSingleSmsToAdmin(BpmMessageConvert.INSTANCE.convert(reqDTO.getStartUserId(),
// BpmMessageEnum.PROCESS_INSTANCE_APPROVE.getSmsTemplateCode(), templateParams));
//发送站内信息
notifyMessageSendApi.sendSingleMessageToAdmin(BpmMessageConvert.INSTANCE.convert1(reqDTO.getStartUserId(),
BpmMessageEnum.PROCESS_INSTANCE_APPROVE.getSmsTemplateCode(), templateParams));
// 获得任务分配数据
String nickName = null;
BpmOAWorkTaskDO workTaskDO = workTaskService.getWorkTaskByProcessInstanceId(reqDTO.getProcessInstanceId());
if (workTaskDO != null) {
nickName = userApi.getUser(workTaskDO.getReceiverUserId()).getCheckedData().getNickname();
templateParams = new HashMap<>();
templateParams.put("userName", nickName);
templateParams.put("detailUrl", webProperties.getAdminUi().getUrl() + "/work-task/allocation?fromUserId=" + workTaskDO.getFromUserId() + "&userId=" + workTaskDO.getReceiverUserId());
//站内信
notifyMessageSendApi.sendSingleMessageToAdmin(BpmMessageConvert.INSTANCE.convert1(
reqDTO.getStartUserId(), BpmMessageEnum.BPM_WORK_TASK_COMPLETE.getSmsTemplateCode(), templateParams));
}else {
//发送站内信息
notifyMessageSendApi.sendSingleMessageToAdmin(BpmMessageConvert.INSTANCE.convert1(reqDTO.getStartUserId(),
BpmMessageEnum.PROCESS_INSTANCE_APPROVE.getSmsTemplateCode(), templateParams));
}
//发送审批结果通知至微信
String openId = getUserOpenId(reqDTO.getStartUserId());
if (openId != null) {
// 获得任务分配数据
BpmOAWorkTaskDO workTaskDO = workTaskService.getWorkTaskByProcessInstanceId(reqDTO.getProcessInstanceId());
if (workTaskDO != null) {
String nickName = userApi.getUser(workTaskDO.getReceiverUserId()).getCheckedData().getNickname();
subscribeMessageSendApi.sendWorkLogComment(BpmMessageConvert.INSTANCE.convertWorkTask(
openId, reqDTO.getProcessInstanceName(), workTaskDO, nickName, reqDTO.getCreateTime(),
"formal", true));
@ -168,17 +181,32 @@ public class BpmMessageServiceImpl implements BpmMessageService {
//短信
// smsSendApi.sendSingleSmsToAdmin(BpmMessageConvert.INSTANCE.convert(reqDTO.getAssigneeUserId(),
// BpmMessageEnum.TASK_ASSIGNED.getSmsTemplateCode(), templateParams));
//站内信
notifyMessageSendApi.sendSingleMessageToAdmin(BpmMessageConvert.INSTANCE.convert1(
reqDTO.getAssigneeUserId(), BpmMessageEnum.TASK_ASSIGNED.getSmsTemplateCode(), templateParams));
// 获得任务分配数据
BpmOAWorkTaskDO workTaskDO = workTaskService.getWorkTaskByProcessInstanceId(reqDTO.getProcessInstanceId());
if (workTaskDO != null) {
templateParams = new HashMap<>();
templateParams.put("taskName", workTaskDO.getTaskName());
templateParams.put("startUserNickname", reqDTO.getStartUserNickname());
templateParams.put("detailUrl", webProperties.getAdminUi().getUrl() + "/work-task/my-task?fromUserId=" + workTaskDO.getFromUserId());
//站内信
notifyMessageSendApi.sendSingleMessageToAdmin(BpmMessageConvert.INSTANCE.convert1(
reqDTO.getAssigneeUserId(), BpmMessageEnum.BPM_WORK_TASK.getSmsTemplateCode(), templateParams));
}else {
//站内信
notifyMessageSendApi.sendSingleMessageToAdmin(BpmMessageConvert.INSTANCE.convert1(
reqDTO.getAssigneeUserId(), BpmMessageEnum.TASK_ASSIGNED.getSmsTemplateCode(), templateParams));
}
//微信小程序订阅消息
//发送OA流程待办提醒
String openId = getUserOpenId(assigneeUserId); //只有在微信小程序登陆过用户才会有openid
if (openId != null) {
// 获得任务分配数据
BpmOAWorkTaskDO workTaskDO = workTaskService.getWorkTaskByProcessInstanceId(reqDTO.getProcessInstanceId());
if (workTaskDO != null) {
subscribeMessageSendApi.sendWorkLogComment(BpmMessageConvert.INSTANCE.convertWorkTask(
@ -200,11 +228,8 @@ public class BpmMessageServiceImpl implements BpmMessageService {
return webProperties.getAdminUi().getUrl() + "/process-instance/detail?id=" + taskId;
}
@Resource
private AdminUserApi adminUserApi;
private String getUserOpenId(Long userId) {
AdminUserRespDTO adminUserRespDTO = adminUserApi.getUser(userId).getData();
AdminUserRespDTO adminUserRespDTO = userApi.getUser(userId).getData();
return adminUserRespDTO.getOpenId();
}