From 46eed722cd0431aa433bea2470b23015b8d83b3e Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期一, 21 二月 2022 10:03:25 +0800
Subject: [PATCH] 优化三亚物业 临时收费问题

---
 service-common/src/main/java/com/java110/common/cmd/carInout/ListCarInParkingAreaCmd.java |   38 ++++++++++++++++++++++++++++++++------
 1 files changed, 32 insertions(+), 6 deletions(-)

diff --git a/service-common/src/main/java/com/java110/common/cmd/carInout/ListCarInParkingAreaCmd.java b/service-common/src/main/java/com/java110/common/cmd/carInout/ListCarInParkingAreaCmd.java
index c1ac191..fad8879 100644
--- a/service-common/src/main/java/com/java110/common/cmd/carInout/ListCarInParkingAreaCmd.java
+++ b/service-common/src/main/java/com/java110/common/cmd/carInout/ListCarInParkingAreaCmd.java
@@ -22,13 +22,16 @@
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.smo.IComputeFeeSMO;
 import com.java110.dto.machine.CarInoutDto;
+import com.java110.dto.parkingBoxArea.ParkingBoxAreaDto;
 import com.java110.intf.common.ICarInoutV1InnerServiceSMO;
+import com.java110.intf.community.IParkingBoxAreaV1InnerServiceSMO;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 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.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -55,6 +58,9 @@
     private ICarInoutV1InnerServiceSMO carInoutV1InnerServiceSMOImpl;
 
     @Autowired
+    private IParkingBoxAreaV1InnerServiceSMO parkingBoxAreaV1InnerServiceSMOImpl;
+
+    @Autowired
     private IComputeFeeSMO computeFeeSMOImpl;
 
 
@@ -67,15 +73,15 @@
     @Override
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
         CarInoutDto carInoutDto = BeanConvertUtil.covertBean(reqJson, CarInoutDto.class);
-
         carInoutDto.setStates(new String[]{CarInoutDto.STATE_IN, CarInoutDto.STATE_PAY, CarInoutDto.STATE_REPAY});
+        carInoutDto.setPaIds(getPaIds(reqJson));
         int count = carInoutV1InnerServiceSMOImpl.queryCarInoutsCount(carInoutDto);
 
         List<CarInoutDto> carInoutDtos = null;
 
         if (count > 0) {
             carInoutDtos = carInoutV1InnerServiceSMOImpl.queryCarInouts(carInoutDto);
-            computeCarInouts(carInoutDtos);
+            carInoutDtos = computeCarInouts(carInoutDtos);
         } else {
             carInoutDtos = new ArrayList<>();
         }
@@ -84,10 +90,30 @@
 
         ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
 
-        cmdDataFlowContext.setResponseEntity(ResultVo.success());
+        cmdDataFlowContext.setResponseEntity(responseEntity);
     }
 
-    private void computeCarInouts(List<CarInoutDto> carInoutDtos) {
-        computeFeeSMOImpl.computeTempCarStopTimeAndFee(carInoutDtos);
+    private String[] getPaIds(JSONObject reqJson) {
+        if (reqJson.containsKey("boxId") && !StringUtil.isEmpty(reqJson.getString("boxId"))) {
+            ParkingBoxAreaDto parkingBoxAreaDto = new ParkingBoxAreaDto();
+            parkingBoxAreaDto.setBoxId(reqJson.getString("boxId"));
+            parkingBoxAreaDto.setCommunityId(reqJson.getString("communityId"));
+            List<ParkingBoxAreaDto> parkingBoxAreaDtos = parkingBoxAreaV1InnerServiceSMOImpl.queryParkingBoxAreas(parkingBoxAreaDto);
+
+            if (parkingBoxAreaDtos == null || parkingBoxAreaDtos.size() < 1) {
+                throw new CmdException("鏈煡鍒板仠杞﹀満淇℃伅");
+            }
+            List<String> paIds = new ArrayList<>();
+            for (ParkingBoxAreaDto parkingBoxAreaDto1 : parkingBoxAreaDtos) {
+                paIds.add(parkingBoxAreaDto1.getPaId());
+            }
+            String[] paIdss = paIds.toArray(new String[paIds.size()]);
+            return paIdss;
+        }
+        return null;
+    }
+
+    private List<CarInoutDto> computeCarInouts(List<CarInoutDto> carInoutDtos) {
+        return computeFeeSMOImpl.computeTempCarStopTimeAndFee(carInoutDtos);
     }
 }

--
Gitblit v1.8.0