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/communityLocation/UpdateCommunityLocationCmd.java |   70 +++++++++++++++++++++++++++++++----
 1 files changed, 62 insertions(+), 8 deletions(-)

diff --git a/service-community/src/main/java/com/java110/community/cmd/communityLocation/UpdateCommunityLocationCmd.java b/service-community/src/main/java/com/java110/community/cmd/communityLocation/UpdateCommunityLocationCmd.java
index 85cd7d6..5d3bce4 100644
--- a/service-community/src/main/java/com/java110/community/cmd/communityLocation/UpdateCommunityLocationCmd.java
+++ b/service-community/src/main/java/com/java110/community/cmd/communityLocation/UpdateCommunityLocationCmd.java
@@ -21,17 +21,22 @@
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
-import com.java110.core.factory.GenerateCodeFactory;
-import com.java110.intf.community.ICommunityLocationV1InnerServiceSMO;
+import com.java110.dto.FloorDto;
+import com.java110.dto.UnitDto;
+import com.java110.dto.parking.ParkingAreaDto;
+import com.java110.dto.parkingBox.ParkingBoxDto;
+import com.java110.intf.community.*;
 import com.java110.po.community.CommunityLocationPo;
 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.springframework.beans.factory.annotation.Autowired;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 
+import java.util.List;
 
 /**
  * 绫昏〃杩帮細鏇存柊
@@ -46,24 +51,73 @@
 @Java110Cmd(serviceCode = "communityLocation.updateCommunityLocation")
 public class UpdateCommunityLocationCmd extends Cmd {
 
-  private static Logger logger = LoggerFactory.getLogger(UpdateCommunityLocationCmd.class);
-
+    private static Logger logger = LoggerFactory.getLogger(UpdateCommunityLocationCmd.class);
 
     @Autowired
     private ICommunityLocationV1InnerServiceSMO communityLocationV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IFloorInnerServiceSMO floorInnerServiceSMOImpl;
+
+    @Autowired
+    private IUnitInnerServiceSMO unitInnerServiceSMOImpl;
+
+    @Autowired
+    private IParkingAreaInnerServiceSMO parkingAreaInnerServiceSMOImpl;
+
+    @Autowired
+    private IParkingBoxV1InnerServiceSMO parkingBoxV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "locationId", "locationId涓嶈兘涓虹┖");
-Assert.hasKeyAndValue(reqJson, "communityId", "communityId涓嶈兘涓虹┖");
-
+        Assert.hasKeyAndValue(reqJson, "communityId", "communityId涓嶈兘涓虹┖");
     }
 
     @Override
     @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
 
-       CommunityLocationPo communityLocationPo = BeanConvertUtil.covertBean(reqJson, CommunityLocationPo.class);
+        CommunityLocationPo communityLocationPo = BeanConvertUtil.covertBean(reqJson, CommunityLocationPo.class);
+        if (!StringUtil.isEmpty(communityLocationPo.getLocationType()) && communityLocationPo.getLocationType().equals("2000")) { //1000 灏忓尯锛�2000 鍗曞厓锛�3000 鎴垮眿锛�4000 宀椾涵锛�5000 閮ㄩ棬锛�6000 妤兼爧锛�7000 鍋滆溅鍦�
+            UnitDto unitDto = new UnitDto();
+            unitDto.setUnitId(reqJson.getString("unitId"));
+            List<UnitDto> unitDtos = unitInnerServiceSMOImpl.queryUnits(unitDto);
+            Assert.listOnlyOne(unitDtos, "鏌ヨ鍗曞厓閿欒锛�");
+            FloorDto floorDto = new FloorDto();
+            floorDto.setFloorId(reqJson.getString("floorId"));
+            List<FloorDto> floorDtos = floorInnerServiceSMOImpl.queryFloors(floorDto);
+            Assert.listOnlyOne(floorDtos, "鏌ヨ鎴垮眿閿欒锛�");
+            communityLocationPo.setLocationObjId(unitDtos.get(0).getUnitId());
+            communityLocationPo.setLocationName(floorDtos.get(0).getFloorNum() + "鍙锋ゼ" + unitDtos.get(0).getUnitNum() + "鍗曞厓");
+            communityLocationPo.setLocationObjName(communityLocationPo.getLocationName());
+        }
+        if (!StringUtil.isEmpty(communityLocationPo.getLocationType()) && communityLocationPo.getLocationType().equals("6000")) { //6000 妤兼爧
+            communityLocationPo.setLocationObjId(reqJson.getString("floorId"));
+            FloorDto floorDto = new FloorDto();
+            floorDto.setFloorId(reqJson.getString("floorId"));
+            List<FloorDto> floorDtos = floorInnerServiceSMOImpl.queryFloors(floorDto);
+            Assert.listOnlyOne(floorDtos, "鏌ヨ妤兼爧閿欒锛�");
+            communityLocationPo.setLocationName(floorDtos.get(0).getFloorNum() + "鍙锋ゼ");
+            communityLocationPo.setLocationObjName(communityLocationPo.getLocationName());
+        }
+        if (!StringUtil.isEmpty(communityLocationPo.getLocationType()) && communityLocationPo.getLocationType().equals("7000")) { //7000 鍋滆溅鍦�
+            ParkingAreaDto parkingAreaDto = new ParkingAreaDto();
+            parkingAreaDto.setPaId(reqJson.getString("paId"));
+            List<ParkingAreaDto> parkingAreaDtos = parkingAreaInnerServiceSMOImpl.queryParkingAreas(parkingAreaDto);
+            Assert.listOnlyOne(parkingAreaDtos, "鏌ヨ鍋滆溅鍦洪敊璇紒");
+            communityLocationPo.setLocationObjId(reqJson.getString("paId"));
+            communityLocationPo.setLocationName(parkingAreaDtos.get(0).getNum() + "鍋滆溅鍦�");
+            communityLocationPo.setLocationObjName(communityLocationPo.getLocationName());
+        }
+        if (!StringUtil.isEmpty(communityLocationPo.getLocationType()) && communityLocationPo.getLocationType().equals("4000")) { //4000 宀椾涵
+            ParkingBoxDto parkingBoxDto = new ParkingBoxDto();
+            parkingBoxDto.setBoxId(reqJson.getString("boxId"));
+            List<ParkingBoxDto> parkingBoxDtos = parkingBoxV1InnerServiceSMOImpl.queryParkingBoxs(parkingBoxDto);
+            communityLocationPo.setLocationObjId(reqJson.getString("boxId"));
+            communityLocationPo.setLocationName(parkingBoxDtos.get(0).getBoxName());
+            communityLocationPo.setLocationObjName(communityLocationPo.getLocationName());
+        }
         int flag = communityLocationV1InnerServiceSMOImpl.updateCommunityLocation(communityLocationPo);
 
         if (flag < 1) {

--
Gitblit v1.8.0