From de4255249da1abf70bf614068a9ee1660213afae Mon Sep 17 00:00:00 2001
From: xiaogang <905166056@qq.com>
Date: 星期四, 24 三月 2022 17:53:17 +0800
Subject: [PATCH] 1、优化访客登记2、优化第三方协议上报问题

---
 service-api/src/main/java/com/java110/api/bmo/parkingSpace/impl/ParkingSpaceBMOImpl.java |  107 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 73 insertions(+), 34 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/bmo/parkingSpace/impl/ParkingSpaceBMOImpl.java b/service-api/src/main/java/com/java110/api/bmo/parkingSpace/impl/ParkingSpaceBMOImpl.java
old mode 100644
new mode 100755
index ce9a48a..5e4f561
--- a/service-api/src/main/java/com/java110/api/bmo/parkingSpace/impl/ParkingSpaceBMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/bmo/parkingSpace/impl/ParkingSpaceBMOImpl.java
@@ -1,19 +1,23 @@
 package com.java110.api.bmo.parkingSpace.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.bmo.ApiBaseBMO;
 import com.java110.api.bmo.parkingSpace.IParkingSpaceBMO;
 import com.java110.core.context.DataFlowContext;
-import com.java110.core.smo.fee.IFeeConfigInnerServiceSMO;
-import com.java110.core.smo.fee.IFeeInnerServiceSMO;
-import com.java110.core.smo.community.IParkingSpaceInnerServiceSMO;
+import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.fee.FeeConfigDto;
 import com.java110.dto.fee.FeeDto;
 import com.java110.dto.owner.OwnerCarDto;
 import com.java110.dto.parking.ParkingSpaceDto;
+import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
+import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
+import com.java110.intf.fee.IFeeInnerServiceSMO;
+import com.java110.intf.user.IOwnerCarAttrInnerServiceSMO;
 import com.java110.po.car.OwnerCarPo;
 import com.java110.po.fee.PayFeeDetailPo;
 import com.java110.po.fee.PayFeePo;
+import com.java110.po.ownerCarAttr.OwnerCarAttrPo;
 import com.java110.po.parking.ParkingSpacePo;
 import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.constant.CommonConstant;
@@ -22,6 +26,7 @@
 import com.java110.utils.exception.ListenerExecuteException;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -40,13 +45,17 @@
 @Service("parkingSpaceBMOImpl")
 public class ParkingSpaceBMOImpl extends ApiBaseBMO implements IParkingSpaceBMO {
 
-
     @Autowired
     private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl;
+
     @Autowired
     private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
+
     @Autowired
     private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
+
+    @Autowired
+    IOwnerCarAttrInnerServiceSMO ownerCarAttrInnerServiceSMOImpl;
 
     /**
      * 娣诲姞灏忓尯妤间俊鎭�
@@ -85,6 +94,7 @@
         businessParkingSpace.putAll(paramInJson);
         businessParkingSpace.put("state", parkingSpaceDto.getState());
         ParkingSpacePo parkingSpacePo = BeanConvertUtil.covertBean(businessParkingSpace, ParkingSpacePo.class);
+        //parkingSpaceInnerServiceSMOImpl.updateParkingSpace(parkingSpacePo);
         super.update(dataFlowContext, parkingSpacePo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_PARKING_SPACE);
     }
 
@@ -186,13 +196,16 @@
      * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
      */
     public void addParkingSpace(JSONObject paramInJson, DataFlowContext dataFlowContext) {
-
         JSONObject businessParkingSpace = new JSONObject();
         businessParkingSpace.putAll(paramInJson);
         businessParkingSpace.put("state", "F");
-        businessParkingSpace.put("psId", "-1");
+        businessParkingSpace.put("psId", GenerateCodeFactory.getPsId(GenerateCodeFactory.CODE_PREFIX_psId));
+        businessParkingSpace.put("bId", "-1");
+        businessParkingSpace.put("createTime", new Date());
         ParkingSpacePo parkingSpacePo = BeanConvertUtil.covertBean(businessParkingSpace, ParkingSpacePo.class);
-        super.delete(dataFlowContext, parkingSpacePo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_PARKING_SPACE);
+        super.insert(dataFlowContext, parkingSpacePo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_PARKING_SPACE);
+
+        //parkingSpaceInnerServiceSMOImpl.saveParkingSpace(parkingSpacePo);
     }
 
 
@@ -212,9 +225,35 @@
 
         JSONObject businessOwnerCar = new JSONObject();
         businessOwnerCar.putAll(paramInJson);
-        businessOwnerCar.put("carId", "-1");
+        businessOwnerCar.put("memberId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_carId));
+        if (!paramInJson.containsKey("carId") || paramInJson.getString("carId").startsWith("-")) {
+            businessOwnerCar.put("carId", businessOwnerCar.getString("memberId"));
+        }
         OwnerCarPo ownerCarPo = BeanConvertUtil.covertBean(businessOwnerCar, OwnerCarPo.class);
-        super.delete(dataFlowContext, ownerCarPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_OWNER_CAR);
+        ownerCarPo.setState(OwnerCarDto.STATE_NORMAL);
+
+        //娌℃湁鎸囧畾鏃朵负涓昏杞﹁締
+        if (!paramInJson.containsKey("carTypeCd") || StringUtil.isEmpty(paramInJson.getString("carTypeCd"))) {
+            ownerCarPo.setCarTypeCd(OwnerCarDto.CAR_TYPE_PRIMARY);
+        }
+        //娣诲姞杞﹁締灞炴��
+        OwnerCarAttrPo ownerCarAttrPo = new OwnerCarAttrPo();
+        ownerCarAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_cartId));
+        ownerCarAttrPo.setCarId(ownerCarPo.getCarId());
+        ownerCarAttrPo.setCommunityId(ownerCarPo.getCommunityId());
+        String carAttrs = paramInJson.getString("carAttrs");
+        if (StringUtil.isEmpty(carAttrs)) {
+            throw new IllegalArgumentException("灞炴�у�间负绌�");
+        }
+        JSONArray jsonArray = JSONArray.parseArray(carAttrs);
+        String specCd = "";
+        if (jsonArray.size() > 0) {
+            specCd = jsonArray.getJSONObject(0).getString("specCd");
+        }
+        ownerCarAttrPo.setSpecCd(specCd);
+        ownerCarAttrPo.setValue(paramInJson.getString("value"));
+        ownerCarAttrInnerServiceSMOImpl.saveOwnerCarAttr(ownerCarAttrPo);
+        super.insert(dataFlowContext, ownerCarPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_OWNER_CAR);
     }
 
     /**
@@ -231,7 +270,8 @@
         List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto);
 
         if (parkingSpaceDtos == null || parkingSpaceDtos.size() != 1) {
-            throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "鏈煡璇㈠埌鍋滆溅浣嶄俊鎭�" + JSONObject.toJSONString(parkingSpaceDto));
+            //throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "鏈煡璇㈠埌鍋滆溅浣嶄俊鎭�" + JSONObject.toJSONString(parkingSpaceDto));
+            return;
         }
 
         parkingSpaceDto = parkingSpaceDtos.get(0);
@@ -239,9 +279,9 @@
         JSONObject businessParkingSpace = new JSONObject();
 
         businessParkingSpace.putAll(BeanConvertUtil.beanCovertMap(parkingSpaceDto));
-        businessParkingSpace.put("state", this.isHireParkingSpace(paramInJson) ? "H" : "S");
+        businessParkingSpace.put("state", paramInJson.getString("carNumType"));
         ParkingSpacePo parkingSpacePo = BeanConvertUtil.covertBean(businessParkingSpace, ParkingSpacePo.class);
-        super.delete(dataFlowContext, parkingSpacePo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_PARKING_SPACE);
+        super.update(dataFlowContext, parkingSpacePo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_PARKING_SPACE);
     }
 
 
@@ -326,22 +366,21 @@
 
         // 璁$畻feeTypeCd
 
-        String feeTypeCd = "1001".equals(parkingSpaceDto.getTypeCd())
-                ? (this.isHireParkingSpace(paramInJson)
-                ? FeeTypeConstant.FEE_TYPE_HIRE_UP_PARKING_SPACE
-                : FeeTypeConstant.FEE_TYPE_SELL_UP_PARKING_SPACE)
-                : (this.isHireParkingSpace(paramInJson)
-                ? FeeTypeConstant.FEE_TYPE_HIRE_DOWN_PARKING_SPACE
-                : FeeTypeConstant.FEE_TYPE_SELL_DOWN_PARKING_SPACE);
-
+//        String feeTypeCd = "1001".equals(parkingSpaceDto.getTypeCd())
+//                ? (this.isHireParkingSpace(paramInJson)
+//                ? FeeTypeConstant.FEE_TYPE_HIRE_UP_PARKING_SPACE
+//                : FeeTypeConstant.FEE_TYPE_SELL_UP_PARKING_SPACE)
+//                : (this.isHireParkingSpace(paramInJson)
+//                ? FeeTypeConstant.FEE_TYPE_HIRE_DOWN_PARKING_SPACE
+//                : FeeTypeConstant.FEE_TYPE_SELL_DOWN_PARKING_SPACE);
+        String feeTypeCd = FeeTypeConstant.FEE_TYPE_CAR;
         paramInJson.put("feeTypeCd", feeTypeCd);
 
         //璁$畻 receivableAmount
 
 
         FeeConfigDto feeConfigDto = new FeeConfigDto();
-        feeConfigDto.setFeeTypeCd(feeTypeCd);
-        feeConfigDto.setIsDefault("T");
+        feeConfigDto.setConfigId(paramInJson.getString("configId"));
         feeConfigDto.setCommunityId(paramInJson.getString("communityId"));
         List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
         if (feeConfigDtos == null || feeConfigDtos.size() != 1) {
@@ -350,29 +389,29 @@
 
         feeConfigDto = feeConfigDtos.get(0);
 
-        double receivableAmount = isHireParkingSpace(paramInJson) ? Double.parseDouble(feeConfigDto.getAdditionalAmount())
-                * Double.parseDouble(paramInJson.getString("cycles")) : Double.parseDouble(feeConfigDto.getAdditionalAmount());
+        double receivableAmount = Double.parseDouble(feeConfigDto.getAdditionalAmount())
+                * Double.parseDouble(paramInJson.getString("cycles"));
 
         paramInJson.put("receivableAmount", receivableAmount);
         paramInJson.put("configId", feeConfigDto.getConfigId());
 
         //璁$畻 amount
-        String amount = isHireParkingSpace(paramInJson) ? "-1.00" : String.valueOf(receivableAmount);
+        String amount = "-1.00";
         paramInJson.put("amount", amount);
 
         //璁$畻 cycles
-        String cycles = isHireParkingSpace(paramInJson) ? paramInJson.getString("cycles") : "1";
+        String cycles = paramInJson.getString("cycles");
         paramInJson.put("cycles", cycles);
 
         //璁$畻缁撴潫鏃堕棿
-        String endTime = "2038-01-01 00:00:00";
-        if (isHireParkingSpace(paramInJson)) {
-            Date et = DateUtil.getCurrentDate();
-            Calendar endCalender = Calendar.getInstance();
-            endCalender.setTime(et);
-            endCalender.add(Calendar.MONTH, Integer.parseInt(paramInJson.getString("cycles")));
-            endTime = DateUtil.getFormatTimeString(endCalender.getTime(), DateUtil.DATE_FORMATE_STRING_A);
-        }
+        String endTime = "";
+
+        Date et = DateUtil.getCurrentDate();
+        Calendar endCalender = Calendar.getInstance();
+        endCalender.setTime(et);
+        endCalender.add(Calendar.MONTH, Integer.parseInt(paramInJson.getString("cycles")));
+        endTime = DateUtil.getFormatTimeString(endCalender.getTime(), DateUtil.DATE_FORMATE_STRING_A);
+
 
         paramInJson.put("endTime", endTime);
 

--
Gitblit v1.8.0