From 1531f311969cabdddc9a98cc8e07b95c7f943eb9 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期三, 09 七月 2025 18:47:05 +0800
Subject: [PATCH] 企业微信消息推送优化调整

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java |  147 +++++++++++++++++++++++++++---------------------
 1 files changed, 82 insertions(+), 65 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java
index c7cc465..440cf17 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java
@@ -225,9 +225,10 @@
             triggerProcess(eamInspectionOrder);
             //鏇存柊璁惧淇濆吇鐘舵��
             eamEquipmentExtendService.updateEquipmentInspectionStatus(eamInspectionOrder.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_INSPECTION.name());
+            //鎺ㄩ�佷紒涓氬井淇℃秷鎭�
+            sendQywxTemplateCardMessage(eamInspectionOrder, null);
         }
-        //鎺ㄩ�佷紒涓氬井淇℃秷鎭�
-        sendQywxTemplateCardMessage(eamInspectionOrder, null);
+
         return true;
     }
 
@@ -236,26 +237,27 @@
         String inspectionStatus = eamInspectionOrder.getInspectionStatus();
         EamEquipment equipment = eamEquipmentService.getById(eamInspectionOrder.getEquipmentId());
         eamInspectionOrder.setEquipmentCode(equipment.getEquipmentCode());
-        if (InspectionStatus.WAIT_INSPECTION.name().equals(inspectionStatus)) {
-            //宸ュ崟寰呴鍙栵紝鎺ㄩ�佹秷鎭粰鎵�鏈夋搷浣滃伐
-            String orgId = Optional.ofNullable(eamEquipmentService.getById(eamInspectionOrder.getEquipmentId()))
-                    .map(EamEquipment::getOrgId)
-                    .orElse(null);
-            if (orgId == null) {
-                throw new IllegalArgumentException("鏈壘鍒拌澶囩殑缁勭粐 ID");
-            }
-            //鏌ヨ璇ヨ澶囨墍灞炰骇绾跨殑鎵�鏈夋搷浣滃伐
-            List<SysUser> sysUserList = mdcUserProductionService.queryByPostAndProId("PCR0001", orgId);
-            List<String> usernameList = sysUserList.stream().map(SysUser::getUsername).collect(Collectors.toList());
-            if (usernameList.isEmpty()) {
-                throw new IllegalArgumentException("鏈壘鍒拌璁惧鎵�灞炰骇绾跨殑鎿嶄綔宸ワ紝璇疯仈绯荤鐞嗗憳澶勭悊");
-            }
-            String nextAssigneeStr = usernameList.stream()
-                    .filter(Objects::nonNull) // 鍙�夛細杩囨护 null 鍊�
-                    .collect(Collectors.joining(","));
-            String touser = wechatEnterpriseService.getTouser(nextAssigneeStr, false);
-            templateCard.setTouser(touser);
-        }
+        //todo 鐩墠纭锛屽緟棰嗗彇宸ュ崟涓嶆帹閫�
+        //if (InspectionStatus.WAIT_INSPECTION.name().equals(inspectionStatus)) {
+        //    //宸ュ崟寰呴鍙栵紝鎺ㄩ�佹秷鎭粰鎵�鏈夋搷浣滃伐
+        //    String orgId = Optional.ofNullable(eamEquipmentService.getById(eamInspectionOrder.getEquipmentId()))
+        //            .map(EamEquipment::getOrgId)
+        //            .orElse(null);
+        //    if (orgId == null) {
+        //        throw new IllegalArgumentException("鏈壘鍒拌澶囩殑缁勭粐 ID");
+        //    }
+        //    //鏌ヨ璇ヨ澶囨墍灞炰骇绾跨殑鎵�鏈夋搷浣滃伐
+        //    List<SysUser> sysUserList = mdcUserProductionService.queryByPostAndProId("PCR0001", orgId);
+        //    List<String> usernameList = sysUserList.stream().map(SysUser::getUsername).collect(Collectors.toList());
+        //    if (usernameList.isEmpty()) {
+        //        throw new IllegalArgumentException("鏈壘鍒拌璁惧鎵�灞炰骇绾跨殑鎿嶄綔宸ワ紝璇疯仈绯荤鐞嗗憳澶勭悊");
+        //    }
+        //    String nextAssigneeStr = usernameList.stream()
+        //            .filter(Objects::nonNull) // 鍙�夛細杩囨护 null 鍊�
+        //            .collect(Collectors.joining(","));
+        //    String touser = wechatEnterpriseService.getTouser(nextAssigneeStr, false);
+        //    templateCard.setTouser(touser);
+        //}
         if (InspectionStatus.UNDER_INSPECTION.name().equals(inspectionStatus)) {
             //宸ュ崟宸插紑濮嬬偣妫�锛屾帹閫佹秷鎭粰鍏蜂綋鎿嶄綔宸ワ紙鏂板宸ュ崟鏃舵寚瀹氥�侀鍙栧伐鍗曠殑鎿嶄綔宸ワ級
             String operator = eamInspectionOrder.getOperator();
@@ -274,11 +276,12 @@
             String touser = wechatEnterpriseService.getTouser(nextAssigneeStr, false);
             templateCard.setTouser(touser);
         }
-        if (InspectionStatus.COMPLETE.name().equals(inspectionStatus)) {
-            //宸ュ崟宸茬‘璁ゅ畬鎴愶紝鎺ㄩ�佹秷鎭粰鐐规浜�
-            String touser = wechatEnterpriseService.getTouser(eamInspectionOrder.getOperator(), false);
-            templateCard.setTouser(touser);
-        }
+        //todo 宸ュ崟瀹屾垚锛屼笉鎺ㄩ�佹秷鎭�
+        //if (InspectionStatus.COMPLETE.name().equals(inspectionStatus)) {
+        //    //宸ュ崟宸茬‘璁ゅ畬鎴愶紝鎺ㄩ�佹秷鎭粰鐐规浜�
+        //    String touser = wechatEnterpriseService.getTouser(eamInspectionOrder.getOperator(), false);
+        //    templateCard.setTouser(touser);
+        //}
 
         TemplateCardEntity templateCardEntity = new TemplateCardEntity();
         templateCard.setTemplate_card(templateCardEntity);
@@ -287,23 +290,23 @@
         mainTitle.setTitle("璁惧鐐规");
         templateCardEntity.setMain_title(mainTitle);
 
-        if (InspectionStatus.WAIT_INSPECTION.name().equals(inspectionStatus)) {
-            templateCardEntity.setSub_title_text("鏂板璁惧鐐规宸ュ崟: " + eamInspectionOrder.getOrderNum() + " ,璇疯繘鍏ョ郴缁熼鍙�");
-        }
+        //if (InspectionStatus.WAIT_INSPECTION.name().equals(inspectionStatus)) {
+        //    templateCardEntity.setSub_title_text("鏂板璁惧鐐规宸ュ崟: " + eamInspectionOrder.getOrderNum() + " ,璇疯繘鍏ョ郴缁熼鍙�");
+        //}
         if (InspectionStatus.UNDER_INSPECTION.name().equals(inspectionStatus)) {
             if (Objects.nonNull(request) && StrUtil.isNotBlank(request.getConfirmDealType())) {
                 //鏄┏鍥炵殑鍗曞瓙
                 templateCardEntity.setSub_title_text("宸ュ崟: " + eamInspectionOrder.getOrderNum() + " 琚┏鍥烇紝璇烽噸鏂拌繘琛岃澶囩偣妫�");
             } else {
-                templateCardEntity.setSub_title_text("宸ュ崟: " + eamInspectionOrder.getOrderNum() + " 宸茶棰嗗彇锛屽紑濮嬭繘琛岃澶囩偣妫�");
+                templateCardEntity.setSub_title_text("宸查鍙栧伐鍗�: " + eamInspectionOrder.getOrderNum() + "锛屽紑濮嬭繘琛岃澶囩偣妫�");
             }
         }
         if (InspectionStatus.WAIT_CONFIRM.name().equals(inspectionStatus)) {
             templateCardEntity.setSub_title_text("宸ュ崟: " + eamInspectionOrder.getOrderNum() + " 宸插畬鎴愯澶囩偣妫�,璇疯繘鍏ョ郴缁熺‘璁�");
         }
-        if (InspectionStatus.COMPLETE.name().equals(inspectionStatus)) {
-            templateCardEntity.setSub_title_text("宸ュ崟: " + eamInspectionOrder.getOrderNum() + " 宸插畬鎴愮偣妫�鍚庣‘璁�");
-        }
+        //if (InspectionStatus.COMPLETE.name().equals(inspectionStatus)) {
+        //    templateCardEntity.setSub_title_text("宸ュ崟: " + eamInspectionOrder.getOrderNum() + " 宸插畬鎴愮偣妫�鍚庣‘璁�");
+        //}
 
         List<TemplateCardEntity.HorizontalContent> horizontalContentList = CollectionUtil.newArrayList();
         TemplateCardEntity.HorizontalContent content1 = new TemplateCardEntity.HorizontalContent();
@@ -332,39 +335,51 @@
             horizontalContentList.add(content4);
         }
 
-        TemplateCardEntity.HorizontalContent content5 = new TemplateCardEntity.HorizontalContent();
-        TemplateCardEntity.HorizontalContent content6 = new TemplateCardEntity.HorizontalContent();
-        TemplateCardEntity.HorizontalContent content7 = new TemplateCardEntity.HorizontalContent();
-
-        if (InspectionStatus.WAIT_INSPECTION.name().equals(inspectionStatus)) {
-            content5.setKeyname("鍙戣捣浜�");
-            SysUser sysUser = sysUserService.getUserByName(eamInspectionOrder.getCreateBy());
-            content5.setValue(sysUser.getRealname());
-            horizontalContentList.add(content5);
-        }
-        if (InspectionStatus.UNDER_INSPECTION.name().equals(inspectionStatus) && (Objects.isNull(request) || StrUtil.isBlank(request.getConfirmDealType()))) {
-            content6.setKeyname("棰嗗彇浜�");
-            SysUser sysUser = sysUserService.getUserByName(eamInspectionOrder.getOperator());
-            content6.setValue(sysUser.getRealname());
-            horizontalContentList.add(content6);
+        //if (InspectionStatus.WAIT_INSPECTION.name().equals(inspectionStatus)) {
+        //    TemplateCardEntity.HorizontalContent content3 = new TemplateCardEntity.HorizontalContent();
+        //    content3.setKeyname("鍙戣捣浜�");
+        //    SysUser sysUser = sysUserService.getUserByName(eamInspectionOrder.getCreateBy());
+        //    content3.setValue(sysUser.getRealname());
+        //    horizontalContentList.add(content3);
+        //}
+        if (InspectionStatus.UNDER_INSPECTION.name().equals(inspectionStatus)) {
+            if (Objects.isNull(request)) {
+                TemplateCardEntity.HorizontalContent content = new TemplateCardEntity.HorizontalContent();
+                content.setKeyname("棰嗗彇浜�");
+                SysUser sysUser = sysUserService.getUserByName(eamInspectionOrder.getOperator());
+                content.setValue(sysUser.getRealname());
+                horizontalContentList.add(content);
+            } else {
+                TemplateCardEntity.HorizontalContent content3 = new TemplateCardEntity.HorizontalContent();
+                TemplateCardEntity.HorizontalContent content4 = new TemplateCardEntity.HorizontalContent();
+                content3.setKeyname("纭浜�");
+                String confirmAssignee = request.getAssignee();
+                SysUser confirmUser = sysUserService.getUserByName(confirmAssignee);
+                content3.setValue(confirmUser.getRealname());
+                horizontalContentList.add(content3);
+                content4.setKeyname("纭鎰忚");
+                content4.setValue("椹冲洖");
+                horizontalContentList.add(content4);
+            }
         }
         if (InspectionStatus.WAIT_CONFIRM.name().equals(inspectionStatus)) {
-            content5.setKeyname("鐐规浜�");
+            TemplateCardEntity.HorizontalContent content3 = new TemplateCardEntity.HorizontalContent();
+            content3.setKeyname("鐐规浜�");
             SysUser sysUser = sysUserService.getUserByName(eamInspectionOrder.getOperator());
-            content5.setValue(sysUser.getRealname());
-            horizontalContentList.add(content5);
+            content3.setValue(sysUser.getRealname());
+            horizontalContentList.add(content3);
         }
-        if ((InspectionStatus.COMPLETE.name().equals(inspectionStatus) || InspectionStatus.UNDER_INSPECTION.name().equals(inspectionStatus)) && (Objects.nonNull(request) && StrUtil.isNotBlank(request.getConfirmDealType()))) {
-            content5.setKeyname("纭浜�");
-            SysUser sysUser = sysUserService.getUserByName(eamInspectionOrder.getCreateBy());
-            content5.setValue(sysUser.getRealname());
-            horizontalContentList.add(content5);
-        }
-        if ((InspectionStatus.COMPLETE.name().equals(inspectionStatus) || InspectionStatus.UNDER_INSPECTION.name().equals(inspectionStatus)) && (Objects.nonNull(request) && StrUtil.isNotBlank(request.getConfirmDealType()))) {
-            content7.setKeyname("纭鎰忚");
-            content7.setValue("1".equals(request.getConfirmDealType()) ? "閫氳繃" : "椹冲洖");
-            horizontalContentList.add(content7);
-        }
+        //if ((InspectionStatus.COMPLETE.name().equals(inspectionStatus))) {
+        //    TemplateCardEntity.HorizontalContent content3 = new TemplateCardEntity.HorizontalContent();
+        //    TemplateCardEntity.HorizontalContent content4 = new TemplateCardEntity.HorizontalContent();
+        //    content3.setKeyname("纭浜�");
+        //    SysUser sysUser = sysUserService.getUserByName(eamInspectionOrder.getCreateBy());
+        //    content3.setValue(sysUser.getRealname());
+        //    horizontalContentList.add(content3);
+        //    content4.setKeyname("纭鎰忚");
+        //    content4.setValue("閫氳繃");
+        //    horizontalContentList.add(content4);
+        //}
 
         templateCardEntity.setHorizontal_content_list(horizontalContentList);
 
@@ -539,8 +554,10 @@
             // 鏇存柊宸ュ崟淇℃伅
             updateEamInspectionOrder(eamInspectionOrder);
 
-            //寰俊娑堟伅鎺ㄩ��
-            sendQywxTemplateCardMessage(eamInspectionOrder, eamInspectionOrderRequest);
+            //寰俊娑堟伅鎺ㄩ�侊紙宸ュ崟瀹屾垚涓嶆帹閫侊級
+            if (!InspectionStatus.COMPLETE.name().equals(eamInspectionOrder.getInspectionStatus())) {
+                sendQywxTemplateCardMessage(eamInspectionOrder, eamInspectionOrderRequest);
+            }
 
             //鏌ヨ鏁版嵁,杩涜璁惧缁翠慨澶勭悊
             if (eamInspectionOrder.getInspectionStatus().equals(InspectionStatus.WAIT_CONFIRM.name())) {

--
Gitblit v1.9.3