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