From 6bdc67eb2db3fd4cb141541580894a60c4eb08e7 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期一, 28 十一月 2022 00:05:31 +0800
Subject: [PATCH] 加入手工赠送优惠券 功能
---
service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportOwnerCarSMOImpl.java | 125 +++++++++++++++++++++++++----------------
1 files changed, 77 insertions(+), 48 deletions(-)
diff --git a/service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportOwnerCarSMOImpl.java b/service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportOwnerCarSMOImpl.java
index d5a7d48..e6d0a80 100644
--- a/service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportOwnerCarSMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportOwnerCarSMOImpl.java
@@ -5,6 +5,7 @@
import com.java110.api.smo.assetImport.IImportOwnerCarSMO;
import com.java110.core.context.IPageData;
import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.core.log.LoggerFactory;
import com.java110.dto.FloorDto;
import com.java110.dto.RoomDto;
import com.java110.dto.UnitDto;
@@ -15,7 +16,9 @@
import com.java110.dto.parking.ParkingSpaceDto;
import com.java110.entity.component.ComponentValidateResult;
import com.java110.intf.community.*;
-import com.java110.intf.user.*;
+import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
+import com.java110.intf.user.IOwnerInnerServiceSMO;
+import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
import com.java110.po.car.OwnerCarPo;
import com.java110.po.parking.ParkingAreaPo;
import com.java110.po.parking.ParkingSpacePo;
@@ -24,7 +27,6 @@
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.slf4j.Logger;
-import com.java110.core.log.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@@ -136,7 +138,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");
@@ -145,6 +153,8 @@
importOwnerCar.setTypeCd(os[9].toString());
importOwnerCar.setSpaceSate(os[10].toString());
ownerCarDtos.add(importOwnerCar);
+
+
}
}
@@ -169,56 +179,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"));
@@ -227,7 +200,7 @@
parkingAreaPo.setTypeCd(ownerCarDto.getTypeCd());
parkingAreaPo.setRemark("瀵煎叆鏁版嵁");
parkingAreaV1InnerServiceSMOImpl.saveParkingArea(parkingAreaPo);
- }else{
+ } else {
paId = parkingAreaDtos.get(0).getPaId();
}
ParkingSpaceDto parkingSpaceDto = new ParkingSpaceDto();
@@ -236,7 +209,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"));
@@ -249,7 +222,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();
@@ -259,7 +232,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 +248,62 @@
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鏃ユ湡鏍煎紡
public static String excelDoubleToDate(String strDate) {
if (strDate.length() == 5) {
--
Gitblit v1.8.0