From 56087f0d8419d5cd5c1fa2835657ea07f5748afe Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期三, 25 一月 2023 16:07:45 +0800
Subject: [PATCH] 加入 业主相关接口的文档
---
service-user/src/main/java/com/java110/user/cmd/owner/SaveOwnerCarCmd.java | 62 ++++++++++++++++++++++++++----
1 files changed, 53 insertions(+), 9 deletions(-)
diff --git a/service-user/src/main/java/com/java110/user/cmd/owner/SaveOwnerCarCmd.java b/service-user/src/main/java/com/java110/user/cmd/owner/SaveOwnerCarCmd.java
index b5ebe80..fb7a24f 100644
--- a/service-user/src/main/java/com/java110/user/cmd/owner/SaveOwnerCarCmd.java
+++ b/service-user/src/main/java/com/java110/user/cmd/owner/SaveOwnerCarCmd.java
@@ -8,8 +8,10 @@
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.machine.CarInoutDto;
import com.java110.dto.owner.OwnerCarDto;
import com.java110.dto.parking.ParkingSpaceDto;
+import com.java110.intf.common.ICarInoutInnerServiceSMO;
import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
import com.java110.intf.community.IParkingSpaceV1InnerServiceSMO;
import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
@@ -19,14 +21,15 @@
import com.java110.po.car.OwnerCarPo;
import com.java110.po.ownerCarAttr.OwnerCarAttrPo;
import com.java110.po.parking.ParkingSpacePo;
-import com.java110.utils.constant.ResponseConstant;
+import com.java110.utils.cache.MappingCache;
import com.java110.utils.exception.CmdException;
-import com.java110.utils.exception.ListenerExecuteException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.DateUtil;
import com.java110.utils.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
+import java.util.Date;
import java.util.List;
@Java110Cmd(serviceCode = "owner.saveOwnerCar")
@@ -51,6 +54,9 @@
@Autowired
private IParkingSpaceV1InnerServiceSMO parkingSpaceV1InnerServiceSMOImpl;
+ @Autowired
+ private ICarInoutInnerServiceSMO carInoutInnerServiceSMOImpl;
+
@Override
public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
Assert.jsonObjectHaveKey(reqJson, "communityId", "鏈寘鍚皬鍖篒D");
@@ -61,32 +67,68 @@
Assert.jsonObjectHaveKey(reqJson, "carColor", "鏈寘鍚玞arColor");
Assert.jsonObjectHaveKey(reqJson, "psId", "鏈寘鍚玴sId");
Assert.jsonObjectHaveKey(reqJson, "storeId", "鏈寘鍚玸toreId");
- Assert.jsonObjectHaveKey(reqJson, "carNumType", "鏈寘鍚玞arNumType");
-
Assert.hasLength(reqJson.getString("communityId"), "灏忓尯ID涓嶈兘涓虹┖");
Assert.hasLength(reqJson.getString("ownerId"), "ownerId涓嶈兘涓虹┖");
Assert.hasLength(reqJson.getString("psId"), "psId涓嶈兘涓虹┖");
- if (!"H".equals(reqJson.getString("carNumType"))
- && !"S".equals(reqJson.getString("carNumType"))) {
- throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "璇锋眰鎶ユ枃涓璼ellOrFire鍊奸敊璇� 锛屽嚭鍞负S 鍑虹涓篐");
+ //妫�鏌ヨ溅浣嶆槸鍚︽槸绌洪棽鐘舵��
+ ParkingSpaceDto parkingSpaceDto = new ParkingSpaceDto();
+ parkingSpaceDto.setPsId(reqJson.getString("psId"));
+ List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto);
+ Assert.listOnlyOne(parkingSpaceDtos, "鏌ヨ杞︿綅閿欒锛�");
+ //鑾峰彇杞︿綅鐘舵��
+ String state = parkingSpaceDtos.get(0).getState();
+ if (StringUtil.isEmpty(state) || !state.equals("F")) {
+ throw new IllegalArgumentException("璇ヨ溅浣嶄笉鏄┖闂茬姸鎬侊紒");
}
//鏍¢獙杞︾墝鍙锋槸鍚﹀瓨鍦�
OwnerCarDto ownerCarDto = new OwnerCarDto();
ownerCarDto.setCommunityId(reqJson.getString("communityId"));
ownerCarDto.setCarNum(reqJson.getString("carNum"));
- ownerCarDto.setCarTypeCds(new String[]{OwnerCarDto.CAR_TYPE_PRIMARY,OwnerCarDto.CAR_TYPE_MEMBER}); // 涓存椂杞﹂櫎澶�
+ ownerCarDto.setCarTypeCds(new String[]{OwnerCarDto.CAR_TYPE_PRIMARY, OwnerCarDto.CAR_TYPE_MEMBER}); // 涓存椂杞﹂櫎澶�
int count = ownerCarInnerServiceSMOImpl.queryOwnerCarsCount(ownerCarDto);
if (count > 0) {
throw new IllegalArgumentException("杞﹁締宸插瓨鍦�");
+ }
+
+ //鍒ゆ柇涓存椂杞� 鏄惁鍦ㄥ満
+ String parkingIn = MappingCache.getValue("TEMP_CAR_IN_PARKING");
+
+ if (!"ON".equals(parkingIn)) {
+ return;
+ }
+
+ ownerCarDto = new OwnerCarDto();
+ ownerCarDto.setCommunityId(reqJson.getString("communityId"));
+ ownerCarDto.setCarNum(reqJson.getString("carNum"));
+ ownerCarDto.setCarTypeCds(new String[]{OwnerCarDto.CAR_TYPE_TEMP}); // 涓存椂杞﹂櫎澶�
+ count = ownerCarInnerServiceSMOImpl.queryOwnerCarsCount(ownerCarDto);
+ if (count < 1) {
+ return;
+ }
+
+ CarInoutDto carInoutDto = new CarInoutDto();
+ carInoutDto.setCarNum(reqJson.getString("carNum"));
+ carInoutDto.setStates(new String[]{CarInoutDto.STATE_PAY, CarInoutDto.STATE_IN, CarInoutDto.STATE_REPAY});
+ List<CarInoutDto> carInoutDtos = carInoutInnerServiceSMOImpl.queryCarInouts(carInoutDto);
+ if (carInoutDtos != null && carInoutDtos.size() > 0) {
+ throw new CmdException("杞﹁締鍦ㄥ満锛岃鍑哄満鍚庡啀鍔炵悊鏈堢杞�");
}
}
@Override
@Java110Transactional
public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+ if (!reqJson.containsKey("leaseType")) {
+ reqJson.put("leaseType", OwnerCarDto.LEASE_TYPE_MONTH);
+ }
+
+ if (!OwnerCarDto.LEASE_TYPE_MONTH.equals(reqJson.getString("leaseType"))) {
+ reqJson.put("startTime", DateUtil.getFormatTimeString(new Date(), DateUtil.DATE_FORMATE_STRING_B));
+ reqJson.put("endTime", "2037-01-01");
+ }
JSONObject businessOwnerCar = new JSONObject();
businessOwnerCar.putAll(reqJson);
businessOwnerCar.put("memberId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_carId));
@@ -102,6 +144,8 @@
}
//娣诲姞杞﹁締灞炴��
dealOwnerCarAttr(reqJson, ownerCarPo);
+
+
int flag = ownerCarV1InnerServiceSMOImpl.saveOwnerCar(ownerCarPo);
if (flag < 1) {
throw new CmdException("淇濆瓨杞﹁締灞炴�уけ璐�");
@@ -122,8 +166,8 @@
JSONObject businessParkingSpace = new JSONObject();
businessParkingSpace.putAll(BeanConvertUtil.beanCovertMap(parkingSpaceDto));
- businessParkingSpace.put("state", reqJson.getString("carNumType"));
ParkingSpacePo parkingSpacePo = BeanConvertUtil.covertBean(businessParkingSpace, ParkingSpacePo.class);
+ parkingSpacePo.setState("H"); //S 鍑哄敭 H 鍑虹 F 绌洪棽
flag = parkingSpaceV1InnerServiceSMOImpl.updateParkingSpace(parkingSpacePo);
if (flag < 1) {
throw new CmdException("淇敼杞︿綅鐘舵�佸け璐�");
--
Gitblit v1.8.0