From cc6cef820c096b13a62f5e7ea84571661a5d0ecf Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 24 三月 2022 08:46:19 +0800
Subject: [PATCH] 优化查询楼栋 改为 cmd 模式 方便理解 二开处理

---
 service-community/src/main/java/com/java110/community/cmd/parkingBox/UpdateParkingBoxCmd.java |   52 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 51 insertions(+), 1 deletions(-)

diff --git a/service-community/src/main/java/com/java110/community/cmd/parkingBox/UpdateParkingBoxCmd.java b/service-community/src/main/java/com/java110/community/cmd/parkingBox/UpdateParkingBoxCmd.java
index 8be0fa3..44884e0 100644
--- a/service-community/src/main/java/com/java110/community/cmd/parkingBox/UpdateParkingBoxCmd.java
+++ b/service-community/src/main/java/com/java110/community/cmd/parkingBox/UpdateParkingBoxCmd.java
@@ -21,15 +21,24 @@
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.AbstractServiceCmdListener;
 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.IParkingAreaInnerServiceSMO;
+import com.java110.intf.community.IParkingBoxAreaV1InnerServiceSMO;
 import com.java110.intf.community.IParkingBoxV1InnerServiceSMO;
 import com.java110.po.parkingBox.ParkingBoxPo;
+import com.java110.po.parkingBoxArea.ParkingBoxAreaPo;
 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 java.util.List;
 
 
 /**
@@ -46,10 +55,17 @@
 public class UpdateParkingBoxCmd extends AbstractServiceCmdListener {
 
     private static Logger logger = LoggerFactory.getLogger(UpdateParkingBoxCmd.class);
+    public static final String CODE_PREFIX_ID = "10";
 
 
     @Autowired
     private IParkingBoxV1InnerServiceSMO parkingBoxV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IParkingAreaInnerServiceSMO parkingAreaInnerServiceSMOImpl;
+
+    @Autowired
+    private IParkingBoxAreaV1InnerServiceSMO parkingBoxAreaV1InnerServiceSMOImpl;
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
@@ -69,6 +85,40 @@
             throw new CmdException("鏇存柊鏁版嵁澶辫触");
         }
 
+        if (!reqJson.containsKey("paId") || StringUtil.isEmpty(reqJson.getString("paId"))) {
+            cmdDataFlowContext.setResponseEntity(ResultVo.success());
+            return ;
+        }
+
+        //鍒ゆ柇鍋滆溅鍦烘槸鍚﹀瓨鍦�
+        ParkingAreaDto parkingAreaDto = new ParkingAreaDto();
+        parkingAreaDto.setPaId(reqJson.getString("paId"));
+        parkingAreaDto.setCommunityId(reqJson.getString("communityId"));
+        List<ParkingAreaDto> parkingAreaDtos = parkingAreaInnerServiceSMOImpl.queryParkingAreas(parkingAreaDto);
+
+        Assert.listOnlyOne(parkingAreaDtos, "鍋滆溅鍦轰笉瀛樺湪");
+
+        ParkingBoxAreaDto parkingBoxAreaDto = new ParkingBoxAreaDto();
+        parkingBoxAreaDto.setBoxId(reqJson.getString("boxId"));
+        parkingBoxAreaDto.setPaId(parkingAreaDtos.get(0).getPaId());
+        parkingBoxAreaDto.setCommunityId(parkingAreaDtos.get(0).getCommunityId());
+        List<ParkingBoxAreaDto> parkingBoxAreaDtos = parkingBoxAreaV1InnerServiceSMOImpl.queryParkingBoxAreas(parkingBoxAreaDto);
+        ParkingBoxAreaPo parkingBoxAreaPo = new ParkingBoxAreaPo();
+        parkingBoxAreaPo.setBoxId(parkingBoxPo.getBoxId());
+        parkingBoxAreaPo.setPaId(parkingAreaDtos.get(0).getPaId());
+        parkingBoxAreaPo.setCommunityId(parkingAreaDtos.get(0).getCommunityId());
+        if(parkingBoxAreaDtos == null || parkingBoxAreaDtos.size() < 1) {
+            parkingBoxAreaPo.setBaId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+            parkingBoxAreaPo.setDefaultArea(ParkingBoxAreaDto.DEFAULT_AREA_TRUE);
+            flag = parkingBoxAreaV1InnerServiceSMOImpl.saveParkingBoxArea(parkingBoxAreaPo);
+        }else{
+            parkingBoxAreaPo.setBaId(parkingBoxAreaDtos.get(0).getBaId());
+            flag = parkingBoxAreaV1InnerServiceSMOImpl.updateParkingBoxArea(parkingBoxAreaPo);
+        }
+        if (flag < 1) {
+            throw new CmdException("淇濆瓨鏁版嵁澶辫触");
+        }
+
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
 }

--
Gitblit v1.8.0