From d64203440e184dca931895593d36c9d9b7387d6b Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 01 十一月 2022 17:11:07 +0800
Subject: [PATCH] 优化 代码

---
 service-job/src/main/java/com/java110/job/adapt/hcGov/owner/AddOwnerToHcGovAdapt.java |   61 +++++++++++++++++-------------
 1 files changed, 35 insertions(+), 26 deletions(-)

diff --git a/service-job/src/main/java/com/java110/job/adapt/hcGov/owner/AddOwnerToHcGovAdapt.java b/service-job/src/main/java/com/java110/job/adapt/hcGov/owner/AddOwnerToHcGovAdapt.java
index 39d7f69..0c9de5d 100644
--- a/service-job/src/main/java/com/java110/job/adapt/hcGov/owner/AddOwnerToHcGovAdapt.java
+++ b/service-job/src/main/java/com/java110/job/adapt/hcGov/owner/AddOwnerToHcGovAdapt.java
@@ -36,6 +36,7 @@
 import com.java110.job.adapt.hcGov.HcGovConstant;
 import com.java110.job.adapt.hcGov.asyn.BaseHcGovSendAsyn;
 import com.java110.po.owner.OwnerPo;
+import com.java110.po.owner.OwnerRoomRelPo;
 import com.java110.po.room.RoomPo;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -76,34 +77,37 @@
     @Override
     public void execute(Business business, List<Business> businesses) {
         JSONObject data = business.getData();
-        if (data.containsKey(OwnerPo.class.getSimpleName())) {
-            Object bObj = data.get(OwnerPo.class.getSimpleName());
-            JSONArray businessOwner = null;
+        JSONArray businessOwnerRoomRelPo = new JSONArray();
+        if (data.containsKey(OwnerRoomRelPo.class.getSimpleName())) {
+            Object bObj = data.get(OwnerRoomRelPo.class.getSimpleName());
             if (bObj instanceof JSONObject) {
-                businessOwner = new JSONArray();
-                businessOwner.add(bObj);
+                businessOwnerRoomRelPo.add(bObj);
             } else if (bObj instanceof List) {
-                businessOwner = JSONArray.parseArray(JSONObject.toJSONString(bObj));
+                businessOwnerRoomRelPo = JSONArray.parseArray(JSONObject.toJSONString(bObj));
             } else {
-                businessOwner = (JSONArray) bObj;
+                businessOwnerRoomRelPo = (JSONArray) bObj;
             }
-            //JSONObject businessOwnerCar = data.getJSONObject("businessOwnerCar");
-            for (int bOwnerIndex = 0; bOwnerIndex < businessOwner.size(); bOwnerIndex++) {
-                JSONObject businessOwnerCar = businessOwner.getJSONObject(bOwnerIndex);
-                doAddOwner(business, businessOwnerCar);
+        }else {
+            if (data instanceof JSONObject) {
+                businessOwnerRoomRelPo.add(data);
+            }
+        }
+        //JSONObject businessOwnerCar = data.getJSONObject("businessOwnerCar");
+        for (int bOwnerIndex = 0; bOwnerIndex < businessOwnerRoomRelPo.size(); bOwnerIndex++) {
+            JSONObject businessOwnerCar = businessOwnerRoomRelPo.getJSONObject(bOwnerIndex);
+            doAddOwner(business, businessOwnerCar);
 
-            }
         }
     }
 
     private void doAddOwner(Business business, JSONObject businessOwner) {
 
-        OwnerPo ownerPo = BeanConvertUtil.covertBean(businessOwner, OwnerPo.class);
+        OwnerRoomRelPo ownerRoomRelPo = BeanConvertUtil.covertBean(businessOwner, OwnerRoomRelPo.class);
         OwnerDto ownerDto = new OwnerDto();
-        ownerDto.setMemberId(ownerPo.getMemberId());
+        ownerDto.setMemberId(ownerRoomRelPo.getOwnerId());
         List<OwnerDto> ownerDtoList = ownerInnerServiceSMOImpl.queryAllOwners(ownerDto);
         Assert.listNotNull(ownerDtoList, "鏈煡璇㈠埌涓氫富淇℃伅淇℃伅");
-        ownerPo = BeanConvertUtil.covertBean(ownerDtoList.get(0), OwnerPo.class);
+        OwnerPo ownerPo = BeanConvertUtil.covertBean(ownerDtoList.get(0), OwnerPo.class);
 
         CommunityDto communityDto = new CommunityDto();
         communityDto.setCommunityId(ownerPo.getCommunityId());
@@ -125,19 +129,24 @@
         ownerRoomRelDto.setOwnerId(memberId);
         List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
         if (ownerRoomRelDtos != null && ownerRoomRelDtos.size() > 0) {
-
-            RoomAttrDto roomAttrDto = new RoomAttrDto();
-            roomAttrDto.setRoomId(ownerRoomRelDtos.get(0).getRoomId());
-            roomAttrDto.setSpecCd(HcGovConstant.EXT_COMMUNITY_ID);
-            List<RoomAttrDto> roomAttrDtos = roomAttrInnerServiceSMOImpl.queryRoomAttrs(roomAttrDto);
-            if (roomAttrDtos != null && roomAttrDtos.size() > 0) {
-                extRoomId = new JSONArray();
-                for (RoomAttrDto roomAttr : roomAttrDtos) {
-                    if (HcGovConstant.EXT_COMMUNITY_ID.equals(roomAttr.getSpecCd())) {
-                        extRoomId.add(roomAttr.getValue());
+            for (OwnerRoomRelDto ownerRoomRelD : ownerRoomRelDtos) {
+                RoomAttrDto roomAttrDto = new RoomAttrDto();
+                roomAttrDto.setRoomId(ownerRoomRelD.getRoomId());
+                roomAttrDto.setSpecCd(HcGovConstant.EXT_COMMUNITY_ID);
+                List<RoomAttrDto> roomAttrDtos = roomAttrInnerServiceSMOImpl.queryRoomAttrs(roomAttrDto);
+                if (roomAttrDtos == null || roomAttrDtos.size() < 1) {
+                    return;
+                }
+                if (roomAttrDtos != null && roomAttrDtos.size() > 0) {
+                    extRoomId = new JSONArray();
+                    for (RoomAttrDto roomAttr : roomAttrDtos) {
+                        if (HcGovConstant.EXT_COMMUNITY_ID.equals(roomAttr.getSpecCd())) {
+                            extRoomId.add(roomAttr.getValue());
+                        }
                     }
                 }
             }
+
         }
         JSONObject body = new JSONObject();
         //1001 涓氫富鏈汉 1002 瀹跺涵鎴愬憳
@@ -155,7 +164,7 @@
             body.put("maritalStatus", "N");
             body.put("religiousBelief", "鏃�");
             body.put("ramark", ownerPo.getRemark());
-            body.put("extRoomId", extRoomId.toJSONString());
+            body.put("extRoomId", extRoomId != null ? extRoomId.toJSONString():"");
             body.put("ownerType", "2002");
             body.put("ownerAddress", "鏃�");
             body.put("ownerTypeCd", ownerPo.getOwnerTypeCd());

--
Gitblit v1.8.0