From 9fa63e316511ca3b116fe86776c04b3b2ac13f97 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期一, 07 十一月 2022 02:27:52 +0800
Subject: [PATCH] 优化 保养计划

---
 service-community/src/main/java/com/java110/community/cmd/parkingBoxArea/SaveParkingBoxAreaCmd.java |   37 +++++++++++++++++++++++++++++--------
 1 files changed, 29 insertions(+), 8 deletions(-)

diff --git a/service-community/src/main/java/com/java110/community/cmd/parkingBoxArea/SaveParkingBoxAreaCmd.java b/service-community/src/main/java/com/java110/community/cmd/parkingBoxArea/SaveParkingBoxAreaCmd.java
index 0665d1f..72a3aae 100644
--- a/service-community/src/main/java/com/java110/community/cmd/parkingBoxArea/SaveParkingBoxAreaCmd.java
+++ b/service-community/src/main/java/com/java110/community/cmd/parkingBoxArea/SaveParkingBoxAreaCmd.java
@@ -22,7 +22,9 @@
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.parking.ParkingAreaDto;
 import com.java110.dto.parkingBoxArea.ParkingBoxAreaDto;
+import com.java110.intf.community.IParkingAreaV1InnerServiceSMO;
 import com.java110.intf.community.IParkingBoxAreaV1InnerServiceSMO;
 import com.java110.intf.community.IParkingBoxV1InnerServiceSMO;
 import com.java110.po.parkingBox.ParkingBoxPo;
@@ -34,6 +36,8 @@
 import org.slf4j.Logger;
 import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
 
 /**
  * 绫昏〃杩帮細淇濆瓨
@@ -58,38 +62,55 @@
     @Autowired
     private IParkingBoxV1InnerServiceSMO parkingBoxV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IParkingAreaV1InnerServiceSMO parkingAreaV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "boxId", "璇锋眰鎶ユ枃涓湭鍖呭惈boxId");
         Assert.hasKeyAndValue(reqJson, "paId", "璇锋眰鎶ユ枃涓湭鍖呭惈paId");
         Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId");
         Assert.hasKeyAndValue(reqJson, "defaultArea", "璇锋眰鎶ユ枃涓湭鍖呭惈defaultArea");
-
+        ParkingAreaDto parkingAreaDto = new ParkingAreaDto();
+        parkingAreaDto.setPaId(reqJson.getString("paId"));
+        List<ParkingAreaDto> parkingAreaDtos = parkingAreaV1InnerServiceSMOImpl.queryParkingAreas(parkingAreaDto);
+        Assert.listOnlyOne(parkingAreaDtos, "鍋滆溅鍦轰笉瀛樺湪锛�");
     }
 
     @Override
     @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
 
+        ParkingBoxAreaDto parkingBoxAreaDto = new ParkingBoxAreaDto();
+        parkingBoxAreaDto.setPaId(reqJson.getString("paId"));
+        parkingBoxAreaDto.setBoxId(reqJson.getString("boxId"));
+        List<ParkingBoxAreaDto> parkingBoxAreaDtos = parkingBoxAreaV1InnerServiceSMOImpl.queryParkingBoxAreas(parkingBoxAreaDto);
+        Assert.listIsNull(parkingBoxAreaDtos, "鍋滆溅鍦洪噸澶嶏紝璇烽噸鏂版坊鍔狅紒");
         String defaultArea = reqJson.getString("defaultArea");
         if (ParkingBoxAreaDto.DEFAULT_AREA_TRUE.equals(defaultArea)) {
-            ParkingBoxAreaPo tmpParkingBoxAreaPo = new ParkingBoxAreaPo();
-            tmpParkingBoxAreaPo.setBoxId(reqJson.getString("boxId"));
-            tmpParkingBoxAreaPo.setDefaultArea(ParkingBoxAreaDto.DEFAULT_AREA_FALSE);
-            parkingBoxAreaV1InnerServiceSMOImpl.updateParkingBoxArea(tmpParkingBoxAreaPo);
+            ParkingBoxAreaDto parkingBoxArea = new ParkingBoxAreaDto();
+            parkingBoxArea.setBoxId(reqJson.getString("boxId"));
+            parkingBoxArea.setDefaultArea(ParkingBoxAreaDto.DEFAULT_AREA_FALSE);
+            List<ParkingBoxAreaDto> parkingBoxAreas = parkingBoxAreaV1InnerServiceSMOImpl.queryParkingBoxAreas(parkingBoxArea);
+            if (parkingBoxAreas != null && parkingBoxAreas.size() > 0) {
+                for (ParkingBoxAreaDto parkingBox : parkingBoxAreas) {
+                    ParkingBoxAreaPo tmpParkingBoxAreaPo = new ParkingBoxAreaPo();
+                    tmpParkingBoxAreaPo.setBaId(parkingBox.getBaId());
+                    tmpParkingBoxAreaPo.setBoxId(reqJson.getString("boxId"));
+                    tmpParkingBoxAreaPo.setDefaultArea(ParkingBoxAreaDto.DEFAULT_AREA_FALSE);
+                    parkingBoxAreaV1InnerServiceSMOImpl.updateParkingBoxArea(tmpParkingBoxAreaPo);
+                }
+            }
         }
-
         ParkingBoxAreaPo parkingBoxAreaPo = BeanConvertUtil.covertBean(reqJson, ParkingBoxAreaPo.class);
         parkingBoxAreaPo.setBaId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
         int flag = parkingBoxAreaV1InnerServiceSMOImpl.saveParkingBoxArea(parkingBoxAreaPo);
-
         if (flag < 1) {
             throw new CmdException("淇濆瓨鏁版嵁澶辫触");
         }
         ParkingBoxPo parkingBoxPo = new ParkingBoxPo();
         parkingBoxPo.setBoxId(reqJson.getString("boxId"));
         parkingBoxV1InnerServiceSMOImpl.updateParkingBox(parkingBoxPo);
-
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
 }

--
Gitblit v1.8.0