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/MachineAddOwnerRepairAdapt.java |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 52 insertions(+), 4 deletions(-)

diff --git a/service-job/src/main/java/com/java110/job/adapt/Repair/MachineAddOwnerRepairAdapt.java b/service-job/src/main/java/com/java110/job/adapt/Repair/MachineAddOwnerRepairAdapt.java
old mode 100644
new mode 100755
index 46882f57..eec3989
--- a/service-job/src/main/java/com/java110/job/adapt/Repair/MachineAddOwnerRepairAdapt.java
+++ b/service-job/src/main/java/com/java110/job/adapt/Repair/MachineAddOwnerRepairAdapt.java
@@ -1,8 +1,10 @@
 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.WechatFactory;
+import com.java110.dto.CommunityMemberDto;
 import com.java110.dto.basePrivilege.BasePrivilegeDto;
 import com.java110.dto.community.CommunityDto;
 import com.java110.dto.repair.RepairDto;
@@ -21,15 +23,18 @@
 import com.java110.intf.store.ISmallWechatAttrInnerServiceSMO;
 import com.java110.intf.user.IStaffAppAuthInnerServiceSMO;
 import com.java110.job.adapt.DatabusAdaptImpl;
+import com.java110.po.owner.RepairPoolPo;
 import com.java110.utils.cache.MappingCache;
+import com.java110.utils.util.Assert;
 import com.java110.utils.util.StringUtil;
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -69,9 +74,34 @@
 
     @Override
     public void execute(Business business, List<Business> businesses) {
+        JSONObject data = business.getData();
+        JSONArray businessOwnerRepairs = new JSONArray();
+        System.out.println("鏀跺埌鏃ュ織锛�>>>>>>>>>>>>>" + data.toJSONString());
+        if (data.containsKey(RepairPoolPo.class.getSimpleName())) {
+            Object bObj = data.get(RepairPoolPo.class.getSimpleName());
+            if (bObj instanceof JSONObject) {
+                businessOwnerRepairs.add(bObj);
+            } else if (bObj instanceof List) {
+                businessOwnerRepairs = JSONArray.parseArray(JSONObject.toJSONString(bObj));
+            } else {
+                businessOwnerRepairs = (JSONArray) bObj;
+            }
+        } else {
+            if (data instanceof JSONObject) {
+                businessOwnerRepairs.add(data);
+            }
+        }
+        //JSONObject businessOwnerCar = data.getJSONObject("businessOwnerCar");
+        for (int bOwnerRepairIndex = 0; bOwnerRepairIndex < businessOwnerRepairs.size(); bOwnerRepairIndex++) {
+            JSONObject businessOwnerRepair = businessOwnerRepairs.getJSONObject(bOwnerRepairIndex);
+            doDealOwnerRepair(business, businessOwnerRepair);
+        }
+    }
+
+    private void doDealOwnerRepair(Business business, JSONObject businessOwnerRepair) {
         RepairDto repairDto = new RepairDto();
-        repairDto.setbId(business.getbId());
-        repairDto.setStatusCd("0");
+        repairDto.setRepairId(businessOwnerRepair.getString("repairId"));
+//        repairDto.setStatusCd("0");
         List<RepairDto> repairDtos = repairInnerServiceSMO.queryRepairs(repairDto);
         //鑾峰彇鎶ヤ慨绫诲瀷
         String repairTypeName = repairDtos.get(0).getRepairTypeName();
@@ -129,17 +159,34 @@
             logger.info("鎺ㄩ�佸井淇℃ā鏉�,鑾峰彇accessToken澶辫触:{}", accessToken);
             return;
         }
+        //鏌ヨ灏忓尯鐗╀笟鍏徃
+        CommunityMemberDto communityMemberDto = new CommunityMemberDto();
+        communityMemberDto.setCommunityId(communityDto.getCommunityId());
+        communityMemberDto.setAuditStatusCd(CommunityMemberDto.AUDIT_STATUS_NORMAL);
+        communityMemberDto.setMemberTypeCd(CommunityMemberDto.MEMBER_TYPE_PROPERTY);
+        List<CommunityMemberDto> communityMemberDtos = communityInnerServiceSMO.getCommunityMembers(communityMemberDto);
+        Assert.listOnlyOne(communityMemberDtos, "灏忓尯娌℃湁 鐗╀笟鍏徃");
         // 鏍规嵁鐗瑰畾鏉冮檺鏌ヨ 鏈夎鏉冮檺鐨� 鍛樺伐
         BasePrivilegeDto basePrivilegeDto = new BasePrivilegeDto();
         basePrivilegeDto.setResource("/wechatRepairRegistration");
+        basePrivilegeDto.setStoreId(communityMemberDtos.get(0).getMemberId());
+        basePrivilegeDto.setCommunityId(communityMemberDtos.get(0).getCommunityId());
         List<UserDto> userDtos = privilegeInnerServiceSMO.queryPrivilegeUsers(basePrivilegeDto);
         String url = sendMsgUrl + accessToken;
+        List<String> userIds = new ArrayList<>();
         for (UserDto userDto : userDtos) {
+            if (userIds.contains(userDto.getUserId())) {
+                continue;
+            }
+            userIds.add(userDto.getUserId());
             //鏍规嵁 userId 鏌ヨ鍒皁penId
             StaffAppAuthDto staffAppAuthDto = new StaffAppAuthDto();
             staffAppAuthDto.setStaffId(userDto.getUserId());
             staffAppAuthDto.setAppType("WECHAT");
             List<StaffAppAuthDto> staffAppAuthDtos = staffAppAuthInnerServiceSMO.queryStaffAppAuths(staffAppAuthDto);
+            if (staffAppAuthDtos == null || staffAppAuthDtos.size() < 1) {
+                continue;
+            }
             String openId = staffAppAuthDtos.get(0).getOpenId();
             Data data = new Data();
             PropertyFeeTemplateMessage templateMessage = new PropertyFeeTemplateMessage();
@@ -155,7 +202,8 @@
             data.setKeyword3(new Content(paramIn.getString("context")));
             data.setRemark(new Content("璇锋偍鍙婃椂纭淇℃伅锛屽苟瀹夋帓鐩稿叧浜哄憳杩涜澶勭悊锛屾劅璋㈡偍鐨勪娇鐢紒"));
             templateMessage.setData(data);
-            String wechatUrl = MappingCache.getValue("OWNER_WECHAT_URL");
+            //鑾峰彇鍛樺伐鍏紬鍙峰湴鍧�
+            String wechatUrl = MappingCache.getValue("STAFF_WECHAT_URL");
             templateMessage.setUrl(wechatUrl);
             logger.info("鍙戦�佹ā鏉挎秷鎭唴瀹�:{}", JSON.toJSONString(templateMessage));
             ResponseEntity<String> responseEntity = outRestTemplate.postForEntity(url, JSON.toJSONString(templateMessage), String.class);

--
Gitblit v1.8.0