diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/SendFeiShuServiceImpl.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/SendFeiShuServiceImpl.java index 081db2cb..5c276742 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/SendFeiShuServiceImpl.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/SendFeiShuServiceImpl.java @@ -1,15 +1,14 @@ 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.jero.common.api.dto.message.UnifiedTodoVO; 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.ProcessApprovalRecord; import com.jero.modules.activiti.entity.ProcessNode; 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.ProcessApprovalRecordService; import com.jero.modules.activiti.service.ProcessNodeService; @@ -26,14 +25,13 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.text.SimpleDateFormat; -import java.util.Date; import java.util.List; import java.util.Objects; /** - * @Author: liao + * * @Date: 2023/10/13 14:23 - * @Description: 待办 + * @Description: 飞书推送待办 */ @Slf4j @Service @@ -57,10 +55,6 @@ public class SendFeiShuServiceImpl implements ISendFeiShuService { private String promoterPcLink; @Value("${feishu.review_pc_link}") private String reviewPcLink; - @Value("${feishu.promoter_mobile_link}") - private String promoterMobileLink; - @Value("${feishu.review_mobile_link}") - private String reviewMobileLink; /** * @Author: liao @@ -121,7 +115,10 @@ public class SendFeiShuServiceImpl implements ISendFeiShuService { String transferTaskId = processApprovalRecord.getTransferTaskId(); String taskId = processApprovalRecord.getTaskId(); 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); SysUser sysUser = sysUserService.getById(userId); 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"; break; } - + String projectId = ""; + if (StrUtil.isNotBlank(processAll.getProjectId())){ + projectId = processAll.getProjectId(); + } instanceDto.setInstanceStatus(instanceStatus); instanceDto.setTaskStatus(status); - instanceDto.setPromoterPcLink(promoterPcLink); - instanceDto.setReviewPcLink(reviewPcLink); - instanceDto.setPromoterMobileLink(promoterMobileLink); - instanceDto.setReviewMobileLink(reviewMobileLink); + String url = promoterPcLink + .replace("{projectId}",projectId) + .replace("{taskName}",processApprovalRecord.getTaskName()) + .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); } } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/enums/ProcessTypeEnum.java b/laws-modules/src/main/java/com/jero/modules/activiti/enums/ProcessTypeEnum.java index 56abf542..ad38ac22 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/enums/ProcessTypeEnum.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/enums/ProcessTypeEnum.java @@ -11,10 +11,10 @@ import lombok.Getter; @AllArgsConstructor public enum ProcessTypeEnum { 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/"), - STANDARD_INTERPRET("标准解读流程", 2, "com.jero.modules.activiti.process.standardinterpret.service.impl.StandardInterpretFlow", "", ""), - STANDARD_COMPLIANCE_CHECK("法规符合性排查流程", 3, "com.jero.modules.activiti.process.standardComplianceCheck.service.impl.ProcessStandardComplianceCheckServiceImpl", "/workCenter/StandardComplianceCheckProcess", "/workCenter/StandardComplianceCheckProcess"), - MARKET_STANDARD_PUBLISH("市场清单发布流程", 4, "com.jero.modules.activiti.process.ms.service.impl.ProcessMarketStandardReleaseServiceImpl", "/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", "/workCenter/StandardInterpretationProcess", "/workCenter/StandardInterpretationProcess"), + 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/MarketListReleaseProcess", "/workCenter/MarketListReleaseProcess"), ; private final String name; diff --git a/laws-single-startup/src/main/resources/application-dev-chery.yml b/laws-single-startup/src/main/resources/application-dev-chery.yml index 1f71e31e..b1819861 100644 --- a/laws-single-startup/src/main/resources/application-dev-chery.yml +++ b/laws-single-startup/src/main/resources/application-dev-chery.yml @@ -398,8 +398,8 @@ hiwork: isWorkflow: true # 前端调用地址 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} - fontAppUrl: http://localhost:3344/mobile{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId} + fontUrl: ?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId} + fontAppUrl: /mobile{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId} #hiwork单点登录 appkey: dingshfclphtivrd0r7k 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 # 飞书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端发起流程地址 - review_pc_link: ${feishu.redirect_prefix}/workCenter/processCenter/processCenter - # 飞书app端待办地址 - promoter_mobile_link: ${feishu.redirect_prefix}/workCenter/processCenter/processCenter - # 飞书app端发起流程地址 - review_mobile_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} + diff --git a/laws-single-startup/src/main/resources/application-dev.yml b/laws-single-startup/src/main/resources/application-dev.yml index faef16d9..5e17241d 100644 --- a/laws-single-startup/src/main/resources/application-dev.yml +++ b/laws-single-startup/src/main/resources/application-dev.yml @@ -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 # 飞书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端发起流程地址 - review_pc_link: ${feishu.redirect_prefix}/workCenter/processCenter/processCenter - # 飞书app端待办地址 - promoter_mobile_link: ${feishu.redirect_prefix}/workCenter/processCenter/processCenter - # 飞书app端发起流程地址 - review_mobile_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}