From 0b04f664887c73e90bf684a4e69c0fdbfe26349d Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 29 三月 2023 13:35:20 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-community/src/main/java/com/java110/community/cmd/parkingBox/UpdateParkingBoxCmd.java |   55 ++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 48 insertions(+), 7 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..b32c70e 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
@@ -19,18 +19,26 @@
 import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.context.ICmdDataFlowContext;
-import com.java110.core.event.cmd.AbstractServiceCmdListener;
+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.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;
 
 /**
  * 绫昏〃杩帮細鏇存柊
@@ -43,32 +51,65 @@
  * // modify by 寮犱笁 at 2021-09-12 绗�10琛屽湪鏌愮鍦烘櫙涓嬪瓨鍦ㄦ煇绉峛ug 闇�瑕佷慨澶嶏紝娉ㄩ噴10鑷�20琛� 鍔犲叆 20琛岃嚦30琛�
  */
 @Java110Cmd(serviceCode = "parkingBox.updateParkingBox")
-public class UpdateParkingBoxCmd extends AbstractServiceCmdListener {
+public class UpdateParkingBoxCmd extends Cmd {
 
     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) {
         Assert.hasKeyAndValue(reqJson, "boxId", "boxId涓嶈兘涓虹┖");
         Assert.hasKeyAndValue(reqJson, "communityId", "communityId涓嶈兘涓虹┖");
-
     }
 
     @Override
     @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
-
         ParkingBoxPo parkingBoxPo = BeanConvertUtil.covertBean(reqJson, ParkingBoxPo.class);
         int flag = parkingBoxV1InnerServiceSMOImpl.updateParkingBox(parkingBoxPo);
-
         if (flag < 1) {
             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