From 76f36c6ad54519e85d547015b6be24a7055f0b29 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期三, 25 九月 2019 10:28:34 +0800
Subject: [PATCH] 资产批量导入功能完成
---
WebService/src/main/java/com/java110/web/smo/assetImport/impl/AssetImportSMOImpl.java | 184 ++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 178 insertions(+), 6 deletions(-)
diff --git a/WebService/src/main/java/com/java110/web/smo/assetImport/impl/AssetImportSMOImpl.java b/WebService/src/main/java/com/java110/web/smo/assetImport/impl/AssetImportSMOImpl.java
index eae27b0..61e98fc 100644
--- a/WebService/src/main/java/com/java110/web/smo/assetImport/impl/AssetImportSMOImpl.java
+++ b/WebService/src/main/java/com/java110/web/smo/assetImport/impl/AssetImportSMOImpl.java
@@ -2,10 +2,16 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
+import com.java110.common.constant.FeeTypeConstant;
+import com.java110.common.constant.ResponseConstant;
import com.java110.common.constant.ServiceConstant;
+import com.java110.common.exception.ListenerExecuteException;
import com.java110.common.util.Assert;
+import com.java110.common.util.DateUtil;
import com.java110.common.util.ImportExcelUtils;
import com.java110.core.context.IPageData;
+import com.java110.dto.FeeConfigDto;
+import com.java110.dto.ParkingSpaceDto;
import com.java110.entity.assetImport.ImportFloor;
import com.java110.entity.assetImport.ImportOwner;
import com.java110.entity.assetImport.ImportParkingSpace;
@@ -90,23 +96,114 @@
//淇濆瓨鍗曞厓淇℃伅 鍜� 妤兼爧淇℃伅
responseEntity = savedFloorAndUnitInfo(pd, floors, result);
- if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ if (responseEntity == null || responseEntity.getStatusCode() != HttpStatus.OK) {
return responseEntity;
}
// 淇濆瓨涓氫富淇℃伅
responseEntity = savedOwnerInfo(pd, owners, result);
- if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ if (responseEntity == null || responseEntity.getStatusCode() != HttpStatus.OK) {
return responseEntity;
}
//淇濆瓨鎴垮眿
- responseEntity = savedRoomInfo(pd,rooms,result);
+ responseEntity = savedRoomInfo(pd, rooms, result);
+ if (responseEntity == null || responseEntity.getStatusCode() != HttpStatus.OK) {
+ return responseEntity;
+ }
+
+ //淇濆瓨杞︿綅
+ responseEntity = savedParkingSpaceInfo(pd, parkingSpaces, result);
+
+ if (responseEntity == null || responseEntity.getStatusCode() != HttpStatus.OK) {
+ return responseEntity;
+ }
+
return responseEntity;
}
/**
+ * 淇濆瓨杞︿綅淇℃伅
+ *
+ * @param pd
+ * @param parkingSpaces
+ * @param result
+ * @return
+ */
+ private ResponseEntity<String> savedParkingSpaceInfo(IPageData pd, List<ImportParkingSpace> parkingSpaces, ComponentValidateResult result) {
+ String apiUrl = "";
+ JSONObject paramIn = null;
+ ResponseEntity<String> responseEntity = null;
+ ImportOwner owner = null;
+ for (ImportParkingSpace parkingSpace : parkingSpaces) {
+ JSONObject savedParkingSpaceInfo = getExistsParkSpace(pd, result, parkingSpace);
+ if (savedParkingSpaceInfo != null) {
+ continue;
+ }
+
+ paramIn = new JSONObject();
+
+ apiUrl = ServiceConstant.SERVICE_API_URL + "/api/parkingSpace.saveParkingSpace";
+
+ paramIn.put("communityId", result.getCommunityId());
+ paramIn.put("num", parkingSpace.getPsNum());
+ paramIn.put("area", parkingSpace.getArea());
+ paramIn.put("typeCd", parkingSpace.getTypeCd());
+
+ responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
+ if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ continue;
+ }
+
+ savedParkingSpaceInfo = getExistsParkSpace(pd, result, parkingSpace);
+ if (savedParkingSpaceInfo != null) {
+ continue;
+ }
+
+ //鏄惁鏈変笟涓讳俊鎭�
+ if (parkingSpace.getImportOwner() == null) {
+ continue;
+ }
+
+ paramIn.clear();
+
+ paramIn.put("communityId", result.getCommunityId());
+ paramIn.put("ownerId", parkingSpace.getImportOwner().getOwnerId());
+ paramIn.put("carNum", parkingSpace.getCarNum());
+ paramIn.put("carBrand", parkingSpace.getCarBrand());
+ paramIn.put("carType", parkingSpace.getCarType());
+ paramIn.put("carColor", parkingSpace.getCarColor());
+ paramIn.put("psId", savedParkingSpaceInfo.getString("psId"));
+ paramIn.put("storeId", result.getStoreId());
+ paramIn.put("sellOrHire", parkingSpace.getSellOrHire());
+
+ String feeTypeCd = "1001".equals(parkingSpace.getTypeCd())
+ ? FeeTypeConstant.FEE_TYPE_SELL_UP_PARKING_SPACE : FeeTypeConstant.FEE_TYPE_SELL_DOWN_PARKING_SPACE;
+ apiUrl = ServiceConstant.SERVICE_API_URL + "/api/fee.queryFeeConfig?communityId=" + result.getCommunityId() + "&feeTypeCd=" + feeTypeCd;
+ responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+
+ if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ continue;
+ }
+
+ JSONObject configInfo = JSONObject.parseObject(responseEntity.getBody());
+ if(!configInfo.containsKey("additionalAmount")){
+ continue;
+ }
+
+ paramIn.put("receivedAmount", configInfo.getString("additionalAmount"));
+
+ apiUrl = ServiceConstant.SERVICE_API_URL + "/api/parkingSpace.sellParkingSpace";
+ responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
+ }
+
+ return responseEntity;
+ }
+
+
+ /**
* 淇濆瓨鎴垮眿淇℃伅
+ *
* @param pd
* @param rooms
* @param result
@@ -116,16 +213,90 @@
String apiUrl = "";
JSONObject paramIn = null;
ResponseEntity<String> responseEntity = null;
- for(ImportRoom room : rooms){
+ ImportOwner owner = null;
+ for (ImportRoom room : rooms) {
JSONObject savedRoomInfo = getExistsRoom(pd, result, room);
-
if (savedRoomInfo != null) {
continue;
}
+
+ paramIn = new JSONObject();
+
+
+ //淇濆瓨 鎴垮眿
+
+ apiUrl = ServiceConstant.SERVICE_API_URL + "/api/room.saveRoom";
+
+ paramIn.put("communityId", result.getCommunityId());
+ paramIn.put("unitId", room.getFloor().getUnitId());
+ paramIn.put("roomNum", room.getRoomNum());
+ paramIn.put("layer", room.getLayer());
+ paramIn.put("section", room.getSection());
+ paramIn.put("apartment", "1");
+ paramIn.put("state", "1000");
+ paramIn.put("builtUpArea", room.getBuiltUpArea());
+ paramIn.put("unitPrice", "1000.00");
+
+ responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
+ if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ continue;
+ }
+
+ savedRoomInfo = getExistsRoom(pd, result, room);
+ if (savedRoomInfo == null) {
+ continue;
+ }
+
+ if (room.getImportOwner() == null) {
+ continue;
+ }
+ paramIn.clear();
+ apiUrl = ServiceConstant.SERVICE_API_URL + "/api/room.sellRoom";
+ paramIn.put("communityId", result.getCommunityId());
+ paramIn.put("ownerId", room.getImportOwner().getOwnerId());
+ paramIn.put("roomId", savedRoomInfo.getString("roomId"));
+ paramIn.put("state", "2002");
+ paramIn.put("storeId", result.getStoreId());
+ responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
+
}
return responseEntity;
}
+
+ /**
+ * 鏌ヨ瀛樺湪鐨勬埧灞嬩俊鎭�
+ * room.queryRooms
+ *
+ * @param pd
+ * @param result
+ * @param parkingSpace
+ * @return
+ */
+ private JSONObject getExistsParkSpace(IPageData pd, ComponentValidateResult result, ImportParkingSpace parkingSpace) {
+ String apiUrl = "";
+ ResponseEntity<String> responseEntity = null;
+ apiUrl = ServiceConstant.SERVICE_API_URL + "/api/parkingSpace.queryParkingSpaces?page=1&row=1&communityId=" + result.getCommunityId()
+ + "&num=" + parkingSpace.getPsNum();
+ responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+
+ if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+ return null;
+ }
+
+ JSONObject savedParkingSpaceInfoResults = JSONObject.parseObject(responseEntity.getBody());
+
+
+ if (!savedParkingSpaceInfoResults.containsKey("parkingSpaces") || savedParkingSpaceInfoResults.getJSONArray("parkingSpaces").size() != 1) {
+ return null;
+ }
+
+
+ JSONObject savedParkingSpaceInfo = savedParkingSpaceInfoResults.getJSONArray("parkingSpaces").getJSONObject(0);
+
+ return savedParkingSpaceInfo;
+ }
+
/**
* 鏌ヨ瀛樺湪鐨勬埧灞嬩俊鎭�
@@ -140,7 +311,7 @@
String apiUrl = "";
ResponseEntity<String> responseEntity = null;
apiUrl = ServiceConstant.SERVICE_API_URL + "/api/room.queryRooms?communityId=" + result.getCommunityId()
- + "&floorId=" + room.getFloor().getFloorId() + "&unitId=" + room.getFloor().getUnitId()+"&roomNum="+room.getRoomNum();
+ + "&floorId=" + room.getFloor().getFloorId() + "&unitId=" + room.getFloor().getUnitId() + "&roomNum=" + room.getRoomNum();
responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
@@ -369,6 +540,7 @@
importParkingSpace.setCarBrand(os[5].toString());
importParkingSpace.setCarType(os[6].toString());
importParkingSpace.setCarColor(os[7].toString());
+ importParkingSpace.setSellOrHire(os[8].toString());
}
parkingSpaces.add(importParkingSpace);
--
Gitblit v1.8.0