From 6bdc67eb2db3fd4cb141541580894a60c4eb08e7 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期一, 28 十一月 2022 00:05:31 +0800
Subject: [PATCH] 加入手工赠送优惠券 功能

---
 springboot/src/main/java/com/java110/boot/smo/assetImport/impl/ImportOwnerCarSMOImpl.java |  121 ++++++++++++++++++++++++---------------
 1 files changed, 74 insertions(+), 47 deletions(-)

diff --git a/springboot/src/main/java/com/java110/boot/smo/assetImport/impl/ImportOwnerCarSMOImpl.java b/springboot/src/main/java/com/java110/boot/smo/assetImport/impl/ImportOwnerCarSMOImpl.java
index cf9db40..c3a255e 100644
--- a/springboot/src/main/java/com/java110/boot/smo/assetImport/impl/ImportOwnerCarSMOImpl.java
+++ b/springboot/src/main/java/com/java110/boot/smo/assetImport/impl/ImportOwnerCarSMOImpl.java
@@ -40,6 +40,7 @@
 import java.util.Date;
 import java.util.List;
 
+
 @Service("importOwnerCarSMOImpl")
 public class ImportOwnerCarSMOImpl extends DefaultAbstractComponentSMO implements IImportOwnerCarSMO {
 
@@ -138,7 +139,13 @@
             importOwnerCar.setOwnerName(os[5].toString());
             //鑾峰彇杞︿綅
             String parkingLot = os[6].toString();
-            String[] split = parkingLot.split("-");
+            if(!parkingLot.contains("-")){
+                throw new IllegalArgumentException((osIndex + 1) +"琛岃溅浣嶆牸寮忛敊璇� 鏍煎紡搴斾负锛氬仠杞﹀満-杞︿綅缂栧彿锛岃溅浣嶇紪鍙峰彲浠ヤ粠1鑷缂栧啓");
+            }
+            String[] split = parkingLot.split("-",2);
+            if(split.length != 2){
+                throw new IllegalArgumentException((osIndex + 1) +"琛岃溅浣嶆牸寮忛敊璇� 鏍煎紡搴斾负锛氬仠杞﹀満-杞︿綅缂栧彿锛岃溅浣嶇紪鍙峰彲浠ヤ粠1鑷缂栧啓");
+            }
             importOwnerCar.setAreaNum(split[0]);
             importOwnerCar.setNum(split[1]);
             SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -147,6 +154,8 @@
             importOwnerCar.setTypeCd(os[9].toString());
             importOwnerCar.setSpaceSate(os[10].toString());
             ownerCarDtos.add(importOwnerCar);
+
+
         }
     }
 
@@ -171,56 +180,19 @@
         }
         String psId = "";
         String paId = "";
+
+        validateOwnerData(ownerCars, reqJson);
         for (OwnerCarDto ownerCarDto : ownerCars) {
             OwnerCarPo ownerCarPo = BeanConvertUtil.covertBean(ownerCarDto, OwnerCarPo.class);
-
             //鑾峰彇鎴垮眿鍚嶇О
-            String roomName = ownerCarDto.getRoomName().trim();
-            String[] split = roomName.split("-",3);
-            String floorNum = split[0];
-            String unitNum = split[1];
-            String roomNum = split[2];
-            FloorDto floorDto = new FloorDto();
-            floorDto.setCommunityId(reqJson.getString("communityId"));
-            floorDto.setFloorNum(floorNum);
-            //鏌ヨ妤兼爧
-            List<FloorDto> floorDtos = floorInnerServiceSMOImpl.queryFloors(floorDto);
-            Assert.listOnlyOne(floorDtos, ownerCarDto.getCarNum()+"鏌ヨ妤兼爧閿欒锛�");
-            UnitDto unitDto = new UnitDto();
-            unitDto.setUnitNum(unitNum);
-            unitDto.setFloorId(floorDtos.get(0).getFloorId());
-            //鏌ヨ鍗曞厓
-            List<UnitDto> unitDtos = unitInnerServiceSMOImpl.queryUnits(unitDto);
-            Assert.listOnlyOne(unitDtos, ownerCarDto.getCarNum()+"鏌ヨ鍗曞厓閿欒锛�");
-            RoomDto roomDto = new RoomDto();
-            roomDto.setRoomNum(roomNum);
-            roomDto.setUnitId(unitDtos.get(0).getUnitId());
-            //鏌ヨ鎴垮眿
-            List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
-            Assert.listOnlyOne(roomDtos, ownerCarDto.getCarNum()+"鏌ヨ鎴垮眿閿欒锛�");
-            OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
-            ownerRoomRelDto.setRoomId(roomDtos.get(0).getRoomId());
-            //鏌ヨ涓氫富鎴垮眿鍏崇郴琛�
-            List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
-            Assert.listOnlyOne(ownerRoomRelDtos, ownerCarDto.getCarNum()+"鏌ヨ涓氫富鎴垮眿淇℃伅閿欒锛�");
-            OwnerDto ownerDto = new OwnerDto();
-            ownerDto.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId());
-            ownerDto.setName(ownerCarDto.getOwnerName());
-            //鏌ヨ涓氫富
-            List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
-            Assert.listOnlyOne(ownerDtos, ownerCarDto.getCarNum()+"鏌ヨ涓氫富淇℃伅閿欒锛�");
-            if (ownerDtos.get(0).getOwnerTypeCd().equals("1001")) { //涓氫富
-                ownerCarPo.setCarTypeCd("1001"); //涓氫富杞﹁締
-            } else {
-                ownerCarPo.setCarTypeCd("1002"); //鎴愬憳杞﹁締
-            }
+            ownerCarPo.setCarTypeCd("1001"); //涓昏溅杈�
             ParkingAreaDto parkingAreaDto = new ParkingAreaDto();
             parkingAreaDto.setNum(ownerCarDto.getAreaNum());
             parkingAreaDto.setTypeCd(ownerCarDto.getTypeCd());
             //鏌ヨ鍋滆溅鍦�
             List<ParkingAreaDto> parkingAreaDtos = parkingAreaInnerServiceSMOImpl.queryParkingAreas(parkingAreaDto);
             //Assert.listOnlyOne(parkingAreaDtos, "鏌ヨ鍋滆溅鍦洪敊璇紒");
-            if(parkingAreaDtos == null || parkingAreaDtos.size() <1){
+            if (parkingAreaDtos == null || parkingAreaDtos.size() < 1) {
                 paId = GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_paId);
                 ParkingAreaPo parkingAreaPo = new ParkingAreaPo();
                 parkingAreaPo.setCommunityId(reqJson.getString("communityId"));
@@ -229,7 +201,7 @@
                 parkingAreaPo.setTypeCd(ownerCarDto.getTypeCd());
                 parkingAreaPo.setRemark("瀵煎叆鏁版嵁");
                 parkingAreaV1InnerServiceSMOImpl.saveParkingArea(parkingAreaPo);
-            }else{
+            } else {
                 paId = parkingAreaDtos.get(0).getPaId();
             }
             ParkingSpaceDto parkingSpaceDto = new ParkingSpaceDto();
@@ -238,7 +210,7 @@
             //鏌ヨ鍋滆溅浣�
             List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto);
             String state = "";
-            if(parkingSpaceDtos == null || parkingSpaceDtos.size() <1){
+            if (parkingSpaceDtos == null || parkingSpaceDtos.size() < 1) {
                 psId = GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_psId);
                 ParkingSpacePo parkingSpacePo = new ParkingSpacePo();
                 parkingSpacePo.setCommunityId(reqJson.getString("communityId"));
@@ -251,7 +223,7 @@
                 parkingSpacePo.setRemark("瀵煎叆鏁版嵁");
                 parkingSpaceV1InnerServiceSMOImpl.saveParkingSpace(parkingSpacePo);
                 state = ParkingSpaceDto.STATE_FREE;
-            }else{
+            } else {
                 psId = parkingSpaceDtos.get(0).getPsId();
                 //鑾峰彇鍋滆溅浣嶇姸鎬�(鍑哄敭 S锛屽嚭绉� H 锛岀┖闂� F)
                 state = parkingSpaceDtos.get(0).getState();
@@ -261,7 +233,7 @@
                 throw new IllegalArgumentException(ownerCarDto.getAreaNum() + "鍋滆溅鍦�-" + ownerCarDto.getNum() + "鍋滆溅浣嶄笉鏄┖闂茬姸鎬侊紒");
             }
             ownerCarPo.setPsId(psId);
-            ownerCarPo.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId());
+            ownerCarPo.setOwnerId(ownerCarDto.getOwnerId());
             ownerCarPo.setUserId("-1");
             ownerCarPo.setCommunityId(reqJson.getString("communityId"));
             ownerCarPo.setCarId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_carId));
@@ -275,6 +247,62 @@
             parkingSpaceInnerServiceSMOImpl.updateParkingSpace(parkingSpacePo);
         }
         return ResultVo.success();
+    }
+
+    private void validateOwnerData(List<OwnerCarDto> ownerCars, JSONObject reqJson) {
+
+        for (OwnerCarDto ownerCarDto : ownerCars) {
+
+            if(!"1001".equals(ownerCarDto.getTypeCd()) && !"2002".equals(ownerCarDto.getTypeCd())){
+                throw new IllegalArgumentException(ownerCarDto.getCarNum()+"鍋滆溅鍦虹被鍨嬪簲濉啓 1001(鍦颁笂鍋滆溅鍦�)鎴栬�� 2002 (鍦颁笅鍋滆溅鍦�)");
+            }
+            if(!"H".equals(ownerCarDto.getSpaceSate()) && !"S".equals(ownerCarDto.getTypeCd())){
+                throw new IllegalArgumentException(ownerCarDto.getCarNum()+"杞︿綅鐘舵�佸簲濉啓 S锛堝嚭鍞級鎴栬�� H 锛堝嚭绉燂級");
+            }
+            //鑾峰彇鎴垮眿鍚嶇О
+            String roomName = ownerCarDto.getRoomName().trim();
+            if(!roomName.contains("-")){
+                throw new IllegalArgumentException(ownerCarDto.getCarNum()+"鎴垮眿鍙锋牸寮忛敊璇� 鏍煎紡搴斾负锛氭ゼ鏍�-鍗曞厓-鎴垮眿锛屽鏋滄槸鍟嗛摵 妤兼爧-0-鍟嗛摵缂栧彿");
+            }
+            String[] split = roomName.split("-", 3);
+            if(split.length != 3){
+                throw new IllegalArgumentException(ownerCarDto.getCarNum()+"鎴垮眿鍙锋牸寮忛敊璇� 鏍煎紡搴斾负锛氭ゼ鏍�-鍗曞厓-鎴垮眿锛屽鏋滄槸鍟嗛摵 妤兼爧-0-鍟嗛摵缂栧彿");
+            }
+            String floorNum = split[0];
+            String unitNum = split[1];
+            String roomNum = split[2];
+            FloorDto floorDto = new FloorDto();
+            floorDto.setCommunityId(reqJson.getString("communityId"));
+            floorDto.setFloorNum(floorNum);
+            //鏌ヨ妤兼爧
+            List<FloorDto> floorDtos = floorInnerServiceSMOImpl.queryFloors(floorDto);
+            Assert.listOnlyOne(floorDtos, ownerCarDto.getCarNum() + "鏌ヨ妤兼爧閿欒锛�");
+            UnitDto unitDto = new UnitDto();
+            unitDto.setUnitNum(unitNum);
+            unitDto.setFloorId(floorDtos.get(0).getFloorId());
+            //鏌ヨ鍗曞厓
+            List<UnitDto> unitDtos = unitInnerServiceSMOImpl.queryUnits(unitDto);
+            Assert.listOnlyOne(unitDtos, ownerCarDto.getCarNum() + "鏌ヨ鍗曞厓閿欒锛�");
+            RoomDto roomDto = new RoomDto();
+            roomDto.setRoomNum(roomNum);
+            roomDto.setUnitId(unitDtos.get(0).getUnitId());
+            //鏌ヨ鎴垮眿
+            List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
+            Assert.listOnlyOne(roomDtos, ownerCarDto.getCarNum() + "鏌ヨ鎴垮眿閿欒锛�");
+            OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
+            ownerRoomRelDto.setRoomId(roomDtos.get(0).getRoomId());
+            //鏌ヨ涓氫富鎴垮眿鍏崇郴琛�
+            List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
+            Assert.listOnlyOne(ownerRoomRelDtos, ownerCarDto.getCarNum() + "鏌ヨ涓氫富鎴垮眿淇℃伅閿欒锛�");
+            OwnerDto ownerDto = new OwnerDto();
+            ownerDto.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId());
+            ownerDto.setName(ownerCarDto.getOwnerName());
+            //鏌ヨ涓氫富
+            List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
+            Assert.listOnlyOne(ownerDtos, ownerCarDto.getCarNum() + "鏌ヨ涓氫富淇℃伅閿欒锛�");
+            ownerCarDto.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId());
+        }
+
     }
 
     //瑙f瀽Excel鏃ユ湡鏍煎紡
@@ -300,4 +328,3 @@
         return tDate;
     }
 }
-

--
Gitblit v1.8.0