From ed32b4831acf1612d23015d85ff4a14db7f9f77d Mon Sep 17 00:00:00 2001
From: Houjie <714924425@qq.com>
Date: 星期三, 16 七月 2025 15:07:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 lxzn-module-system/lxzn-system-start/src/main/resources/application-dev.yml                                            |   54 +++++++++++++++++++++-----
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java                       |   48 ++++++++++++++++++++++++
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java         |    6 ++-
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysThirdAccountServiceImpl.java |    1 
 4 files changed, 96 insertions(+), 13 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java
index 2014997..826dec7 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java
@@ -20,13 +20,20 @@
 import org.jeecg.modules.eam.request.EamReportRepairQuery;
 import org.jeecg.modules.eam.service.IEamEquipmentExtendService;
 import org.jeecg.modules.eam.service.IEamEquipmentFaultReasonService;
+import org.jeecg.modules.eam.service.IEamEquipmentService;
 import org.jeecg.modules.eam.service.IEamReportRepairService;
 import org.jeecg.modules.eam.vo.EquipmentRepairListVO;
 import org.jeecg.modules.eam.vo.EquipmentRepairStatistics;
 import org.jeecg.modules.eam.vo.EquipmentRepairStatusStatistics;
 import org.jeecg.modules.eam.vo.FaultTypeStatisticsVO;
+import org.jeecg.modules.qywx.message.vo.TemplateCard;
+import org.jeecg.modules.qywx.message.vo.TemplateCardEntity;
 import org.jeecg.modules.system.service.IMdcProductionService;
+import org.jeecg.modules.system.service.ISysUserService;
+import org.jeecg.modules.system.service.impl.ThirdAppWechatEnterpriseServiceImpl;
+import org.jeecg.modules.system.vo.UserSelector;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.transaction.annotation.Transactional;
@@ -34,6 +41,7 @@
 import javax.annotation.Resource;
 import java.time.LocalDate;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 鏁呴殰鎶ヤ慨
@@ -49,6 +57,15 @@
     private IMdcProductionService mdcProductionService;
     @Autowired
     private IEamEquipmentFaultReasonService eamEquipmentFaultReasonService;
+    @Autowired
+    private ISysUserService sysUserService;
+    @Autowired
+    private IEamEquipmentService eamEquipmentService;
+    @Autowired
+    private ThirdAppWechatEnterpriseServiceImpl wechatEnterpriseService;
+
+    @Value("${wechatEnterprise.cardActionUrl}")
+    private String cardActionUrl;
 
     /**
      * 鍒嗛〉鍒楄〃
@@ -198,9 +215,40 @@
         this.baseMapper.insert(eamReportRepair);
         //鏇存柊璁惧缁翠慨鐘舵��
         eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.WAIT_REPAIR.name());
+        //鎺ㄩ�佷紒涓氬井淇℃秷鎭�
+        sendQywxTemplateCardMessage(eamReportRepair);
         return eamReportRepair;
     }
 
+    private void sendQywxTemplateCardMessage(EamReportRepair eamReportRepair) {
+        TemplateCard templateCard = new TemplateCard();
+        String equipmentId = eamReportRepair.getEquipmentId();
+        EamEquipment equipment = eamEquipmentService.getById(equipmentId);
+        if (equipment != null) {
+            //鏌ヨ鏈夎璁惧鏉冮檺鐨勬墍鏈夌淮淇伐
+            String productionId = equipment.getOrgId();
+            List<UserSelector> userSelectorList = sysUserService.selectOperatorList(equipment.getEquipmentCode(), productionId, BusinessCodeConst.PCR0002);
+            String toUsers = userSelectorList.stream().map(UserSelector::getUsername).collect(Collectors.joining(","));
+            String touser = wechatEnterpriseService.getTouser(toUsers, false);
+            templateCard.setTouser(touser);
+
+            TemplateCardEntity templateCardEntity = new TemplateCardEntity();
+            templateCard.setTemplate_card(templateCardEntity);
+            templateCardEntity.setTask_id(eamReportRepair.getId());
+            TemplateCardEntity.MainTitle mainTitle = new TemplateCardEntity.MainTitle();
+            mainTitle.setTitle("璁惧缁翠慨");
+            templateCardEntity.setMain_title(mainTitle);
+            templateCardEntity.setSub_title_text("鎮ㄦ湁寰呴鍙栫淮淇伐鍗曪紝璇疯繘鍏ョ郴缁熼鍙�");
+            TemplateCardEntity.CardAction cardAction = new TemplateCardEntity.CardAction();
+            cardAction.setType(1);
+            cardAction.setUrl(cardActionUrl);
+            templateCardEntity.setCard_action(cardAction);
+            wechatEnterpriseService.sendTemplateCardMsg(templateCard, true);
+        } else {
+            log.error("鎶ヤ慨宸ュ崟: " + eamReportRepair.getId() + " 璁惧涓嶅瓨鍦紝鏃犳硶鎺ㄩ�佸伐鍗曞緟棰嗗彇鎻愰啋娑堟伅锛�");
+        }
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean edit(EamReportRepair eamReportRepair) {
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java
index fca5b89..a76732e 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java
@@ -9,6 +9,7 @@
 import me.zhyd.oauth.model.AuthResponse;
 import me.zhyd.oauth.request.AuthRequest;
 import me.zhyd.oauth.utils.AuthStateUtils;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.util.JwtUtil;
@@ -16,6 +17,7 @@
 import org.jeecg.common.util.RedisUtil;
 import org.jeecg.common.util.RestUtil;
 import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.config.shiro.JwtToken;
 import org.jeecg.config.thirdapp.ThirdAppConfig;
 import org.jeecg.config.thirdapp.ThirdAppTypeItemVo;
 import org.jeecg.modules.base.service.BaseCommonService;
@@ -306,7 +308,7 @@
 			// 浼佷笟鐨凜orpID
 			builder.append("?appid=").append(config.getClientId());
 			// 鎺堟潈鍚庨噸瀹氬悜鐨勫洖璋冮摼鎺ュ湴鍧�锛岃浣跨敤urlencode瀵归摼鎺ヨ繘琛屽鐞�
-			String redirectUri = RestUtil.getBaseUrl() + "/sys/thirdLogin/oauth2/wechat_enterprise/callback";
+			String redirectUri ="https://fastwoke.cn:8087/jeecg-boot/sys/thirdLogin/oauth2/wechat_enterprise/callback";
 			builder.append("&redirect_uri=").append(URLEncoder.encode(redirectUri, "UTF-8"));
 			// 杩斿洖绫诲瀷锛屾鏃跺浐瀹氫负锛歝ode
 			builder.append("&response_type=code");
@@ -402,7 +404,7 @@
 			state += "&thirdType=" + source;
 			//state += "&thirdType=" + "wechat_enterprise";
 			if (redirect != null && redirect.length() > 0) {
-				state += "&redirect=" + redirect;
+				state += "&" + redirect;
 			}
 			//update-end-author:taoyan date:2022-6-30 for: 宸ヤ綔娴佸彂閫佹秷鎭� 鐐瑰嚮娑堟伅閾炬帴璺宠浆鍔炵悊椤甸潰
 
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysThirdAccountServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysThirdAccountServiceImpl.java
index 8d2345c..9629d1a 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysThirdAccountServiceImpl.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysThirdAccountServiceImpl.java
@@ -92,6 +92,7 @@
         user.setPassword(passwordEncode);
         user.setRealname(account.getRealname());
         user.setAvatar(account.getAvatar());
+        user.setWorkNo(thirdUserUuid);//娌冨厠鐜板満sys_user琛ㄥ宸ュ彿瀛楁璁剧疆浜嗗敮涓�绱㈠紩锛堜紒涓氬井淇℃嬁鍒扮殑鐢ㄦ埛鏁版嵁thirdUserUuid灏辨槸宸ュ彿锛夛紝璇ュ瓧娈靛繀椤荤粰鍊�
         String s = this.saveThirdUser(user);
         //鏇存柊鐢ㄦ埛绗笁鏂硅处鎴疯〃鐨剈serId
         SysThirdAccount sysThirdAccount = new SysThirdAccount();
diff --git a/lxzn-module-system/lxzn-system-start/src/main/resources/application-dev.yml b/lxzn-module-system/lxzn-system-start/src/main/resources/application-dev.yml
index bf453ac..d6da6ac 100644
--- a/lxzn-module-system/lxzn-system-start/src/main/resources/application-dev.yml
+++ b/lxzn-module-system/lxzn-system-start/src/main/resources/application-dev.yml
@@ -36,6 +36,8 @@
             required: true
   ## quartz瀹氭椂浠诲姟,閲囩敤鏁版嵁搴撴柟寮�
   quartz:
+    jdbc:
+      initialize-schema: never
     job-store-type: jdbc
     initialize-schema: embedded
     #瀹氭椂浠诲姟鍚姩寮�鍏筹紝true-寮�  false-鍏�
@@ -125,10 +127,21 @@
         connectProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
       datasource:
         master:
-          url: jdbc:sqlserver://192.168.1.118:1433;databasename=LXZN_TEST_WK
+         # url: jdbc:sqlserver://192.168.1.118:1433;databasename=LXZN_TEST_WK
+         # url: jdbc:sqlserver://192.168.1.118:1433;databasename=LXZN_TEST_WK_WX
+         # url: jdbc:sqlserver://i300r36420.vicp.fun:22327;databasename=LXZN_TEST_WK_WX
+          # 娌冨厠鐜板満
+          url: jdbc:sqlserver://192.168.4.21:1433;databasename=LXZN_MDC_WK_WX
           username: sa
-          password: 123
+#          password: 123
+          password: Lxzn1688
           driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
+          # 娌冨厠鐜板満
+#        mesSoAdb:
+#          url: jdbc:mysql://127.0.0.1:3306/basic_data?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
+#          username: root
+#          password: 123456
+#          driver-class-name: com.mysql.cj.jdbc.Driver
   #redis 閰嶇疆
   redis:
     database: 0
@@ -253,10 +266,16 @@
       client-secret: ??
       redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/github/callback
     WECHAT_ENTERPRISE:
-      client-id: ww5999b2643c95fa75
-      client-secret: 86jN7TtWMxjiFoWPgMQYBCu46bOoEkpfscvuyvsS31Y
-      redirect-uri: http://houjie.xalxzn.com:8866/jeecg-boot/sys/thirdLogin/wechat_enterprise/callback
-      agent-id: 1000002
+      # 鐏电浼佷笟寰俊娴嬭瘯鍐呭缓搴旂敤
+#      client-id: ww5999b2643c95fa75
+#      client-secret: 86jN7TtWMxjiFoWPgMQYBCu46bOoEkpfscvuyvsS31Y
+#      redirect-uri: http://houjie.xalxzn.com:8866/jeecg-boot/sys/thirdLogin/wechat_enterprise/callback
+#      agent-id: 1000002
+    # 娌冨厠鐜板満搴旂敤
+      client-id: ww86725cd81a15d1de
+      client-secret: y5jKrgtcuWR0t2EfHgdOmiSXvAQU28PztgBuPdPmFCU
+      redirect-uri: https://fastwoke.cn:8087/jeecg-boot/sys/thirdLogin/wechat_enterprise/callback
+      agent-id: 1000014
     DINGTALK:
       client-id: ??
       client-secret: ??
@@ -276,14 +295,24 @@
     #浼佷笟寰俊
     WECHAT_ENTERPRISE:
       enabled: true
+      # 鐏电浼佷笟寰俊娴嬭瘯鍐呭缓搴旂敤
+#      #CORP_ID
+#      client-id: ww5999b2643c95fa75
+#      #SECRET
+#      client-secret: 86jN7TtWMxjiFoWPgMQYBCu46bOoEkpfscvuyvsS31Y
+#      #鑷缓搴旂敤id
+#      agent-id: 1000002
+#      #鑷缓搴旂敤绉橀挜锛堟柊鐗堜紒寰渶瑕侀厤缃級
+#      agent-app-secret: 86jN7TtWMxjiFoWPgMQYBCu46bOoEkpfscvuyvsS31Y
+    # 娌冨厠鐜板満搴旂敤
       #CORP_ID
-      client-id: ww5999b2643c95fa75
+      client-id: ww86725cd81a15d1de
       #SECRET
-      client-secret: 86jN7TtWMxjiFoWPgMQYBCu46bOoEkpfscvuyvsS31Y
+      client-secret: y5jKrgtcuWR0t2EfHgdOmiSXvAQU28PztgBuPdPmFCU
       #鑷缓搴旂敤id
-      agent-id: 1000002
+      agent-id: 1000014
       #鑷缓搴旂敤绉橀挜锛堟柊鐗堜紒寰渶瑕侀厤缃級
-      agent-app-secret: 86jN7TtWMxjiFoWPgMQYBCu46bOoEkpfscvuyvsS31Y
+      agent-app-secret: y5jKrgtcuWR0t2EfHgdOmiSXvAQU28PztgBuPdPmFCU
     #閽夐拤
     DINGTALK:
       enabled: false
@@ -337,4 +366,7 @@
 #staticAccessPath: /api/ffile/** # 褰撳墠椤圭洰鐨勯潤鎬佽祫婧愯闂厤缃湪nginx涓�
 # 浼佷笟寰俊妯℃澘鍗$墖娑堟伅鐐瑰嚮鍚庤烦杞殑 url
 wechatEnterprise:
-  cardActionUrl: https://houjie.xalxzn.com:8866/h5
+  # 鐏电浼佷笟寰俊娴嬭瘯鍐呭缓搴旂敤
+#  cardActionUrl: https://houjie.xalxzn.com:8866/h5
+  # 娌冨厠鐜板満搴旂敤
+  cardActionUrl: https://fastwoke.cn:8087/h5/#

--
Gitblit v1.9.3