From 630cb0babb264657d8a07476e328654573620f8c Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期六, 15 一月 2022 13:41:47 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-community/src/main/java/com/java110/community/cmd/parkingSpaceApply/SaveParkingSpaceApplyCmd.java |   53 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 51 insertions(+), 2 deletions(-)

diff --git a/service-community/src/main/java/com/java110/community/cmd/parkingSpaceApply/SaveParkingSpaceApplyCmd.java b/service-community/src/main/java/com/java110/community/cmd/parkingSpaceApply/SaveParkingSpaceApplyCmd.java
index fae17ea..c89cb3c 100644
--- a/service-community/src/main/java/com/java110/community/cmd/parkingSpaceApply/SaveParkingSpaceApplyCmd.java
+++ b/service-community/src/main/java/com/java110/community/cmd/parkingSpaceApply/SaveParkingSpaceApplyCmd.java
@@ -22,8 +22,14 @@
 import com.java110.core.event.cmd.AbstractServiceCmdListener;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.fee.PayFeeDto;
+import com.java110.dto.owner.OwnerCarDto;
+import com.java110.dto.owner.OwnerDto;
 import com.java110.dto.parkingSpaceApply.ParkingSpaceApplyDto;
 import com.java110.intf.community.IParkingSpaceApplyV1InnerServiceSMO;
+import com.java110.intf.fee.IPayFeeNewV1InnerServiceSMO;
+import com.java110.intf.user.IBuildingOwnerV1InnerServiceSMO;
+import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
 import com.java110.po.parkingSpaceApply.ParkingSpaceApplyPo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
@@ -32,6 +38,10 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+
+import java.util.List;
 
 /**
  * 绫昏〃杩帮細淇濆瓨
@@ -52,6 +62,12 @@
 
     @Autowired
     private IParkingSpaceApplyV1InnerServiceSMO parkingSpaceApplyV1InnerServiceSMOImpl;
+    @Autowired
+    private IOwnerCarV1InnerServiceSMO ownerCarV1InnerServiceSMOImpl;
+    @Autowired
+    private IPayFeeNewV1InnerServiceSMO payFeeNewV1InnerServiceSMOImpl;
+    @Autowired
+    private IBuildingOwnerV1InnerServiceSMO buildingOwnerV1InnerServiceSMOImpl;
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
@@ -65,21 +81,54 @@
         Assert.hasKeyAndValue(reqJson, "applyPersonName", "璇锋眰鎶ユ枃涓湭鍖呭惈applyPersonName");
         Assert.hasKeyAndValue(reqJson, "applyPersonLink", "璇锋眰鎶ユ枃涓湭鍖呭惈applyPersonLink");
         Assert.hasKeyAndValue(reqJson, "applyPersonId", "璇锋眰鎶ユ枃涓湭鍖呭惈applyPersonId");
+        Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId");
 
     }
 
     @Override
     @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
-
         ParkingSpaceApplyPo parkingSpaceApplyPo = BeanConvertUtil.covertBean(reqJson, ParkingSpaceApplyPo.class);
+        /**
+         * 1銆佽粖浣嶇敵璜嬪垽鏂疯粖杓涙槸鍚﹀瓨鍦╫wner_car锛屽鏋滃瓨鍦ㄥ垽鏂槸鍚︽湁2008001鐨勮垂鐢紝
+         * car_id鏄垂鐢ㄨ〃涓殑payer_obj_id銆傜敵璇风殑鏃跺�欏垽鏂笅owner_id鏄惁涓�-1锛岃繕闇�鍒皁wner琛ㄤ腑鏍¢獙鍦ㄤ笉鍦紝
+         * 2銆佸鏍哥殑鏃讹紝鍒ゆ柇杞﹁締鏄惁鍦╫wner_car涓湁锛屾湁灏辫烦杩囥��  娌℃湁鐨勮瘽鍐欏叆owner_car锛�--閮借鍐欏叆pay_fee銆�
+         * 3銆佹敮浠樻垚鍔熷悗锛屽洖璋冩柟娉曚腑鍒锋柊鐢宠琛ㄧ姸鎬併��
+         */
+        //鐢宠鐨勬椂鍊欏垽鏂笅owner_id鏄惁涓�-1
+        if ("-1".equals(parkingSpaceApplyPo.getApplyPersonId())) {
+            throw new CmdException("娓稿韬唤涓嶈兘鐢宠杞︿綅锛�");
+        }
+        //杩橀渶鍒皁wner琛ㄤ腑鏍¢獙鍦ㄤ笉鍦�,涓嶆槸涓氫富鍒欎笉鑳界敵璇�
+        OwnerDto ownerDto = new OwnerDto();
+        ownerDto.setOwnerId(parkingSpaceApplyPo.getApplyPersonId());
+        List<OwnerDto> ownerDtos = buildingOwnerV1InnerServiceSMOImpl.queryBuildingOwners(ownerDto);
+        if (ownerDtos == null || ownerDtos.size() < 1) {
+            throw new CmdException("涓嶆槸鏈皬鍖轰笟涓讳笉鑳界敵璇疯溅浣嶏紒");
+        }
+        //鍒ゆ柇杞﹁締鏄惁宸茬粡鏈夌敵璇峰崟
         ParkingSpaceApplyDto parkingSpaceApplyDto = new ParkingSpaceApplyDto();
-        parkingSpaceApplyDto.setCarNum(parkingSpaceApplyDto.getCarNum());
+        parkingSpaceApplyDto.setCarNum(parkingSpaceApplyPo.getCarNum());
         parkingSpaceApplyDto.setState("1001");//瀹℃牳涓�
         int count = parkingSpaceApplyV1InnerServiceSMOImpl.queryParkingSpaceApplysCount(parkingSpaceApplyDto);
         if (count > 1) {
             throw new CmdException("褰撳墠杞﹁締鐢宠澶勭悊瀹℃牳涓紝涓嶈兘閲嶅鐢宠銆�");
         }
+        //杌婁綅鐢宠珛鍒ゆ柗杌婅紱鏄惁瀛樺湪owner_car锛屽鏋滃瓨鍦ㄥ垽鏂槸鍚︽湁2008001鐨勮垂鐢�
+        OwnerCarDto ownerCarDto = new OwnerCarDto();
+        ownerCarDto.setCarNum(parkingSpaceApplyPo.getCarNum());
+        ownerCarDto.setCommunityId(parkingSpaceApplyPo.getCommunityId());
+        List<OwnerCarDto> ownerCarDtos = ownerCarV1InnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
+        if (ownerCarDtos != null && ownerCarDtos.size() > 0) {
+            PayFeeDto payFeeDto = new PayFeeDto();
+            payFeeDto.setPayerObjId(ownerCarDtos.get(0).getCarId());
+            payFeeDto.setState("2008001");
+            List<PayFeeDto> payFeeDtos = payFeeNewV1InnerServiceSMOImpl.queryPayFeeNews(payFeeDto);
+            if (payFeeDtos != null && payFeeDtos.size() > 0) {
+                throw new CmdException("璇ヨ溅杈嗗凡缁忔湁鐩稿叧璐圭敤锛岃鍒板仠杞﹁垂涓画璐广�傛垨鑰呰仈绯荤鐞嗗憳");
+            }
+        }
+
         parkingSpaceApplyPo.setApplyId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
         int flag = parkingSpaceApplyV1InnerServiceSMOImpl.saveParkingSpaceApply(parkingSpaceApplyPo);
         if (flag < 1) {

--
Gitblit v1.8.0