From afe3952e5fbf565cba6a2e4da82eec89f383fd4c Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期一, 22 一月 2024 22:20:17 +0800
Subject: [PATCH] 优化代码

---
 service-job/src/main/java/com/java110/job/adapt/hcIotNew/SendCommunityDataToIotAdapt.java |  152 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 151 insertions(+), 1 deletions(-)

diff --git a/service-job/src/main/java/com/java110/job/adapt/hcIotNew/SendCommunityDataToIotAdapt.java b/service-job/src/main/java/com/java110/job/adapt/hcIotNew/SendCommunityDataToIotAdapt.java
index 83227b6..ebba972 100644
--- a/service-job/src/main/java/com/java110/job/adapt/hcIotNew/SendCommunityDataToIotAdapt.java
+++ b/service-job/src/main/java/com/java110/job/adapt/hcIotNew/SendCommunityDataToIotAdapt.java
@@ -1,17 +1,43 @@
 package com.java110.job.adapt.hcIotNew;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.dto.community.CommunityDto;
 import com.java110.dto.community.CommunityMemberDto;
+import com.java110.dto.fee.FeeDto;
+import com.java110.dto.file.FileDto;
+import com.java110.dto.file.FileRelDto;
+import com.java110.dto.owner.OwnerCarDto;
+import com.java110.dto.owner.OwnerDto;
+import com.java110.dto.owner.OwnerRoomRelDto;
+import com.java110.dto.room.RoomDto;
+import com.java110.dto.store.StoreDto;
+import com.java110.dto.store.StoreUserDto;
 import com.java110.dto.system.Business;
+import com.java110.intf.common.IFileInnerServiceSMO;
+import com.java110.intf.common.IFileRelInnerServiceSMO;
 import com.java110.intf.community.ICommunityMemberV1InnerServiceSMO;
 import com.java110.intf.community.ICommunityV1InnerServiceSMO;
+import com.java110.intf.community.IParkingSpaceV1InnerServiceSMO;
+import com.java110.intf.community.IRoomV1InnerServiceSMO;
+import com.java110.intf.store.IStoreUserV1InnerServiceSMO;
 import com.java110.intf.store.IStoreV1InnerServiceSMO;
+import com.java110.intf.user.IOwnerCarInnerServiceSMO;
+import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
+import com.java110.intf.user.IOwnerRoomRelV1InnerServiceSMO;
+import com.java110.intf.user.IOwnerV1InnerServiceSMO;
 import com.java110.job.adapt.DatabusAdaptImpl;
+import com.java110.job.adapt.hcIotNew.http.ISendIot;
+import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
+import com.java110.utils.util.ListUtil;
+import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpMethod;
 import org.springframework.stereotype.Component;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -30,6 +56,34 @@
     @Autowired
     private IStoreV1InnerServiceSMO storeV1InnerServiceSMOImpl;
 
+    @Autowired
+    private ISendIot sendIotImpl;
+
+    @Autowired
+    private IOwnerV1InnerServiceSMO ownerV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
+
+    @Autowired
+    private IFileInnerServiceSMO fileInnerServiceSMOImpl;
+
+    @Autowired
+    private IOwnerRoomRelV1InnerServiceSMO ownerRoomRelV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IRoomV1InnerServiceSMO roomV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
+
+    @Autowired
+    private IOwnerDataToIot ownerDataToIotImpl;
+
+    @Autowired
+    private IStoreUserV1InnerServiceSMO storeUserV1InnerServiceSMOImpl;
+
+    public static final int DEFAULT_DEAL_COUNT = 200;
 
     /**
      * accessToken={access_token}
@@ -84,15 +138,111 @@
          * 鈥渃ityCode鈥�:鈥�110101鈥�,
          * 鈥渢el鈥�:鈥�18909711445鈥�,
          * 鈥渟toreId鈥�:鈥�11111鈥�,
-         * 鈥渟toreId鈥�:鈥濇紨绀虹墿涓氣��,
+         * 鈥渟toreName鈥�:鈥濇紨绀虹墿涓氣��,
          * }
          */
 
+        StoreDto storeDto = new StoreDto();
+        storeDto.setStoreId(communityMemberDtos.get(0).getMemberId());
+        List<StoreDto> storeDtos = storeV1InnerServiceSMOImpl.queryStores(storeDto);
+        Assert.listOnlyOne(storeDtos, "鐗╀笟涓嶅瓨鍦�");
 
+        JSONObject paramIn = new JSONObject();
+        paramIn.put("communityId", communityDtos.get(0).getCommunityId());
+        paramIn.put("name", communityDtos.get(0).getName());
+        paramIn.put("address", communityDtos.get(0).getAddress());
+        paramIn.put("cityCode", communityDtos.get(0).getCityCode());
+        paramIn.put("tel", communityDtos.get(0).getTel());
+        paramIn.put("storeId", storeDtos.get(0).getStoreId());
+        paramIn.put("storeName", storeDtos.get(0).getName());
+        ResultVo resultVo = sendIotImpl.post("/iot/api/community.addCommunityApi", paramIn);
+
+        if (resultVo.getCode() != ResultVo.CODE_OK) {
+            throw new IllegalArgumentException("鍚屾灏忓尯鐗╀笟澶辫触锛�" + resultVo.getMsg());
+        }
+
+
+        //todo 鍚屾鍛樺伐
+        sendStaff(storeDtos.get(0));
+
+    }
+
+    private void sendStaff(StoreDto storeDto) {
+
+
+        StoreUserDto storeUserDto = new StoreUserDto();
+        storeUserDto.setStoreId(storeDto.getStoreId());
+        List<StoreUserDto> storeUserDtos = storeUserV1InnerServiceSMOImpl.queryStoreUsers(storeUserDto);
+        if (ListUtil.isNull(storeUserDtos)) {
+            return;
+        }
+
+        JSONObject staff = null;
+        for (StoreUserDto tmpStoreUserDto : storeUserDtos) {
+            if(StoreUserDto.REL_CD_MANAGER.equals(tmpStoreUserDto.getRelCd())){
+                continue;
+            }
+            try {
+                staff = new JSONObject();
+                staff.put("propertyId", storeDto.getStoreId());
+                staff.put("staffId", tmpStoreUserDto.getUserId());
+                staff.put("name", tmpStoreUserDto.getName());
+                staff.put("tel", tmpStoreUserDto.getTel());
+                staff.put("relCd", tmpStoreUserDto.getRelCd());
+
+                sendIotImpl.post("/iot/api/staff.addStaffApi", staff);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
     }
 
     private void sendOwner(String communityId) {
+
+        OwnerDto ownerDto = new OwnerDto();
+        ownerDto.setCommunityId(communityId);
+        int count = ownerV1InnerServiceSMOImpl.queryOwnersCount(ownerDto);
+
+        int page = 1;
+        int max = 15;
+        if (count < DEFAULT_DEAL_COUNT) {
+            page = 1;
+            max = count;
+        } else {
+            page = (int) Math.ceil((double) count / (double) DEFAULT_DEAL_COUNT);
+            max = DEFAULT_DEAL_COUNT;
+        }
+
+        ownerDto = new OwnerDto();
+        ownerDto.setCommunityId(communityId);
+
+        //todo  姣忔鎸�200鏉″鐞�
+        List<OwnerDto> ownerDtos = null;
+        for (int pageIndex = 0; pageIndex < page; pageIndex++) {
+            ownerDto.setPage(pageIndex + 1);
+            ownerDto.setRow(max);
+            ownerDtos = ownerV1InnerServiceSMOImpl.queryOwners(ownerDto);
+            // 绂绘暎璐圭敤
+            doSendOwners(communityId, ownerDtos);
+        }
+
     }
 
+    /**
+     * 鎺ㄩ�佷笟涓�
+     *
+     * @param communityId
+     * @param ownerDtos
+     */
+    private void doSendOwners(String communityId, List<OwnerDto> ownerDtos) {
+
+        for (OwnerDto ownerDto : ownerDtos) {
+            try {
+                ownerDataToIotImpl.sendOwnerData(ownerDto);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
 
 }

--
Gitblit v1.8.0