修改飞书推送待办

This commit is contained in:
梁琦涛
2024-08-05 11:03:48 +08:00
parent d9a527cf37
commit 1d7e7c82de
4 changed files with 41 additions and 34 deletions
@@ -1,15 +1,14 @@
package com.jero.modules.docking.hiwork.service.impl; package com.jero.modules.docking.hiwork.service.impl;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.api.dto.message.UnifiedTodoVO; import com.jero.common.api.dto.message.UnifiedTodoVO;
import com.jero.common.constant.CommonConstant; import com.jero.common.constant.CommonConstant;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.modules.activiti.entity.ProcessAll; import com.jero.modules.activiti.entity.ProcessAll;
import com.jero.modules.activiti.entity.ProcessApprovalRecord; import com.jero.modules.activiti.entity.ProcessApprovalRecord;
import com.jero.modules.activiti.entity.ProcessNode; import com.jero.modules.activiti.entity.ProcessNode;
import com.jero.modules.activiti.enums.CommitFlagEnum; import com.jero.modules.activiti.enums.CommitFlagEnum;
import com.jero.modules.activiti.enums.ProcessTypeEnum;
import com.jero.modules.activiti.service.ProcessAllService; import com.jero.modules.activiti.service.ProcessAllService;
import com.jero.modules.activiti.service.ProcessApprovalRecordService; import com.jero.modules.activiti.service.ProcessApprovalRecordService;
import com.jero.modules.activiti.service.ProcessNodeService; import com.jero.modules.activiti.service.ProcessNodeService;
@@ -26,14 +25,13 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
/** /**
* @Author: liao *
* @Date: 2023/10/13 14:23 * @Date: 2023/10/13 14:23
* @Description: 待办 * @Description: 飞书推送待办
*/ */
@Slf4j @Slf4j
@Service @Service
@@ -57,10 +55,6 @@ public class SendFeiShuServiceImpl implements ISendFeiShuService {
private String promoterPcLink; private String promoterPcLink;
@Value("${feishu.review_pc_link}") @Value("${feishu.review_pc_link}")
private String reviewPcLink; private String reviewPcLink;
@Value("${feishu.promoter_mobile_link}")
private String promoterMobileLink;
@Value("${feishu.review_mobile_link}")
private String reviewMobileLink;
/** /**
* @Author: liao * @Author: liao
@@ -121,7 +115,10 @@ public class SendFeiShuServiceImpl implements ISendFeiShuService {
String transferTaskId = processApprovalRecord.getTransferTaskId(); String transferTaskId = processApprovalRecord.getTransferTaskId();
String taskId = processApprovalRecord.getTaskId(); String taskId = processApprovalRecord.getTaskId();
InstanceDto instanceDto = new InstanceDto(); InstanceDto instanceDto = new InstanceDto();
instanceDto.setPromoterUserId(processAll.getCreateUserId()); SysUser sysUserCreate = sysUserService.getById(processAll.getCreateUserId());
if(!Objects.isNull(sysUserCreate)){
instanceDto.setPromoterUseName(sysUserCreate.getRealname());
}
instanceDto.setReviewedIds(userId); instanceDto.setReviewedIds(userId);
SysUser sysUser = sysUserService.getById(userId); SysUser sysUser = sysUserService.getById(userId);
String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(processAll.getCreateTime()); String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(processAll.getCreateTime());
@@ -146,13 +143,30 @@ public class SendFeiShuServiceImpl implements ISendFeiShuService {
CommitFlagEnum.PASS.getValue()) ? "APPROVED" : "REJECTED"; CommitFlagEnum.PASS.getValue()) ? "APPROVED" : "REJECTED";
break; break;
} }
String projectId = "";
if (StrUtil.isNotBlank(processAll.getProjectId())){
projectId = processAll.getProjectId();
}
instanceDto.setInstanceStatus(instanceStatus); instanceDto.setInstanceStatus(instanceStatus);
instanceDto.setTaskStatus(status); instanceDto.setTaskStatus(status);
instanceDto.setPromoterPcLink(promoterPcLink); String url = promoterPcLink
instanceDto.setReviewPcLink(reviewPcLink); .replace("{projectId}",projectId)
instanceDto.setPromoterMobileLink(promoterMobileLink); .replace("{taskName}",processApprovalRecord.getTaskName())
instanceDto.setReviewMobileLink(reviewMobileLink); .replace("{taskId}", StringUtils.isBlank(transferTaskId) ? taskId : transferTaskId)
.replace("{processInstanceId}",processApprovalRecord.getProcessInstanceId())
.replace("{nodeId}",processApprovalRecord.getNodeId());
// 跳转链接
String businessLink = Objects.requireNonNull(ProcessTypeEnum.getFontReturnUrlPc(processAll.getPrcType())) + url;
instanceDto.setPromoterPcLink(businessLink);
// APP跳转链接
String appUrl = reviewPcLink
.replace("{projectId}",projectId)
.replace("{taskName}",processApprovalRecord.getTaskName())
.replace("{taskId}", StringUtils.isBlank(transferTaskId) ? taskId : transferTaskId)
.replace("{processInstanceId}",processApprovalRecord.getProcessInstanceId())
.replace("{nodeId}",processApprovalRecord.getNodeId());
String appBusinessLink = appUrl.replace("{url}", Objects.requireNonNull(ProcessTypeEnum.getFontReturnUrlPc(processAll.getPrcType())));
instanceDto.setReviewPcLink(appBusinessLink);
feiShuDockingService.synchronizeApprovalInstance(instanceDto); feiShuDockingService.synchronizeApprovalInstance(instanceDto);
} }
} }
@@ -11,10 +11,10 @@ import lombok.Getter;
@AllArgsConstructor @AllArgsConstructor
public enum ProcessTypeEnum { public enum ProcessTypeEnum {
DEMO("测试流程", 0, "com.jero.modules.activiti.process.demo.service.ProcessDemoService", "/workCenter/StandardEntryOrChangeProcess", "/workCenter/StandardEntryOrChangeProcess"), DEMO("测试流程", 0, "com.jero.modules.activiti.process.demo.service.ProcessDemoService", "/workCenter/StandardEntryOrChangeProcess", "/workCenter/StandardEntryOrChangeProcess"),
NEW_STANDARD_IMPORT("新法规导入流程", 1, "com.jero.modules.activiti.process.ni.service.impl.ProcessNewStandardImportServiceImpl", "/workCenter/", "/workCenter/"), NEW_STANDARD_IMPORT("新法规导入流程", 1, "com.jero.modules.activiti.process.ni.service.impl.ProcessNewStandardImportServiceImpl", "/workCenter/NewRegulationIntroductionProcess", "/workCenter/NewRegulationIntroductionProcess"),
STANDARD_INTERPRET("标准解读流程", 2, "com.jero.modules.activiti.process.standardinterpret.service.impl.StandardInterpretFlow", "", ""), STANDARD_INTERPRET("标准解读流程", 2, "com.jero.modules.activiti.process.standardinterpret.service.impl.StandardInterpretFlow", "/workCenter/StandardInterpretationProcess", "/workCenter/StandardInterpretationProcess"),
STANDARD_COMPLIANCE_CHECK("法规符合性排查流程", 3, "com.jero.modules.activiti.process.standardComplianceCheck.service.impl.ProcessStandardComplianceCheckServiceImpl", "/workCenter/StandardComplianceCheckProcess", "/workCenter/StandardComplianceCheckProcess"), STANDARD_COMPLIANCE_CHECK("法规符合性排查流程", 3, "com.jero.modules.activiti.process.standardComplianceCheck.service.impl.ProcessStandardComplianceCheckServiceImpl", "/workCenter/RegulatoryComplianceCheckProcess", "/workCenter/RegulatoryComplianceCheckProcess"),
MARKET_STANDARD_PUBLISH("市场清单发布流程", 4, "com.jero.modules.activiti.process.ms.service.impl.ProcessMarketStandardReleaseServiceImpl", "/workCenter/", "/workCenter/"), MARKET_STANDARD_PUBLISH("市场清单发布流程", 4, "com.jero.modules.activiti.process.ms.service.impl.ProcessMarketStandardReleaseServiceImpl", "/workCenter/MarketListReleaseProcess", "/workCenter/MarketListReleaseProcess"),
; ;
private final String name; private final String name;
@@ -398,8 +398,8 @@ hiwork:
isWorkflow: true isWorkflow: true
# 前端调用地址 # 前端调用地址
url: https://iamuat.mychery.com:5443/idp/oauth2/authorize?state=123&client_id=CGRSM&redirect_uri= url: https://iamuat.mychery.com:5443/idp/oauth2/authorize?state=123&client_id=CGRSM&redirect_uri=
fontUrl: http://localhost:3344{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId} fontUrl: ?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
fontAppUrl: http://localhost:3344/mobile{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId} fontAppUrl: /mobile{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
#hiwork单点登录 #hiwork单点登录
appkey: dingshfclphtivrd0r7k appkey: dingshfclphtivrd0r7k
appsecret: dqhom_17n6BC8pmLeaf5wNp4aV_4XSt_aYn-dNBo8z__-79NjVvZhDJ_M2REdxRc appsecret: dqhom_17n6BC8pmLeaf5wNp4aV_4XSt_aYn-dNBo8z__-79NjVvZhDJ_M2REdxRc
@@ -594,10 +594,7 @@ feishu:
# 飞书单点登录地址 # 飞书单点登录地址
sign_login_in: ${feishu.base_url}/authen/v1/index?redirect_uri={REDIRECT_URI}&app_id=${feishu.app_id}&state=feishu sign_login_in: ${feishu.base_url}/authen/v1/index?redirect_uri={REDIRECT_URI}&app_id=${feishu.app_id}&state=feishu
# 飞书PC端待办地址 # 飞书PC端待办地址
promoter_pc_link: ${feishu.redirect_prefix}/workCenter/processCenter/processCenter promoter_pc_link: ${feishu.redirect_prefix}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
# 飞书PC端发起流程地址 # 飞书PC端发起流程地址
review_pc_link: ${feishu.redirect_prefix}/workCenter/processCenter/processCenter review_pc_link: ${feishu.redirect_prefix}/mobile{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
# 飞书app端待办地址
promoter_mobile_link: ${feishu.redirect_prefix}/workCenter/processCenter/processCenter
# 飞书app端发起流程地址
review_mobile_link: ${feishu.redirect_prefix}/workCenter/processCenter/processCenter
@@ -598,10 +598,6 @@ feishu:
# 飞书单点登录地址 # 飞书单点登录地址
sign_login_in: ${feishu.base_url}/authen/v1/index?redirect_uri={REDIRECT_URI}&app_id=${feishu.app_id}&state=feishu sign_login_in: ${feishu.base_url}/authen/v1/index?redirect_uri={REDIRECT_URI}&app_id=${feishu.app_id}&state=feishu
# 飞书PC端待办地址 # 飞书PC端待办地址
promoter_pc_link: ${feishu.redirect_prefix}/workCenter/processCenter/processCenter promoter_pc_link: ${feishu.redirect_prefix}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
# 飞书PC端发起流程地址 # 飞书PC端发起流程地址
review_pc_link: ${feishu.redirect_prefix}/workCenter/processCenter/processCenter review_pc_link: ${feishu.redirect_prefix}/mobile{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
# 飞书app端待办地址
promoter_mobile_link: ${feishu.redirect_prefix}/workCenter/processCenter/processCenter
# 飞书app端发起流程地址
review_mobile_link: ${feishu.redirect_prefix}/workCenter/processCenter/processCenter