From a20310f135ebf1c8ccff2b619f3eff3d704436a0 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期四, 08 十二月 2022 13:12:03 +0800
Subject: [PATCH] Merge branch 'xinghong-dev' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-job/src/main/java/com/java110/job/adapt/Repair/MachineDistributeLeaflets.java |  109 +++++++++++++++++++++++++++++++-----------------------
 1 files changed, 63 insertions(+), 46 deletions(-)

diff --git a/service-job/src/main/java/com/java110/job/adapt/Repair/MachineDistributeLeaflets.java b/service-job/src/main/java/com/java110/job/adapt/Repair/MachineDistributeLeaflets.java
index 8a26895..967c5fc 100755
--- a/service-job/src/main/java/com/java110/job/adapt/Repair/MachineDistributeLeaflets.java
+++ b/service-job/src/main/java/com/java110/job/adapt/Repair/MachineDistributeLeaflets.java
@@ -1,6 +1,7 @@
 package com.java110.job.adapt.Repair;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.factory.CommunitySettingFactory;
 import com.java110.core.factory.WechatFactory;
@@ -28,6 +29,7 @@
 import com.java110.intf.user.IStaffAppAuthInnerServiceSMO;
 import com.java110.intf.user.IUserInnerServiceSMO;
 import com.java110.job.adapt.DatabusAdaptImpl;
+import com.java110.po.owner.RepairUserPo;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.util.ImageUtils;
 import com.java110.utils.util.StringUtil;
@@ -87,18 +89,40 @@
 
     @Override
     public void execute(Business business, List<Business> businesses) {
+        JSONObject data = business.getData();
+        JSONArray businessRepairUsers = new JSONArray();
+        System.out.println("鏀跺埌鏃ュ織锛�>>>>>>>>>>>>>" + data.toJSONString());
+        if (data.containsKey(RepairUserPo.class.getSimpleName())) {
+            Object bObj = data.get(RepairUserPo.class.getSimpleName());
+            if (bObj instanceof JSONObject) {
+                businessRepairUsers.add(bObj);
+            } else if (bObj instanceof List) {
+                businessRepairUsers = JSONArray.parseArray(JSONObject.toJSONString(bObj));
+            } else {
+                businessRepairUsers = (JSONArray) bObj;
+            }
+        } else {
+            if (data instanceof JSONObject) {
+                businessRepairUsers.add(data);
+            }
+        }
+        for (int bOwnerRepairIndex = 0; bOwnerRepairIndex < businessRepairUsers.size(); bOwnerRepairIndex++) {
+            JSONObject businessRepairUser = businessRepairUsers.getJSONObject(bOwnerRepairIndex);
+            doDealOwnerRepair(businesses, businessRepairUser);
+        }
+    }
+
+    private void doDealOwnerRepair(List<Business> businesses, JSONObject businessRepairUser) {
         RepairUserDto repairUserDto = new RepairUserDto();
-        repairUserDto.setbId(business.getbId());
-        repairUserDto.setStatusCd("0");
+        repairUserDto.setRuId(businessRepairUser.getString("ruId"));
         List<RepairUserDto> repairUserDtos = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
-        //鑾峰彇鍛樺伐澶勭悊鐘舵��(10001 澶勭悊涓紱10002 缁撳崟锛�10003 閫�鍗曪紱10004 杞崟锛�10005 鎻愪氦)
+        //鑾峰彇鍛樺伐澶勭悊鐘舵��(10001 澶勭悊涓紱10002 缁撳崟锛�10003 閫�鍗曪紱10004 杞崟锛�10005 鎻愪氦锛�10006 宸叉淳鍗曪紱10007 宸茶瘎浠凤紱10008 宸插洖璁匡紱10009 寰呮敮浠橈紱11000 寰呰瘎浠凤紱12000 宸叉敮浠橈紱12001 鏆傚仠)
         String state = repairUserDtos.get(0).getState();
         if (!state.equals("10005")) {
             //鑾峰彇鎶ヤ慨id
             String repairId = repairUserDtos.get(0).getRepairId();
             RepairDto repairDto = new RepairDto();
             repairDto.setRepairId(repairId);
-            repairDto.setStatusCd("0");
             List<RepairDto> repairDtos = repairInnerServiceSMO.queryRepairs(repairDto);
             //鏌ヨ鎶ヤ慨鐘舵��(1000 鏈淳鍗曪紱1100 鎺ュ崟锛�1200 閫�鍗曪紱1300 杞崟锛�1400 鐢宠鏀粯锛�1500 鏀粯澶辫触锛�1700 寰呰瘎浠凤紱1800 鐢佃瘽鍥炶锛�1900 鍔炵悊瀹屾垚锛�2000 鏈姙鐞嗙粨鍗�)
             String repairState = repairDtos.get(0).getState();
@@ -121,23 +145,28 @@
             CommunityDto communityDto = new CommunityDto();
             communityDto.setCommunityId(communityId);
             List<CommunityDto> communityDtos = communityInnerServiceSMO.queryCommunitys(communityDto);
-            //娲惧崟鏂瑰紡(100琛ㄧず鎶㈠崟锛�200琛ㄧず鎸囨淳锛�300琛ㄧず杞)
-            String repairWay = repairDtos.get(0).getRepairWay();
-            if (repairState.equals("1100") && repairWay.equals("200")) {
-                //鑾峰彇缁翠慨鍛樺伐鐨刬d
-                String staffId = repairUserDtos.get(1).getStaffId();
-                //鑾峰彇鐢ㄦ埛id
-                String preStaffId = repairUserDtos.get(0).getPreStaffId();
+            if (repairState.equals("1100") && businessRepairUser.getString("state").equals("10006")) { //娲惧崟
                 JSONObject paramIn = new JSONObject();
+                for (Business business : businesses) {
+                    String businessTypeCd = business.getBusinessTypeCd();
+                    if (!StringUtil.isEmpty(businessTypeCd) && businessTypeCd.equals("130200030001")) {
+                        JSONObject data = business.getData();
+                        if (!StringUtil.isEmpty(data.getString("state")) && data.getString("state").equals("10001")) {
+                            paramIn.put("staffId", data.getString("staffId"));
+                            paramIn.put("staffName", data.getString("staffName"));
+                        } else if (data.getString("state").equals("10006")) {
+                            paramIn.put("preStaffId", data.getString("preStaffId"));
+                            paramIn.put("preStaffName", data.getString("preStaffName"));
+                        }
+                    }
+                }
                 paramIn.put("repairName", repairName);
                 paramIn.put("repairObjName", repairObjName);
                 paramIn.put("tel", tel);
                 paramIn.put("communityId", communityId);
                 paramIn.put("context", context);
                 paramIn.put("time", time);
-                paramIn.put("staffId", staffId);
                 paramIn.put("repairObjId", repairObjId);
-                paramIn.put("preStaffId", preStaffId);
                 paramIn.put("repairId", repairId);
                 //缁欑淮淇笀鍌呮帹閫佷俊鎭�
                 sendMsg(paramIn, communityDtos.get(0));
@@ -145,47 +174,29 @@
                 publishMsg(paramIn, communityDtos.get(0));
                 //涓轰紒涓氬井淇$兢鍙戞秷鎭�
                 sendMsgToWechatGroup(paramIn, communityDtos.get(0));
-            } else if (repairState.equals("1100") && (repairWay.equals("100") || repairWay.equals("300"))) {
-                String staffId = "";
-                if (repairUserDtos.size() > 1) {
-                    staffId = repairUserDtos.get(1).getStaffId();
-                } else {
-                    //鑾峰彇缁翠慨鍛樺伐鐨刬d
-                    staffId = repairUserDtos.get(0).getStaffId();
-                }
-                //鑾峰彇鐢ㄦ埛id
-                String preStaffId = repairUserDtos.get(0).getPreStaffId();
+            } else if (repairState.equals("1100") && !businessRepairUser.getString("state").equals("10006")) {
                 JSONObject paramIn = new JSONObject();
-                paramIn.put("staffId", staffId);
+                paramIn.put("staffId", businessRepairUser.getString("staffId"));
                 paramIn.put("context", context);
                 paramIn.put("time", time);
                 paramIn.put("repairObjId", repairObjId);
-                paramIn.put("preStaffId", preStaffId);
+                paramIn.put("preStaffId", businessRepairUser.getString("preStaffId"));
                 paramIn.put("repairName", repairName);
                 paramIn.put("tel", tel);
                 paramIn.put("repairObjName", repairObjName);
+                //鎶㈠崟鎴愬姛缁欑淮淇笀鍌呮帹閫佷俊鎭�
+                publishMessage(paramIn, communityDtos.get(0));
                 //鎶㈠崟鎴愬姛缁欎笟涓绘帹閫佷俊鎭�
                 publishMsg(paramIn, communityDtos.get(0));
-                if (repairUserDtos.size() > 1) {
-                    //缁欑淮淇笀鍌呮帹閫佷俊鎭�
-                    sendMsg(paramIn, communityDtos.get(0));
-                } else {
-                    //鎶㈠崟鎴愬姛缁欑淮淇笀鍌呮帹閫佷俊鎭�
-                    publishMessage(paramIn, communityDtos.get(0));
-                }
             } else if (repairState.equals("1300")) {   //杞崟
-                //鑾峰彇缁翠慨鍛樺伐id
-                String staffId = repairUserDtos.get(0).getStaffId();
-                //鑾峰彇涓婄骇鐢ㄦ埛濮撳悕
-                String preStaffName = repairUserDtos.get(0).getPreStaffName();
                 JSONObject paramIn = new JSONObject();
                 paramIn.put("repairName", repairName);
                 paramIn.put("repairObjName", repairObjName);
                 paramIn.put("tel", tel);
                 paramIn.put("context", context);
                 paramIn.put("time", time);
-                paramIn.put("staffId", staffId);
-                paramIn.put("preStaffName", preStaffName);
+                paramIn.put("staffId", businessRepairUser.getString("staffId"));
+                paramIn.put("preStaffName", businessRepairUser.getString("preStaffName"));
                 //缁欑淮淇笀鍌呮帹閫佷俊鎭�
                 sendMessage(paramIn, communityDtos.get(0));
             }
@@ -297,6 +308,7 @@
         //鏍规嵁 userId 鏌ヨ鍒皁penId
         StaffAppAuthDto staffAppAuthDto = new StaffAppAuthDto();
         staffAppAuthDto.setStaffId(paramIn.getString("staffId"));
+        staffAppAuthDto.setStaffName(paramIn.getString("staffName"));
         staffAppAuthDto.setAppType("WECHAT");
         List<StaffAppAuthDto> staffAppAuthDtos = staffAppAuthInnerServiceSMO.queryStaffAppAuths(staffAppAuthDto);
         if (staffAppAuthDtos.size() > 0) {
@@ -354,12 +366,12 @@
         }
         String content = staffName + " 鎮ㄦ湁鏂扮殑缁翠慨浠诲姟锛岀淮淇俊鎭涓嬶細\n";
 
-        content += ("> 鏍囬锛�<front color=\"comment\">" + paramIn.getString("repairName") + "</font>");
-        content += ("> 鐢佃瘽锛�<front color=\"comment\">" + paramIn.getString("tel") + "</font>");
-        content += ("> 鏃堕棿锛�<front color=\"comment\">" + paramIn.getString("time") + "</font>");
-        content += ("> 鍐呭锛�<front color=\"comment\">" + paramIn.getString("context") + "</font>");
-        content += ("> 浣嶇疆锛�<front color=\"comment\">" + address + "</font>");
-        content += ("> 鍗曞彿锛�<front color=\"comment\">" + paramIn.getString("repairId") + "</font>");
+        content += ("> 鏍囬锛�<font color=\"comment\">" + paramIn.getString("repairName") + "</font> \n");
+        content += ("> 鐢佃瘽锛�<font color=\"comment\">" + paramIn.getString("tel") + "</font> \n");
+        content += ("> 鏃堕棿锛�<font color=\"comment\">" + paramIn.getString("time") + "</font> \n");
+        content += ("> 鍐呭锛�<font color=\"comment\">" + paramIn.getString("context") + "</font> \n");
+        content += ("> 浣嶇疆锛�<font color=\"comment\">" + address + "</font> \n");
+        content += ("> 鍗曞彿锛�<font color=\"comment\">" + paramIn.getString("repairId") + "</font> \n");
 
         rebootMarkdown.put("content", content);
         logger.info("鍙戦�佹秷鎭唴瀹�:{}", content);
@@ -372,7 +384,6 @@
         }
 
         String imgUrl = MappingCache.getValue("IMG_PATH");
-        imgUrl += (!StringUtil.isEmpty(imgUrl) && imgUrl.endsWith("/") ? "" : "/");
         FileRelDto fileRelDto = new FileRelDto();
         fileRelDto.setObjId(paramIn.getString("repairId"));
         List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
@@ -400,7 +411,7 @@
             image.put("base64", ImageUtils.getBase64ByImgUrl(imageUrl));
             image.put("md5", ImageUtils.getMd5ByImgUrl(imageUrl));
             responseEntity = outRestTemplate.postForEntity(url, rebootParam.toJSONString(), String.class);
-            logger.debug("杩斿洖淇℃伅锛�"+responseEntity);
+            logger.debug("杩斿洖淇℃伅锛�" + responseEntity);
         }
 
     }
@@ -473,6 +484,12 @@
                 templateMessage.setData(data);
                 //鑾峰彇涓氫富鍏紬鍙峰湴鍧�
                 String wechatUrl = MappingCache.getValue("OWNER_WECHAT_URL");
+                if (!StringUtil.isEmpty(wechatUrl) && wechatUrl.contains("?")) {
+                    wechatUrl += ("&wAppId=" + weChatDto.getAppId());
+                } else {
+                    wechatUrl += ("?wAppId=" + weChatDto.getAppId());
+                }
+
                 templateMessage.setUrl(wechatUrl);
                 logger.info("鍙戦�佹ā鏉挎秷鎭唴瀹�:{}", JSON.toJSONString(templateMessage));
                 ResponseEntity<String> responseEntity = outRestTemplate.postForEntity(url, JSON.toJSONString(templateMessage), String.class);

--
Gitblit v1.8.0