From 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 19 七月 2022 21:49:55 +0800
Subject: [PATCH] 优化添加设备 功能
---
service-community/src/main/java/com/java110/community/cmd/parkingSpaceApply/UpdateParkingSpaceApplyCmd.java | 140 ++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 132 insertions(+), 8 deletions(-)
diff --git a/service-community/src/main/java/com/java110/community/cmd/parkingSpaceApply/UpdateParkingSpaceApplyCmd.java b/service-community/src/main/java/com/java110/community/cmd/parkingSpaceApply/UpdateParkingSpaceApplyCmd.java
index 1e9fa5a..f409eeb 100644
--- a/service-community/src/main/java/com/java110/community/cmd/parkingSpaceApply/UpdateParkingSpaceApplyCmd.java
+++ b/service-community/src/main/java/com/java110/community/cmd/parkingSpaceApply/UpdateParkingSpaceApplyCmd.java
@@ -19,19 +19,35 @@
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.core.log.LoggerFactory;
+import com.java110.dto.CommunityMemberDto;
+import com.java110.dto.fee.FeeConfigDto;
+import com.java110.dto.fee.FeeDto;
+import com.java110.dto.owner.OwnerCarDto;
+import com.java110.dto.parking.ParkingSpaceDto;
+import com.java110.dto.parkingSpaceApply.ParkingSpaceApplyDto;
+import com.java110.intf.community.ICommunityMemberV1InnerServiceSMO;
import com.java110.intf.community.IParkingSpaceApplyV1InnerServiceSMO;
+import com.java110.intf.community.IParkingSpaceV1InnerServiceSMO;
+import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
+import com.java110.intf.fee.IPayFeeV1InnerServiceSMO;
+import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
+import com.java110.po.car.OwnerCarPo;
+import com.java110.po.fee.PayFeePo;
+import com.java110.po.parking.ParkingSpacePo;
import com.java110.po.parkingSpaceApply.ParkingSpaceApplyPo;
+import com.java110.utils.constant.CommonConstant;
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;
/**
@@ -45,13 +61,24 @@
* // modify by 寮犱笁 at 2021-09-12 绗�10琛屽湪鏌愮鍦烘櫙涓嬪瓨鍦ㄦ煇绉峛ug 闇�瑕佷慨澶嶏紝娉ㄩ噴10鑷�20琛� 鍔犲叆 20琛岃嚦30琛�
*/
@Java110Cmd(serviceCode = "parkingSpaceApply.updateParkingSpaceApply")
-public class UpdateParkingSpaceApplyCmd extends AbstractServiceCmdListener {
+public class UpdateParkingSpaceApplyCmd extends Cmd {
- private static Logger logger = LoggerFactory.getLogger(UpdateParkingSpaceApplyCmd.class);
+ private static Logger logger = LoggerFactory.getLogger(UpdateParkingSpaceApplyCmd.class);
-
+ public static final String CODE_PREFIX_ID = "10";
@Autowired
private IParkingSpaceApplyV1InnerServiceSMO parkingSpaceApplyV1InnerServiceSMOImpl;
+ @Autowired
+ private IOwnerCarV1InnerServiceSMO ownerCarV1InnerServiceSMOImpl;
+ @Autowired
+ private IPayFeeV1InnerServiceSMO payFeeNewV1InnerServiceSMOImpl;
+ @Autowired
+ private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
+ @Autowired
+ private ICommunityMemberV1InnerServiceSMO communityMemberV1InnerServiceSMOImpl;
+
+ @Autowired
+ private IParkingSpaceV1InnerServiceSMO parkingSpaceV1InnerServiceSMOImpl;
@Override
public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
@@ -62,15 +89,112 @@
@Override
@Java110Transactional
public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+ String userId = cmdDataFlowContext.getReqHeaders().get(CommonConstant.USER_ID);
+ ParkingSpaceApplyPo parkingSpaceApplyPo = BeanConvertUtil.covertBean(reqJson, ParkingSpaceApplyPo.class);
- ParkingSpaceApplyPo parkingSpaceApplyPo = BeanConvertUtil.covertBean(reqJson, ParkingSpaceApplyPo.class);
+ //瀹℃牳澶辫触
+ if (ParkingSpaceApplyDto.STATE_FAIL.equals(parkingSpaceApplyPo.getState())) {
+ parkingSpaceApplyPo.setPsId("");
+ parkingSpaceApplyPo.setConfigId("");
+ int flag = parkingSpaceApplyV1InnerServiceSMOImpl.updateParkingSpaceApply(parkingSpaceApplyPo);
+ if (flag < 1) {
+ throw new CmdException("鏇存柊鏁版嵁澶辫触");
+ }
+ return;
+ }
+ PayFeePo payFeePo = new PayFeePo();
+ payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+
+ parkingSpaceApplyPo.setFeeId(payFeePo.getFeeId());
int flag = parkingSpaceApplyV1InnerServiceSMOImpl.updateParkingSpaceApply(parkingSpaceApplyPo);
if (flag < 1) {
throw new CmdException("鏇存柊鏁版嵁澶辫触");
}
+ ParkingSpaceApplyDto parkingSpaceApplyDto = new ParkingSpaceApplyDto();
+ parkingSpaceApplyDto.setApplyId(parkingSpaceApplyPo.getApplyId());
+ List<ParkingSpaceApplyDto> parkingSpaceApplyDtos = parkingSpaceApplyV1InnerServiceSMOImpl.queryParkingSpaceApplys(parkingSpaceApplyDto);
+
+ if (parkingSpaceApplyDtos == null || parkingSpaceApplyDtos.size() < 1) {
+ throw new CmdException("鏈煡璇㈠埌鐢宠鍗曪紝璇疯仈绯荤鐞嗗憳");
+ }
+ ParkingSpaceApplyDto parkingSpaceApply = parkingSpaceApplyDtos.get(0);
+
+ //2銆佸鏍哥殑鏃讹紝鍒ゆ柇杞﹁締鏄惁鍦╫wner_car涓湁锛屾湁灏辫烦杩囥�� 娌℃湁鐨勮瘽鍐欏叆owner_car锛�--閮借鍐欏叆pay_fee銆�
+ OwnerCarDto ownerCarDto = new OwnerCarDto();
+ ownerCarDto.setCarNum(parkingSpaceApplyPo.getCarNum());
+ ownerCarDto.setCommunityId(parkingSpaceApplyPo.getCommunityId());
+ List<OwnerCarDto> ownerCarDtos = ownerCarV1InnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
+ String catId = "";
+ OwnerCarPo ownerCarPo = new OwnerCarPo();
+ if (ownerCarDtos == null || ownerCarDtos.size() < 1) {
+ ownerCarPo.setCarId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+ ownerCarPo.setOwnerId(parkingSpaceApply.getApplyPersonId());
+ ownerCarPo.setbId("-1");
+ ownerCarPo.setCarNum(parkingSpaceApply.getCarNum());
+ ownerCarPo.setCarColor(parkingSpaceApply.getCarColor());
+ ownerCarPo.setCarBrand(parkingSpaceApply.getCarBrand());
+ ownerCarPo.setCarType(parkingSpaceApply.getCarType());
+ ownerCarPo.setCarTypeCd("1001");
+ ownerCarPo.setCommunityId(parkingSpaceApply.getCommunityId());
+ ownerCarPo.setMemberId(ownerCarPo.getCarId());
+ ownerCarPo.setStartTime(parkingSpaceApply.getStartTime());
+ ownerCarPo.setEndTime(parkingSpaceApply.getEndTime());
+ ownerCarPo.setPsId(parkingSpaceApply.getPsId());
+ ownerCarPo.setState("1001");
+ ownerCarPo.setUserId(userId);
+ ownerCarPo.setRemark("杞︿綅鐢宠锛岀郴缁熻嚜鍔ㄥ啓鍏�");
+ flag = ownerCarV1InnerServiceSMOImpl.saveOwnerCar(ownerCarPo);
+ if (flag < 1) {
+ throw new CmdException("鏇存柊鏁版嵁澶辫触");
+ }
+ catId = ownerCarPo.getCarId();
+ } else {
+ catId = ownerCarDtos.get(0).getCarId();
+ }
+
+ // 灏嗚溅浣嶇姸鎬� 淇敼涓哄凡鍑虹鐘舵��
+ ParkingSpacePo parkingSpacePo = new ParkingSpacePo();
+ parkingSpacePo.setPsId(parkingSpaceApply.getPsId());
+ parkingSpacePo.setState(ParkingSpaceDto.STATE_HIRE);
+ flag = parkingSpaceV1InnerServiceSMOImpl.updateParkingSpace(parkingSpacePo);
+ if (flag < 1) {
+ throw new CmdException("鏇存柊杞︿綅鐘舵�佸け璐�");
+ }
+ FeeConfigDto feeConfigDto = new FeeConfigDto();
+ feeConfigDto.setConfigId(parkingSpaceApply.getConfigId());
+ List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
+ if (feeConfigDtos == null || feeConfigDtos.size() < 1) {
+ throw new CmdException("鏈煡璇㈠埌鐩稿叧璐圭敤椤硅缃紝璇疯仈绯荤鐞嗗憳");
+ }
+ CommunityMemberDto communityMemberDto = new CommunityMemberDto();
+ communityMemberDto.setCommunityId(parkingSpaceApply.getCommunityId());
+ communityMemberDto.setMemberTypeCd("390001200002");
+ List<CommunityMemberDto> communityMemberDtos = communityMemberV1InnerServiceSMOImpl.queryCommunityMembers(communityMemberDto);
+ if (communityMemberDtos == null || communityMemberDtos.size() < 1) {
+ throw new CmdException("鏈煡璇㈠埌灏忓尯鍜屽晢鎴风殑鍏崇郴锛岃鑱旂郴绠$悊鍛�");
+ }
+ FeeConfigDto feeConfig = feeConfigDtos.get(0);
+ payFeePo.setCommunityId(feeConfig.getCommunityId());
+ payFeePo.setConfigId(feeConfig.getConfigId());
+ payFeePo.setFeeTypeCd(feeConfig.getFeeTypeCd());
+ payFeePo.setPayerObjId(catId);
+ payFeePo.setIncomeObjId(communityMemberDtos.get(0).getMemberId());//鏍规嵁灏忓尯ID鏌ヨstoreId
+ payFeePo.setStartTime(parkingSpaceApply.getStartTime());
+ payFeePo.setEndTime(parkingSpaceApply.getEndTime());
+ payFeePo.setAmount("0");
+ payFeePo.setFeeFlag(feeConfig.getFeeFlag());
+ payFeePo.setState(FeeDto.STATE_DOING);
+ payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_PARKING_SPACE);
+ payFeePo.setBatchId("-1");
+ payFeePo.setbId("-1");
+ payFeePo.setUserId(userId);
+ flag = payFeeNewV1InnerServiceSMOImpl.savePayFee(payFeePo);
+ if (flag < 1) {
+ throw new CmdException("鏇存柊鏁版嵁澶辫触");
+ }
cmdDataFlowContext.setResponseEntity(ResultVo.success());
}
}
--
Gitblit v1.8.0