From 4e134e61ede1f8574189af45c810ca365c7c7f9a Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 12 五月 2022 18:33:14 +0800
Subject: [PATCH] 优化代码

---
 service-api/src/main/java/com/java110/api/smo/assetImport/impl/AssetImportSMOImpl.java |   47 +++++++++++++++++++++++++++++++++++++----------
 1 files changed, 37 insertions(+), 10 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/smo/assetImport/impl/AssetImportSMOImpl.java b/service-api/src/main/java/com/java110/api/smo/assetImport/impl/AssetImportSMOImpl.java
index b07419f..744aedd 100644
--- a/service-api/src/main/java/com/java110/api/smo/assetImport/impl/AssetImportSMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/smo/assetImport/impl/AssetImportSMOImpl.java
@@ -3,22 +3,21 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.smo.DefaultAbstractComponentSMO;
-import com.java110.core.component.BaseComponentSMO;
+import com.java110.api.smo.assetImport.IAssetImportSMO;
 import com.java110.core.context.IPageData;
 import com.java110.core.smo.ISaveTransactionLogSMO;
 import com.java110.dto.RoomDto;
 import com.java110.dto.assetImportLog.AssetImportLogDto;
 import com.java110.dto.assetImportLogDetail.AssetImportLogDetailDto;
+import com.java110.dto.owner.OwnerDto;
 import com.java110.entity.assetImport.*;
 import com.java110.entity.component.ComponentValidateResult;
-import com.java110.api.smo.assetImport.IAssetImportSMO;
-import com.java110.utils.constant.ServiceConstant;
 import com.java110.utils.util.*;
 import com.java110.vo.ResultVo;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
 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.HttpMethod;
 import org.springframework.http.HttpStatus;
@@ -445,14 +444,25 @@
         AssetImportLogDetailDto assetImportLogDetailDto = null;
         try {
             for (ImportRoom room : rooms) {
+                paramIn = new JSONObject();
                 JSONObject savedRoomInfo = getExistsRoom(pd, result, room);
                 if (savedRoomInfo != null) {
+                    //濡傛灉绌洪棽鍏ヤ綇涓�涓�
+                    if (RoomDto.STATE_FREE.equals(savedRoomInfo.getString("state")) && room.getImportOwner() != null) {
+                        paramIn.clear();
+                        apiUrl = "room.sellRoom";
+                        paramIn.put("communityId", result.getCommunityId());
+                        paramIn.put("ownerId", room.getImportOwner().getOwnerId());
+                        paramIn.put("roomId", savedRoomInfo.getString("roomId"));
+                        paramIn.put("state", "2001");
+                        paramIn.put("storeId", result.getStoreId());
+                        if (!StringUtil.isEmpty(room.getRoomFeeId()) && "0".equals(room.getRoomFeeId())) {
+                            paramIn.put("feeEndDate", room.getFeeEndDate());
+                        }
+                        responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
+                    }
                     continue;
                 }
-
-                paramIn = new JSONObject();
-
-
                 //淇濆瓨 鎴垮眿
                 apiUrl = "room.saveRoom";
 
@@ -772,9 +782,13 @@
                 paramIn.put("age", owner.getAge());
                 paramIn.put("link", owner.getTel());
                 paramIn.put("sex", owner.getSex());
-                paramIn.put("ownerTypeCd", "1001");
+                paramIn.put("ownerTypeCd", owner.getOwnerTypeCd());
                 paramIn.put("idCard", owner.getIdCard());
                 paramIn.put("source", "BatchImport");
+                if (!OwnerDto.OWNER_TYPE_CD_OWNER.equals(owner.getOwnerTypeCd())) {
+                    //鏌ヨ涓氫富ID
+                    paramIn.put("ownerId", getOwnerId(owners, owner));
+                }
                 responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
 
                 /***************************************瀵煎叆鏃ュ織璁板綍****************************************************/
@@ -818,6 +832,15 @@
         }
 
         return responseEntity;
+    }
+
+    private String getOwnerId(List<ImportOwner> owners, ImportOwner owner) {
+        for (ImportOwner owner1 : owners) {
+            if (owner1.getOwnerNum().equals(owner.getParentOwnerId())) {
+                return owner1.getOwnerId();
+            }
+        }
+        throw new IllegalArgumentException("璇峰皢涓氫富鎴愬憳鏀惧埌涓氫富鍚庨潰,鎴栬�呬笟涓绘垚鍛樻湭鎵惧埌瀵瑰簲鐨勪笟涓�");
     }
 
     /**
@@ -1006,7 +1029,7 @@
         String apiUrl = "";
         ResponseEntity<String> responseEntity = null;
         apiUrl = "owner.queryOwners?page=1&row=1&communityId=" + result.getCommunityId()
-                + "&ownerTypeCd=1001&name=" + importOwner.getOwnerName() + "&link=" + importOwner.getTel();
+                + "&ownerTypeCd=" + importOwner.getOwnerTypeCd() + "&name=" + importOwner.getOwnerName() + "&link=" + importOwner.getTel();
         responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
 
         if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
@@ -1327,6 +1350,8 @@
                 Assert.hasValue(os[2], "涓氫富淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屼笟涓绘�у埆涓虹┖");
                 String tel = StringUtil.isNullOrNone(os[4]) ? "19999999999" : os[4].toString();
                 String idCard = StringUtil.isNullOrNone(os[5]) ? "10000000000000000001" : os[5].toString();
+                String ownerTypeCd = StringUtil.isNullOrNone(os[6]) ? "1001" : os[6].toString();
+                String parentOwnerId = StringUtil.isNullOrNone(os[7]) ? os[0].toString() : os[7].toString();
 
                 if (os[4].toString().length() > 11) {
                     throw new IllegalArgumentException(os[1].toString() + " 鐨勬墜鏈哄彿瓒呰繃11浣�,璇锋牳瀹�");
@@ -1343,6 +1368,8 @@
                 importOwner.setAge(Integer.parseInt(age));
                 importOwner.setTel(tel);
                 importOwner.setIdCard(idCard);
+                importOwner.setOwnerTypeCd(ownerTypeCd);
+                importOwner.setParentOwnerId(parentOwnerId);
                 owners.add(importOwner);
             } catch (Exception e) {
                 logger.error("绗�" + (osIndex + 1) + "琛屾暟鎹嚭鐜伴棶棰�", e);

--
Gitblit v1.8.0