From d7923523b0116c8055a3d3008a2fb1c29e57e81d Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期日, 15 九月 2019 11:24:44 +0800
Subject: [PATCH] 优化 车位出售问题
---
WebService/src/main/java/com/java110/web/smo/impl/CarServiceSMOImpl.java | 72 +++++++++++++++++++++++++++---------
1 files changed, 54 insertions(+), 18 deletions(-)
diff --git a/WebService/src/main/java/com/java110/web/smo/impl/CarServiceSMOImpl.java b/WebService/src/main/java/com/java110/web/smo/impl/CarServiceSMOImpl.java
index 762bf65..e55477d 100644
--- a/WebService/src/main/java/com/java110/web/smo/impl/CarServiceSMOImpl.java
+++ b/WebService/src/main/java/com/java110/web/smo/impl/CarServiceSMOImpl.java
@@ -106,13 +106,18 @@
//鏁版嵁鏍¢獙鏄惁 鍟嗘埛鏄惁鍏ラ┗璇ュ皬鍖�
super.checkStoreEnterCommunity(pd, storeId, storeTypeCd, communityId, restTemplate);
- JSONObject viewSelectParkingSpace = this.getObj(infos,"viewSelectParkingSpace");
- JSONObject viewOwnerInfo = this.getObj(infos,"viewOwnerInfo");
- JSONObject addCar = this.getObj(infos,"addCar");
- JSONObject hireParkingSpaceFee = this.getObj(infos,"hireParkingSpaceFee");
+ JSONObject viewSelectParkingSpace = this.getObj(infos, "viewSelectParkingSpace");
+ JSONObject viewOwnerInfo = this.getObj(infos, "viewOwnerInfo");
+ JSONObject addCar = this.getObj(infos, "addCar");
+ JSONObject parkingSpaceFee = null;
+ if(hasThisFlowComponent(infos, "hireParkingSpaceFee")) {
+ parkingSpaceFee = this.getObj(infos, "hireParkingSpaceFee");
+ }else{
+ parkingSpaceFee = this.getObj(infos, "sellParkingSpaceFee");
+ }
JSONObject newParamIn = new JSONObject();
newParamIn.putAll(addCar);
- newParamIn.putAll(hireParkingSpaceFee);
+ newParamIn.putAll(parkingSpaceFee);
newParamIn.put("communityId", communityId);
newParamIn.put("ownerId", viewOwnerInfo.getString("ownerId"));
newParamIn.put("psId", viewSelectParkingSpace.getString("psId"));
@@ -240,7 +245,7 @@
JSONArray infos = info.getJSONArray("data");
- if(infos.size() != 4){
+ if (infos.size() != 4) {
throw new IllegalArgumentException("鏁版嵁琚鏀�");
}
@@ -250,28 +255,36 @@
Assert.hasKeyByFlowData(infos, "addCar", "carBrand", "璇锋眰鎶ユ枃涓湭鍖呭惈carBrand");
Assert.hasKeyByFlowData(infos, "addCar", "carType", "璇锋眰鎶ユ枃涓湭鍖呭惈carType");
Assert.hasKeyByFlowData(infos, "addCar", "carColor", "鏈寘鍚玞arColor");
- Assert.hasKeyByFlowData(infos, "hireParkingSpaceFee", "receivedAmount", "鏈寘鍚玶eceivedAmount");
- Assert.hasKeyByFlowData(infos, "hireParkingSpaceFee", "sellOrHire", "鏈寘鍚玸ellOrHire");
- JSONObject viewSelectParkingSpace = this.getObj(infos,"viewSelectParkingSpace");
- JSONObject viewOwnerInfo = this.getObj(infos,"viewOwnerInfo");
- JSONObject addCar = this.getObj(infos,"addCar");
- JSONObject hireParkingSpaceFee = this.getObj(infos,"hireParkingSpaceFee");
+ JSONObject parkingSpaceFee = null;
+ if (hasThisFlowComponent(infos, "hireParkingSpaceFee")) {
+ Assert.hasKeyByFlowData(infos, "hireParkingSpaceFee", "receivedAmount", "鏈寘鍚玶eceivedAmount");
+ Assert.hasKeyByFlowData(infos, "hireParkingSpaceFee", "sellOrHire", "鏈寘鍚玸ellOrHire");
+ parkingSpaceFee = this.getObj(infos, "hireParkingSpaceFee");
+ }else{
+ Assert.hasKeyByFlowData(infos, "sellParkingSpaceFee", "receivedAmount", "鏈寘鍚玶eceivedAmount");
+ Assert.hasKeyByFlowData(infos, "sellParkingSpaceFee", "sellOrHire", "鏈寘鍚玸ellOrHire");
+ parkingSpaceFee = this.getObj(infos, "sellParkingSpaceFee");
+ }
+
+ JSONObject viewSelectParkingSpace = this.getObj(infos, "viewSelectParkingSpace");
+ JSONObject viewOwnerInfo = this.getObj(infos, "viewOwnerInfo");
+ JSONObject addCar = this.getObj(infos, "addCar");
Assert.hasLength(info.getString("communityId"), "灏忓尯ID涓嶈兘涓虹┖");
Assert.hasLength(viewOwnerInfo.getString("ownerId"), "ownerId涓嶈兘涓虹┖");
Assert.hasLength(viewSelectParkingSpace.getString("psId"), "psId涓嶈兘涓虹┖");
- Assert.hasLength(hireParkingSpaceFee.getString("receivedAmount"), "receivedAmount涓嶈兘涓虹┖");
+ Assert.hasLength(parkingSpaceFee.getString("receivedAmount"), "receivedAmount涓嶈兘涓虹┖");
- if(!"H".equals(hireParkingSpaceFee.getString("sellOrHire"))
- && !"S".equals(hireParkingSpaceFee.getString("sellOrHire"))){
+ if (!"H".equals(parkingSpaceFee.getString("sellOrHire"))
+ && !"S".equals(parkingSpaceFee.getString("sellOrHire"))) {
throw new IllegalArgumentException("鍏ュ弬閿欒锛屾棤娉曡瘑鍒鎿嶄綔");
}
- if("H".equals(hireParkingSpaceFee.getString("sellOrHire"))){
- Assert.jsonObjectHaveKey(hireParkingSpaceFee, "cycles", "鏈寘鍚玞ycles");
- Assert.hasLength(hireParkingSpaceFee.getString("cycles"), "cycles涓嶈兘涓虹┖");
+ if ("H".equals(parkingSpaceFee.getString("sellOrHire"))) {
+ Assert.jsonObjectHaveKey(parkingSpaceFee, "cycles", "鏈寘鍚玞ycles");
+ Assert.hasLength(parkingSpaceFee.getString("cycles"), "cycles涓嶈兘涓虹┖");
}
}
@@ -297,6 +310,7 @@
}
}
+
/**
* 鏍¢獙鏌ヨ灏忓尯妤间俊鎭�
*
@@ -329,6 +343,28 @@
throw new IllegalArgumentException("鏈壘鍒扮粍浠剁紪鐮佷负銆�" + flowComponent + "銆戞暟鎹�");
}
+ /**
+ * 鏄惁鏈� 杩欎釜缁勪欢
+ *
+ * @param infos 鎵�鏈夌粍浠朵俊鎭�
+ * @param currentFlowComponent 褰撳墠缁勪欢
+ * @return
+ */
+ private boolean hasThisFlowComponent(JSONArray infos, String currentFlowComponent) {
+ JSONObject serviceInfo = null;
+
+ for (int infoIndex = 0; infoIndex < infos.size(); infoIndex++) {
+ serviceInfo = infos.getJSONObject(infoIndex);
+
+ if (currentFlowComponent.equals(serviceInfo.getString("flowComponent"))) {
+ return true;
+ }
+
+ }
+
+ return false;
+ }
+
public RestTemplate getRestTemplate() {
return restTemplate;
--
Gitblit v1.8.0