From e2940b4c744608de3379e34103c6f744a26aea57 Mon Sep 17 00:00:00 2001 From: CMM <2198256324@qq.com> Date: Thu, 23 Feb 2023 14:30:09 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=BC=82=E6=AD=A5=E5=8F=91=E9=80=81?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E9=80=9A=E7=9F=A5=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pmapi/common/util/SendWorkNoticeUtil.java | 57 ++++++++++++++++++++++ .../pmapi/todocenter/manage/TodoCenterManage.java | 23 ++++++--- .../ningdatech/pmapi/beanconfig/BeanConfig.java | 6 +-- .../pmapi/todocenter/TodoCenterTest.java | 54 ++++++++++---------- 4 files changed, 103 insertions(+), 37 deletions(-) create mode 100644 pmapi/src/main/java/com/ningdatech/pmapi/common/util/SendWorkNoticeUtil.java diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/util/SendWorkNoticeUtil.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/util/SendWorkNoticeUtil.java new file mode 100644 index 0000000..4fc0644 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/util/SendWorkNoticeUtil.java @@ -0,0 +1,57 @@ +package com.ningdatech.pmapi.common.util; + +import com.ningdatech.basic.exception.BizException; +import com.ningdatech.basic.model.GenericResult; +import com.ningdatech.pmapi.todocenter.bean.entity.WorkNoticeInfo; +import com.ningdatech.zwdd.client.ZwddClient; +import lombok.extern.slf4j.Slf4j; + +import java.util.concurrent.*; + +/** + * 异步发送工作通知工具类 + * + * @author CMM + * @since 2023/02/23 13:50 + */ +@Slf4j +public class SendWorkNoticeUtil { + + private SendWorkNoticeUtil(){ + + } + + public static void sendWorkNotice(ZwddClient zwddClient, WorkNoticeInfo workNoticeInfo, String msg){ + // 初始化线程池 + ThreadPoolExecutor threadPool = new ThreadPoolExecutor(10, 20, + 60, TimeUnit.SECONDS, new ArrayBlockingQueue(20), new ThreadPoolExecutor.AbortPolicy()); + + // 将发送工作通知交给异步任务Future + CompletableFuture future = CompletableFuture.supplyAsync(() -> { + // 调用浙政钉的接口发送工作通知 + long startTime = System.currentTimeMillis(); + GenericResult result = + zwddClient.sendWorkNotice(workNoticeInfo.getReceiverUserId(), workNoticeInfo.getBizMsgId(), msg); + String resultMsg = result.getMsg(); + if (resultMsg.equals("success")) { + log.info("异步任务执行完成, " + workNoticeInfo.getBizMsgId() + " 当前线程:" + Thread.currentThread().getName()); + long endTime = System.currentTimeMillis(); + log.info("方法执行完成返回,耗时:" + (endTime - startTime)); + }else { + return "发送工作通知失败!"; + } + return "发送工作通知成功!"; + }, threadPool); + String s; + try { + s = future.get(); + } catch (Exception e) { + throw new BizException("获取异步线程处理结果失败!"); + } + threadPool.shutdown(); + while (threadPool.isTerminated()) { + log.info(s); + break; + } + } +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java index 07df6a0..9d886ca 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java @@ -4,12 +4,14 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ningdatech.basic.exception.BizException; +import com.ningdatech.basic.model.GenericResult; import com.ningdatech.basic.model.PageVo; import com.ningdatech.pmapi.common.constant.CommonConstant; import com.ningdatech.pmapi.common.model.entity.ExcelExportWriter; import com.ningdatech.pmapi.common.statemachine.event.ProjectStatusChangeEvent; import com.ningdatech.pmapi.common.statemachine.util.StateMachineUtils; import com.ningdatech.pmapi.common.util.ExcelDownUtil; +import com.ningdatech.pmapi.common.util.SendWorkNoticeUtil; import com.ningdatech.pmapi.organization.model.entity.DingEmployeeInfo; import com.ningdatech.pmapi.organization.model.entity.DingOrganization; import com.ningdatech.pmapi.organization.service.IDingEmployeeInfoService; @@ -52,6 +54,10 @@ import org.springframework.stereotype.Component; import javax.servlet.http.HttpServletResponse; import java.time.LocalDateTime; import java.util.*; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; import java.util.stream.Collectors; import static cn.hutool.core.collection.CollUtil.isEmpty; @@ -232,8 +238,9 @@ public class TodoCenterManage { projectService.updateById(declaredProject); // 获取发送浙政钉工作通知必要信息 WorkNoticeInfo passWorkNoticeInfo = getSendWorkNoticeInfo(auditUserInfo); - String passMsg = String.format(PASS_MSG_TEMPLATE, null, projectName); - // zwddClient.sendWorkNotice(passWorkNoticeInfo.getReceiverUserId(),passWorkNoticeInfo.getBizMsgId(),passMsg); + String passMsg = String.format(PASS_MSG_TEMPLATE, passWorkNoticeInfo.getOrganizationName(), projectName); + // 异步发送工作通知 + SendWorkNoticeUtil.sendWorkNotice(zwddClient,passWorkNoticeInfo,passMsg); return; } // 若不是被退回状态,流程通过后,判断当前登录用户是不是最后一个审核人 @@ -262,14 +269,16 @@ public class TodoCenterManage { } WorkNoticeInfo passWorkNoticeInfo2 = getSendWorkNoticeInfo(startUserInfo); String passMsg2 = String.format(PASS_MSG_TEMPLATE2, projectName, processDefinitionName); - // zwddClient.sendWorkNotice(passWorkNoticeInfo2.getReceiverUserId(),passWorkNoticeInfo2.getBizMsgId(),passMsg2); + // 异步发送工作通知 + SendWorkNoticeUtil.sendWorkNotice(zwddClient,passWorkNoticeInfo2,passMsg2); }else { // 若有下一个审核人(当前节点的用户), // 向其发送浙政钉工作通知:标题:审核任务 内容:【单位名称】的【项目名称】需要您审核。 // 获取发送浙政钉工作通知必要信息 WorkNoticeInfo sendWorkNoticeInfo = getSendWorkNoticeInfo(auditUserInfo); String msg = String.format(PASS_MSG_TEMPLATE, null, projectName); - // zwddClient.sendWorkNotice(sendWorkNoticeInfo.getReceiverUserId(),sendWorkNoticeInfo.getBizMsgId(),msg); + // 异步发送工作通知 + SendWorkNoticeUtil.sendWorkNotice(zwddClient,sendWorkNoticeInfo,msg); } break; // 盖章并通过 @@ -284,7 +293,8 @@ public class TodoCenterManage { processTaskService.handleTask(param, userId); WorkNoticeInfo rejectWorkNoticeInfo = getSendWorkNoticeInfo(startUserInfo); String rejectMsg = String.format(REJECT_MSG_TEMPLATE, projectName, processDefinitionName); - // zwddClient.sendWorkNotice(rejectWorkNoticeInfo.getReceiverUserId(),rejectWorkNoticeInfo.getBizMsgId(),rejectMsg); + // 异步发送工作通知 + SendWorkNoticeUtil.sendWorkNotice(zwddClient,rejectWorkNoticeInfo,rejectMsg); // 更新项目状态和流程状态 updateRejectProjectStatus(userId, declaredProject); break; @@ -300,7 +310,8 @@ public class TodoCenterManage { // 给项目创建人、流程发起人发送浙政钉工作通知:【项目名称】的【流程名称】被退回,请及时处理。 WorkNoticeInfo backWorkNoticeInfo = getSendWorkNoticeInfo(startUserInfo); String backMsg = String.format(BACK_MSG_TEMPLATE, projectName, processDefinitionName); - // zwddClient.sendWorkNotice(backWorkNoticeInfo.getReceiverUserId(),backWorkNoticeInfo.getBizMsgId(),backMsg); + // 异步发送工作通知 + SendWorkNoticeUtil.sendWorkNotice(zwddClient,backWorkNoticeInfo,backMsg); break; // 撤回(流程发起人和当前流程审核人的前一个审核人操作) case WITHDRAW: diff --git a/pmapi/src/test/java/com/ningdatech/pmapi/beanconfig/BeanConfig.java b/pmapi/src/test/java/com/ningdatech/pmapi/beanconfig/BeanConfig.java index d5e6c05..dcfda4d 100644 --- a/pmapi/src/test/java/com/ningdatech/pmapi/beanconfig/BeanConfig.java +++ b/pmapi/src/test/java/com/ningdatech/pmapi/beanconfig/BeanConfig.java @@ -23,11 +23,11 @@ public class BeanConfig { ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); // 设置核心线程数 - executor.setCorePoolSize(50); + executor.setCorePoolSize(2); // 设置最大线程数 - executor.setMaxPoolSize(200); + executor.setMaxPoolSize(10); // 设置队列容量 - executor.setQueueCapacity(200); + executor.setQueueCapacity(10); // 设置线程活跃时间(秒) executor.setKeepAliveSeconds(800); // 设置默认线程名称 diff --git a/pmapi/src/test/java/com/ningdatech/pmapi/todocenter/TodoCenterTest.java b/pmapi/src/test/java/com/ningdatech/pmapi/todocenter/TodoCenterTest.java index 21104b5..e6f893a 100644 --- a/pmapi/src/test/java/com/ningdatech/pmapi/todocenter/TodoCenterTest.java +++ b/pmapi/src/test/java/com/ningdatech/pmapi/todocenter/TodoCenterTest.java @@ -1,6 +1,7 @@ package com.ningdatech.pmapi.todocenter; import com.ningdatech.basic.exception.BizException; +import com.ningdatech.basic.model.GenericResult; import com.ningdatech.pmapi.AppTests; import com.ningdatech.pmapi.beanconfig.BeanConfig; import com.ningdatech.pmapi.todocenter.bean.entity.WorkNoticeInfo; @@ -17,10 +18,7 @@ import org.springframework.context.annotation.AnnotationConfigApplicationContext import org.springframework.core.task.TaskExecutor; import javax.annotation.Resource; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; +import java.util.concurrent.*; import java.util.function.Supplier; import static com.ningdatech.pmapi.todocenter.constant.WorkNotice.PASS_MSG_TEMPLATE; @@ -34,8 +32,8 @@ import static com.ningdatech.pmapi.todocenter.constant.WorkNotice.PASS_MSG_TEMPL @Slf4j public class TodoCenterTest extends AppTests { - @Autowired - private TaskExecutor taskExecutor; + //@Autowired + //private TaskExecutor executor; @Autowired private TodoCenterManage todoCenterManage; @@ -46,7 +44,7 @@ public class TodoCenterTest extends AppTests { @Autowired private ZwddClient zwddClient; @Test - public void sendWorkNoticeTest() { + public void sendWorkNoticeTest() throws ExecutionException, InterruptedException { //String msg = String.format(PASS_MSG_TEMPLATE, "发改委", "0223-00-测试项目"); //log.info("开始发送工作通知"); //zwddClient.sendWorkNotice("846085", "0223-00", msg); @@ -62,37 +60,37 @@ public class TodoCenterTest extends AppTests { UserInfo auditUserInfo = userInfoService.getById(userId); // 获取发送浙政钉工作通知必要信息 WorkNoticeInfo workNoticeInfo = todoCenterManage.getSendWorkNoticeInfo(auditUserInfo); - String msg = String.format(PASS_MSG_TEMPLATE, "发改委", "0223-01-测试项目"); + // workNoticeInfo.setBizMsgId("1"); + String msg = String.format(PASS_MSG_TEMPLATE, "发改委", "0223-02-测试项目"); + + //// 先创建1个活动线程的线程池 + //ExecutorService executor = Executors.newFixedThreadPool(1); - // 先创建1个活动线程的线程池 - ExecutorService executor = Executors.newFixedThreadPool(1); + // 初始化线程池 + ThreadPoolExecutor threadPool = new ThreadPoolExecutor(10, 20, + 60, TimeUnit.SECONDS, new ArrayBlockingQueue(20), new ThreadPoolExecutor.AbortPolicy()); // 将发送工作通知交给异步任务Future CompletableFuture future = CompletableFuture.supplyAsync(() -> { // 调用浙政钉的接口发送工作通知 - try { - long startTime = System.currentTimeMillis(); + long startTime = System.currentTimeMillis(); + GenericResult result = zwddClient.sendWorkNotice(workNoticeInfo.getReceiverUserId(), workNoticeInfo.getBizMsgId(), msg); + String resultMsg = result.getMsg(); + if (resultMsg.equals("success")) { log.info("异步任务执行完成, " + workNoticeInfo.getBizMsgId() + " 当前线程:" + Thread.currentThread().getName()); long endTime = System.currentTimeMillis(); log.info("方法执行完成返回,耗时:" + (endTime - startTime)); - } catch (Exception e) { - throw new BizException("发送工作通知失败!"); - } - return "task finished!"; - }, executor); - - executor.shutdown(); - - while (executor.isTerminated()) { - String result = null; - try { - result = future.get(); - } catch (Exception e) { - throw new RuntimeException(e); + }else { + return "发送工作通知失败!"; } - log.info(result); - log.info("发送工作通知成功!"); + return "发送工作通知成功!"; + }, threadPool); + String s = future.get(); + threadPool.shutdown(); + while (threadPool.isTerminated()) { + log.info(s); + break; } } } From 44f1105ad178ce6c5ce8c86c5b837ecb7732ad14 Mon Sep 17 00:00:00 2001 From: liuxinxin Date: Thu, 23 Feb 2023 15:06:31 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix=20=E8=8E=B7=E5=8F=96=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E7=99=BB=E9=99=86=E7=94=A8=E6=88=B7=E8=AF=A6=E6=83=85=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pmapi/user/manage/UserInfoManage.java | 35 ++++++++++++++++------ .../pmapi/user/model/vo/ResUserDetailVO.java | 23 ++++++++++++-- 2 files changed, 47 insertions(+), 11 deletions(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/user/manage/UserInfoManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/user/manage/UserInfoManage.java index cbb1376..856f9da 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/user/manage/UserInfoManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/user/manage/UserInfoManage.java @@ -15,24 +15,17 @@ import com.ningdatech.pmapi.sys.model.entity.Role; import com.ningdatech.pmapi.sys.model.entity.UserRole; import com.ningdatech.pmapi.sys.service.IRoleService; import com.ningdatech.pmapi.sys.service.IUserRoleService; -import com.ningdatech.pmapi.user.constant.LoginTypeEnum; import com.ningdatech.pmapi.user.constant.UserAvailableEnum; import com.ningdatech.pmapi.user.entity.UserInfo; import com.ningdatech.pmapi.user.model.po.*; import com.ningdatech.pmapi.user.model.vo.ResUserDetailVO; import com.ningdatech.pmapi.user.model.vo.ResUserInfoListVO; import com.ningdatech.pmapi.user.model.vo.UserRoleVO; -import com.ningdatech.pmapi.user.security.auth.constants.UserDeatilsServiceConstant; -import com.ningdatech.pmapi.user.security.auth.credential.CredentialAuthToken; import com.ningdatech.pmapi.user.security.auth.model.UserFullInfoDTO; import com.ningdatech.pmapi.user.service.IUserInfoService; import com.ningdatech.pmapi.user.util.LoginUserUtil; import lombok.RequiredArgsConstructor; -import org.springframework.security.core.AuthenticationException; -import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetailsService; -import org.springframework.security.web.authentication.WebAuthenticationDetails; -import org.springframework.security.web.context.HttpSessionSecurityContextRepository; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -232,8 +225,32 @@ public class UserInfoManage { public ResUserDetailVO currentUserInfo() { Long userId = LoginUserUtil.getUserId(); - UserFullInfoDTO userFullInfo = userInfoHelper.getUserFullInfo(userId); - return null; + UserInfo userInfo = iUserInfoService.getById(userId); + if (Objects.isNull(userInfo)) { + return null; + } + ResUserDetailVO resUserDetailVO = new ResUserDetailVO(); + resUserDetailVO.setRealName(userInfo.getRealName()); + resUserDetailVO.setUserId(userInfo.getId()); + resUserDetailVO.setPhoneNo(userInfo.getMobile()); + resUserDetailVO.setStatus(userInfo.getAvailable()); + + // 装配用户角色信息列表 + List userRoleList = iUserRoleService.list(Wrappers.lambdaQuery(UserRole.class) + .eq(UserRole::getUserId, userId)); + List userRoleInfoList = new ArrayList<>(); + if (CollUtil.isNotEmpty(userRoleList)) { + List roleIdList = userRoleList.stream().map(UserRole::getRoleId).collect(Collectors.toList()); + List roleList = iRoleService.list(Wrappers.lambdaQuery(Role.class).in(Role::getId, roleIdList)); + userRoleInfoList = roleList.stream().map(r -> { + UserRoleVO userRoleVO = new UserRoleVO(); + userRoleVO.setId(r.getId()); + userRoleVO.setName(r.getName()); + return userRoleVO; + }).collect(Collectors.toList()); + } + resUserDetailVO.setUserRoleInfoList(userRoleInfoList); + return resUserDetailVO; } public void generationLogin(ReqGenerationLoginPO reqGenerationLoginPO) { diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/user/model/vo/ResUserDetailVO.java b/pmapi/src/main/java/com/ningdatech/pmapi/user/model/vo/ResUserDetailVO.java index f5badb4..c688a76 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/user/model/vo/ResUserDetailVO.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/user/model/vo/ResUserDetailVO.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.time.LocalDateTime; import java.util.List; /** @@ -23,9 +24,27 @@ public class ResUserDetailVO { @ApiModelProperty("手机号") private String phoneNo; + @ApiModelProperty("用户角色信息列表") + private List userRoleInfoList; + + @ApiModelProperty("浙政钉 用户编码") + private String employeeCode; + + @ApiModelProperty("所在单位(主职)") + private String orgName; + + @ApiModelProperty("所在单位(主职)code") + private String orgCode; + + @ApiModelProperty("所属区域") + private Long regionId; + + @ApiModelProperty("用户角色") + private List userRoleList; + @ApiModelProperty("状态 启用 ENABLE/禁用 DISABLE") private String status; - @ApiModelProperty("用户角色信息列表") - private List userRoleInfoList; + @ApiModelProperty("更新时间") + private LocalDateTime updateTime; } From 492ab83bf52a856205e94cd984ec762375cc98a6 Mon Sep 17 00:00:00 2001 From: CMM <2198256324@qq.com> Date: Thu, 23 Feb 2023 16:41:57 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=A4=84=E7=90=86?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pmapi/todocenter/manage/TodoCenterManage.java | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java index ba241cf..ded5ec8 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java @@ -37,6 +37,7 @@ import com.wflow.contants.HisProInsEndActId; import com.wflow.workflow.bean.dto.ProcessInstanceUserDto; import com.wflow.workflow.bean.dto.ReqProcessHandlerDTO; import com.wflow.workflow.bean.process.ProgressNode; +import com.wflow.workflow.bean.process.enums.NodeTypeEnum; import com.wflow.workflow.bean.vo.ProcessInstanceVo; import com.wflow.workflow.bean.vo.ProcessProgressVo; import com.wflow.workflow.bean.vo.ProcessTaskVo; @@ -226,7 +227,16 @@ public class TodoCenterManage { // 获取流程通过后当前审核人信息,向其发送工作通知 List newProgressInfo = newInstanceDetail.getProgressInfo(); ProgressNode currentNode = newProgressInfo.get(newProgressInfo.size() - 1); - UserInfo auditUserInfo = userInfoService.getById(Long.valueOf(currentNode.getUserId())); + UserInfo auditUserInfo = null; + // 说明当前节点是子流程节点 + if (currentNode.getNodeType().name().equals(NodeTypeEnum.SUB.name())){ + List children = currentNode.getChildren(); + // 获取子流程当前审核人节点 + ProgressNode subCurrentNode = children.get(children.size() - 1); + auditUserInfo = userInfoService.getById(Long.valueOf(subCurrentNode.getUserId())); + }else { + auditUserInfo = userInfoService.getById(Long.valueOf(currentNode.getUserId())); + } // 如果流程状态是被退回状态,流程通过后,进入下一个审核人, // 当前通过审核人一定不是最后一个审核人(下一个审核人至多是最后一个),更新流程状态为审核中 @@ -240,7 +250,7 @@ public class TodoCenterManage { WorkNoticeInfo passWorkNoticeInfo = getSendWorkNoticeInfo(auditUserInfo); String passMsg = String.format(PASS_MSG_TEMPLATE, passWorkNoticeInfo.getOrganizationName(), projectName); // 异步发送工作通知 - SendWorkNoticeUtil.sendWorkNotice(zwddClient,passWorkNoticeInfo,passMsg); + // SendWorkNoticeUtil.sendWorkNotice(zwddClient,passWorkNoticeInfo,passMsg); return; } // 若不是被退回状态,流程通过后,判断当前登录用户是不是最后一个审核人 @@ -270,7 +280,7 @@ public class TodoCenterManage { WorkNoticeInfo passWorkNoticeInfo2 = getSendWorkNoticeInfo(startUserInfo); String passMsg2 = String.format(PASS_MSG_TEMPLATE2, projectName, processDefinitionName); // 异步发送工作通知 - SendWorkNoticeUtil.sendWorkNotice(zwddClient,passWorkNoticeInfo2,passMsg2); + // SendWorkNoticeUtil.sendWorkNotice(zwddClient,passWorkNoticeInfo2,passMsg2); }else { // 若有下一个审核人(当前节点的用户), // 向其发送浙政钉工作通知:标题:审核任务 内容:【单位名称】的【项目名称】需要您审核。 @@ -278,7 +288,7 @@ public class TodoCenterManage { WorkNoticeInfo sendWorkNoticeInfo = getSendWorkNoticeInfo(auditUserInfo); String msg = String.format(PASS_MSG_TEMPLATE, null, projectName); // 异步发送工作通知 - SendWorkNoticeUtil.sendWorkNotice(zwddClient,sendWorkNoticeInfo,msg); + // SendWorkNoticeUtil.sendWorkNotice(zwddClient,sendWorkNoticeInfo,msg); } break; // 盖章并通过 @@ -294,7 +304,7 @@ public class TodoCenterManage { WorkNoticeInfo rejectWorkNoticeInfo = getSendWorkNoticeInfo(startUserInfo); String rejectMsg = String.format(REJECT_MSG_TEMPLATE, projectName, processDefinitionName); // 异步发送工作通知 - SendWorkNoticeUtil.sendWorkNotice(zwddClient,rejectWorkNoticeInfo,rejectMsg); + // SendWorkNoticeUtil.sendWorkNotice(zwddClient,rejectWorkNoticeInfo,rejectMsg); // 更新项目状态和流程状态 updateRejectProjectStatus(userId, declaredProject); break; @@ -311,7 +321,7 @@ public class TodoCenterManage { WorkNoticeInfo backWorkNoticeInfo = getSendWorkNoticeInfo(startUserInfo); String backMsg = String.format(BACK_MSG_TEMPLATE, projectName, processDefinitionName); // 异步发送工作通知 - SendWorkNoticeUtil.sendWorkNotice(zwddClient,backWorkNoticeInfo,backMsg); + // SendWorkNoticeUtil.sendWorkNotice(zwddClient,backWorkNoticeInfo,backMsg); break; // 撤回(流程发起人和当前流程审核人的前一个审核人操作) case WITHDRAW: