Browse Source

优化代码

java110 5 years ago
parent
commit
0f78bfff03

+ 48 - 0
service-store/src/main/java/com/java110/store/bmo/contract/impl/SaveContractBMOImpl.java

@@ -5,13 +5,19 @@ import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.contractType.ContractTypeDto;
+import com.java110.dto.fee.FeeDto;
+import com.java110.dto.rentingPool.RentingPoolDto;
+import com.java110.dto.store.StoreDto;
 import com.java110.intf.store.IContractAttrInnerServiceSMO;
 import com.java110.intf.store.IContractInnerServiceSMO;
 import com.java110.intf.store.IContractTypeInnerServiceSMO;
+import com.java110.intf.user.IRentingPoolInnerServiceSMO;
 import com.java110.po.contract.ContractPo;
 import com.java110.po.contractAttr.ContractAttrPo;
+import com.java110.po.rentingPool.RentingPoolPo;
 import com.java110.store.bmo.contract.ISaveContractBMO;
 import com.java110.utils.util.Assert;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
@@ -31,6 +37,9 @@ public class SaveContractBMOImpl implements ISaveContractBMO {
     @Autowired
     private IContractTypeInnerServiceSMO contractTypeInnerServiceSMOImpl;
 
+    @Autowired
+    private IRentingPoolInnerServiceSMO rentingPoolInnerServiceSMOImpl; // 房屋租赁
+
     /**
      * 添加小区信息
      *
@@ -64,6 +73,11 @@ public class SaveContractBMOImpl implements ISaveContractBMO {
 
         }
 
+        if (StoreDto.STORE_ADMIN.equals(contractPo.getStoreId())) {
+            noticeRentUpdateState(contractPo,audit);
+        }
+
+
         if (!reqJson.containsKey("contractTypeSpecs")) {
             return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
         }
@@ -83,6 +97,40 @@ public class SaveContractBMOImpl implements ISaveContractBMO {
 
     }
 
+    /**
+     * 修改 房屋租赁状态
+     *
+     * @param contractPo
+     */
+    private void noticeRentUpdateState(ContractPo contractPo,String audit) {
+
+        if (!contractPo.getObjType().equals(FeeDto.PAYER_OBJ_TYPE_ROOM)
+                || StringUtil.isEmpty(contractPo.getObjId())
+                || contractPo.getObjId().startsWith("-")) {
+            return;
+        }
+        RentingPoolDto rentingPoolDto = new RentingPoolDto();
+        rentingPoolDto.setRoomId(contractPo.getObjId());
+        rentingPoolDto.setState(RentingPoolDto.STATE_APPLY_AGREE);
+        List<RentingPoolDto> rentingPoolDtos = rentingPoolInnerServiceSMOImpl.queryRentingPools(rentingPoolDto);
+
+        if (rentingPoolDtos == null || rentingPoolDtos.size() < 1) {
+            return;
+        }
+
+
+        RentingPoolPo rentingPoolPo = new RentingPoolPo();
+        rentingPoolPo.setCommunityId(rentingPoolDtos.get(0).getCommunityId());
+        rentingPoolPo.setRentingId(rentingPoolDtos.get(0).getRentingId());
+
+        if (ContractTypeDto.NO_AUDIT.equals(audit)) {
+            rentingPoolPo.setState(RentingPoolDto.STATE_FINISH);
+        } else {
+            rentingPoolPo.setState(RentingPoolDto.STATE_ADMIN_AUDIT);
+        }
+        rentingPoolInnerServiceSMOImpl.updateRentingPool(rentingPoolPo);
+    }
+
     /**
      * 保存合同属性
      *

+ 52 - 0
service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java

@@ -3,13 +3,20 @@ package com.java110.store.bmo.contract.impl;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Transactional;
+import com.java110.dto.contract.ContractDto;
 import com.java110.dto.contractAttr.ContractAttrDto;
+import com.java110.dto.fee.FeeDto;
+import com.java110.dto.rentingPool.RentingPoolDto;
+import com.java110.dto.store.StoreDto;
 import com.java110.intf.store.IContractAttrInnerServiceSMO;
 import com.java110.intf.store.IContractInnerServiceSMO;
+import com.java110.intf.user.IRentingPoolInnerServiceSMO;
 import com.java110.po.contract.ContractPo;
 import com.java110.po.contractAttr.ContractAttrPo;
+import com.java110.po.rentingPool.RentingPoolPo;
 import com.java110.store.bmo.contract.IUpdateContractBMO;
 import com.java110.utils.util.Assert;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
@@ -26,6 +33,9 @@ public class UpdateContractBMOImpl implements IUpdateContractBMO {
     @Autowired
     private IContractAttrInnerServiceSMO contractAttrInnerServiceSMOImpl;
 
+    @Autowired
+    private IRentingPoolInnerServiceSMO rentingPoolInnerServiceSMOImpl;
+
     /**
      * @param contractPo
      * @return 订单服务能够接受的报文
@@ -40,6 +50,8 @@ public class UpdateContractBMOImpl implements IUpdateContractBMO {
 
         }
 
+        noticeRentUpdateState(contractPo);
+
         if (!reqJson.containsKey("contractTypeSpecs")) {
             return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
         }
@@ -79,4 +91,44 @@ public class UpdateContractBMOImpl implements IUpdateContractBMO {
         }
     }
 
+    /**
+     * 修改 房屋租赁状态
+     *
+     * @param contractPo
+     */
+    private void noticeRentUpdateState(ContractPo contractPo) {
+
+        ContractDto contractDto = new ContractDto();
+        contractDto.setContractId(contractPo.getContractId());
+        List<ContractDto> contractDtos = contractInnerServiceSMOImpl.queryContracts(contractDto);
+
+        Assert.listOnlyOne(contractDtos, "未找到需要审核合同");
+
+        if (!contractDtos.get(0).getObjType().equals(FeeDto.PAYER_OBJ_TYPE_ROOM)
+                || StringUtil.isEmpty(contractDtos.get(0).getObjId())
+                || contractDtos.get(0).getObjId().startsWith("-")) {
+            return;
+        }
+
+        if (!StoreDto.STORE_ADMIN.equals(contractDtos.get(0).getStoreId())) {
+            return;
+        }
+        RentingPoolDto rentingPoolDto = new RentingPoolDto();
+        rentingPoolDto.setRoomId(contractDtos.get(0).getObjId());
+        rentingPoolDto.setState(RentingPoolDto.STATE_ADMIN_AUDIT);
+        List<RentingPoolDto> rentingPoolDtos = rentingPoolInnerServiceSMOImpl.queryRentingPools(rentingPoolDto);
+
+        if (rentingPoolDtos == null || rentingPoolDtos.size() < 1) {
+            return;
+        }
+
+        RentingPoolPo rentingPoolPo = new RentingPoolPo();
+        rentingPoolPo.setCommunityId(rentingPoolDtos.get(0).getCommunityId());
+        rentingPoolPo.setRentingId(rentingPoolDtos.get(0).getRentingId());
+
+        rentingPoolPo.setState(RentingPoolDto.STATE_FINISH);
+
+        rentingPoolInnerServiceSMOImpl.updateRentingPool(rentingPoolPo);
+    }
+
 }