java110 лет назад: 5
Родитель
Сommit
db055d52d2

+ 134 - 123
service-api/src/main/java/com/java110/api/listener/fee/RentingPayFeeConfirmListener.java

@@ -98,145 +98,156 @@ public class RentingPayFeeConfirmListener extends AbstractServiceApiDataFlowList
         RentingPoolDto rentingPoolDto = BeanConvertUtil.covertBean(paramObj, RentingPoolDto.class);
 
         JSONArray businesses = new JSONArray();
-
+        BigDecimal serviceDec = null;
+        BigDecimal payMoney = null;
+        double receivableAmount = 0.0;
+        PayFeeDetailPo payFeeDetailPo = null;
+        CommunityMemberDto communityMemberDto = null;
+        List<CommunityMemberDto> communityMemberDtos = null;
+        PayFeePo payFeePo = null;
         //物业 收取费用
         double propertyRate = Double.parseDouble(rentingPoolDto.getPropertySeparateRate());
-        BigDecimal serviceDec = new BigDecimal(propertyRate);
-        BigDecimal payMoney = new BigDecimal(money);
-        double receivableAmount = serviceDec.multiply(payMoney).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
-        PayFeeDetailPo payFeeDetailPo = new PayFeeDetailPo();
-        payFeeDetailPo.setDetailId("-1");
-        payFeeDetailPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
-        payFeeDetailPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
-        payFeeDetailPo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
-        payFeeDetailPo.setPrimeRate("1.0");
-        payFeeDetailPo.setCycles("1");
-        payFeeDetailPo.setReceivableAmount(receivableAmount + "");
-        payFeeDetailPo.setReceivedAmount(receivableAmount + "");
-        payFeeDetailPo.setCommunityId(rentingPoolDto.getCommunityId());
-        //添加单元信息
-        businesses.add(feeBMOImpl.addSimpleFeeDetail(payFeeDetailPo, dataFlowContext));
-
-        CommunityMemberDto communityMemberDto = new CommunityMemberDto();
-        communityMemberDto.setCommunityId(rentingPoolDto.getCommunityId());
-        communityMemberDto.setMemberTypeCd("390001200002");//查询物业
-        communityMemberDto.setAuditStatusCd(CommunityMemberDto.AUDIT_STATUS_NORMAL);
-        List<CommunityMemberDto> communityMemberDtos = communityInnerServiceSMOImpl.getCommunityMembers(communityMemberDto);
-
-        Assert.listOnlyOne(communityMemberDtos, "物业信息查询有误");
-
-        String propertyId = communityMemberDtos.get(0).getMemberId();
-        PayFeePo payFeePo = new PayFeePo();
-        payFeePo.setFeeId(payFeeDetailPo.getFeeId());
-        payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
-        payFeePo.setIncomeObjId(propertyId);
-        payFeePo.setCommunityId(rentingPoolDto.getCommunityId());
-        payFeePo.setUserId("-1");
-        payFeePo.setPayerObjId(rentingPoolDto.getRentingId());
-        payFeePo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
-        payFeePo.setFeeTypeCd(FeeConfigDto.FEE_TYPE_CD_SYSTEM);
-        payFeePo.setAmount(receivableAmount + "");
-        payFeePo.setState(FeeDto.STATE_FINISH);
-        payFeePo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
-        payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_RENTING);
-        payFeePo.setConfigId(FeeConfigDto.CONFIG_ID_RENTING);
-        businesses.add(feeBMOImpl.addSimpleFee(payFeePo, dataFlowContext));
-
+        if (propertyRate > 0) {
+            serviceDec = new BigDecimal(propertyRate);
+            payMoney = new BigDecimal(money);
+            receivableAmount = serviceDec.multiply(payMoney).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
+            payFeeDetailPo = new PayFeeDetailPo();
+            payFeeDetailPo.setDetailId("-1");
+            payFeeDetailPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+            payFeeDetailPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+            payFeeDetailPo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
+            payFeeDetailPo.setPrimeRate("1.0");
+            payFeeDetailPo.setCycles("1");
+            payFeeDetailPo.setReceivableAmount(receivableAmount + "");
+            payFeeDetailPo.setReceivedAmount(receivableAmount + "");
+            payFeeDetailPo.setCommunityId(rentingPoolDto.getCommunityId());
+            //添加单元信息
+            businesses.add(feeBMOImpl.addSimpleFeeDetail(payFeeDetailPo, dataFlowContext));
+
+            communityMemberDto = new CommunityMemberDto();
+            communityMemberDto.setCommunityId(rentingPoolDto.getCommunityId());
+            communityMemberDto.setMemberTypeCd("390001200002");//查询物业
+            communityMemberDto.setAuditStatusCd(CommunityMemberDto.AUDIT_STATUS_NORMAL);
+            communityMemberDtos = communityInnerServiceSMOImpl.getCommunityMembers(communityMemberDto);
+
+            Assert.listOnlyOne(communityMemberDtos, "物业信息查询有误");
+
+            String propertyId = communityMemberDtos.get(0).getMemberId();
+            payFeePo = new PayFeePo();
+            payFeePo.setFeeId(payFeeDetailPo.getFeeId());
+            payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
+            payFeePo.setIncomeObjId(propertyId);
+            payFeePo.setCommunityId(rentingPoolDto.getCommunityId());
+            payFeePo.setUserId("-1");
+            payFeePo.setPayerObjId(rentingPoolDto.getRentingId());
+            payFeePo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+            payFeePo.setFeeTypeCd(FeeConfigDto.FEE_TYPE_CD_SYSTEM);
+            payFeePo.setAmount(receivableAmount + "");
+            payFeePo.setState(FeeDto.STATE_FINISH);
+            payFeePo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+            payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_RENTING);
+            payFeePo.setConfigId(FeeConfigDto.CONFIG_ID_RENTING);
+            businesses.add(feeBMOImpl.addSimpleFee(payFeePo, dataFlowContext));
+        }
 
         //代理商分成
         //物业 收取费用
         double proxyRate = Double.parseDouble(rentingPoolDto.getProxySeparateRate());
-        serviceDec = new BigDecimal(proxyRate);
-        payMoney = new BigDecimal(money);
-        receivableAmount = serviceDec.multiply(payMoney).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
-        payFeeDetailPo = new PayFeeDetailPo();
-        payFeeDetailPo.setDetailId("-2");
-        payFeeDetailPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
-        payFeeDetailPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
-        payFeeDetailPo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
-        payFeeDetailPo.setPrimeRate("1.0");
-        payFeeDetailPo.setCycles("1");
-        payFeeDetailPo.setReceivableAmount(receivableAmount + "");
-        payFeeDetailPo.setReceivedAmount(receivableAmount + "");
-        payFeeDetailPo.setCommunityId(rentingPoolDto.getCommunityId());
-        //添加单元信息
-        businesses.add(feeBMOImpl.addSimpleFeeDetail(payFeeDetailPo, dataFlowContext));
-
-        communityMemberDto = new CommunityMemberDto();
-        communityMemberDto.setCommunityId(rentingPoolDto.getCommunityId());
-        communityMemberDto.setMemberTypeCd("390001200003");//查询代理商
-        communityMemberDto.setAuditStatusCd(CommunityMemberDto.AUDIT_STATUS_NORMAL);
-        communityMemberDtos = communityInnerServiceSMOImpl.getCommunityMembers(communityMemberDto);
-
-        Assert.listOnlyOne(communityMemberDtos, "代理商信息查询有误");
-
-        String proxyId = communityMemberDtos.get(0).getMemberId();
-        payFeePo = new PayFeePo();
-        payFeePo.setFeeId(payFeeDetailPo.getFeeId());
-        payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
-        payFeePo.setIncomeObjId(proxyId);
-        payFeePo.setCommunityId(rentingPoolDto.getCommunityId());
-        payFeePo.setUserId("-1");
-        payFeePo.setPayerObjId(rentingPoolDto.getRentingId());
-        payFeePo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
-        payFeePo.setFeeTypeCd(FeeConfigDto.FEE_TYPE_CD_SYSTEM);
-        payFeePo.setAmount(receivableAmount + "");
-        payFeePo.setState(FeeDto.STATE_FINISH);
-        payFeePo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
-        payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_RENTING);
-        payFeePo.setConfigId(FeeConfigDto.CONFIG_ID_RENTING);
-        businesses.add(feeBMOImpl.addSimpleFee(payFeePo, dataFlowContext));
-
+        if (proxyRate > 0) {
+            serviceDec = new BigDecimal(proxyRate);
+            payMoney = new BigDecimal(money);
+            receivableAmount = serviceDec.multiply(payMoney).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
+            payFeeDetailPo = new PayFeeDetailPo();
+            payFeeDetailPo.setDetailId("-2");
+            payFeeDetailPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+            payFeeDetailPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+            payFeeDetailPo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
+            payFeeDetailPo.setPrimeRate("1.0");
+            payFeeDetailPo.setCycles("1");
+            payFeeDetailPo.setReceivableAmount(receivableAmount + "");
+            payFeeDetailPo.setReceivedAmount(receivableAmount + "");
+            payFeeDetailPo.setCommunityId(rentingPoolDto.getCommunityId());
+            //添加单元信息
+            businesses.add(feeBMOImpl.addSimpleFeeDetail(payFeeDetailPo, dataFlowContext));
+
+            communityMemberDto = new CommunityMemberDto();
+            communityMemberDto.setCommunityId(rentingPoolDto.getCommunityId());
+            communityMemberDto.setMemberTypeCd("390001200003");//查询代理商
+            communityMemberDto.setAuditStatusCd(CommunityMemberDto.AUDIT_STATUS_NORMAL);
+            communityMemberDtos = communityInnerServiceSMOImpl.getCommunityMembers(communityMemberDto);
+
+            Assert.listOnlyOne(communityMemberDtos, "代理商信息查询有误");
+
+            String proxyId = communityMemberDtos.get(0).getMemberId();
+            payFeePo = new PayFeePo();
+            payFeePo.setFeeId(payFeeDetailPo.getFeeId());
+            payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
+            payFeePo.setIncomeObjId(proxyId);
+            payFeePo.setCommunityId(rentingPoolDto.getCommunityId());
+            payFeePo.setUserId("-1");
+            payFeePo.setPayerObjId(rentingPoolDto.getRentingId());
+            payFeePo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+            payFeePo.setFeeTypeCd(FeeConfigDto.FEE_TYPE_CD_SYSTEM);
+            payFeePo.setAmount(receivableAmount + "");
+            payFeePo.setState(FeeDto.STATE_FINISH);
+            payFeePo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+            payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_RENTING);
+            payFeePo.setConfigId(FeeConfigDto.CONFIG_ID_RENTING);
+            businesses.add(feeBMOImpl.addSimpleFee(payFeePo, dataFlowContext));
+        }
         //运营分成
         //物业 收取费用
         double adminRate = Double.parseDouble(rentingPoolDto.getAdminSeparateRate());
-        serviceDec = new BigDecimal(adminRate);
-        payMoney = new BigDecimal(money);
-        receivableAmount = serviceDec.multiply(payMoney).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
-        payFeeDetailPo = new PayFeeDetailPo();
-        payFeeDetailPo.setDetailId("-3");
-        payFeeDetailPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
-        payFeeDetailPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
-        payFeeDetailPo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
-        payFeeDetailPo.setPrimeRate("1.0");
-        payFeeDetailPo.setCycles("1");
-        payFeeDetailPo.setReceivableAmount(receivableAmount + "");
-        payFeeDetailPo.setReceivedAmount(receivableAmount + "");
-        payFeeDetailPo.setCommunityId(rentingPoolDto.getCommunityId());
-        //添加单元信息
-        businesses.add(feeBMOImpl.addSimpleFeeDetail(payFeeDetailPo, dataFlowContext));
-
-        communityMemberDto = new CommunityMemberDto();
-        communityMemberDto.setCommunityId(rentingPoolDto.getCommunityId());
-        communityMemberDto.setMemberTypeCd("390001200000");//查询代理商
-        communityMemberDto.setAuditStatusCd(CommunityMemberDto.AUDIT_STATUS_NORMAL);
-        communityMemberDtos = communityInnerServiceSMOImpl.getCommunityMembers(communityMemberDto);
-
-        Assert.listOnlyOne(communityMemberDtos, "代理商信息查询有误");
-
-        String adminId = communityMemberDtos.get(0).getMemberId();
-        payFeePo = new PayFeePo();
-        payFeePo.setFeeId(payFeeDetailPo.getFeeId());
-        payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
-        payFeePo.setIncomeObjId(adminId);
-        payFeePo.setCommunityId(rentingPoolDto.getCommunityId());
-        payFeePo.setUserId("-1");
-        payFeePo.setPayerObjId(rentingPoolDto.getRentingId());
-        payFeePo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
-        payFeePo.setFeeTypeCd(FeeConfigDto.FEE_TYPE_CD_SYSTEM);
-        payFeePo.setAmount(receivableAmount + "");
-        payFeePo.setState(FeeDto.STATE_FINISH);
-        payFeePo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
-        payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_RENTING);
-        payFeePo.setConfigId(FeeConfigDto.CONFIG_ID_RENTING);
-        businesses.add(feeBMOImpl.addSimpleFee(payFeePo, dataFlowContext));
 
+        if (adminRate > 0) {
+            serviceDec = new BigDecimal(adminRate);
+            payMoney = new BigDecimal(money);
+            receivableAmount = serviceDec.multiply(payMoney).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
+            payFeeDetailPo = new PayFeeDetailPo();
+            payFeeDetailPo.setDetailId("-3");
+            payFeeDetailPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+            payFeeDetailPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+            payFeeDetailPo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
+            payFeeDetailPo.setPrimeRate("1.0");
+            payFeeDetailPo.setCycles("1");
+            payFeeDetailPo.setReceivableAmount(receivableAmount + "");
+            payFeeDetailPo.setReceivedAmount(receivableAmount + "");
+            payFeeDetailPo.setCommunityId(rentingPoolDto.getCommunityId());
+            //添加单元信息
+            businesses.add(feeBMOImpl.addSimpleFeeDetail(payFeeDetailPo, dataFlowContext));
+
+            communityMemberDto = new CommunityMemberDto();
+            communityMemberDto.setCommunityId(rentingPoolDto.getCommunityId());
+            communityMemberDto.setMemberTypeCd("390001200000");//查询代理商
+            communityMemberDto.setAuditStatusCd(CommunityMemberDto.AUDIT_STATUS_NORMAL);
+            communityMemberDtos = communityInnerServiceSMOImpl.getCommunityMembers(communityMemberDto);
+
+            Assert.listOnlyOne(communityMemberDtos, "代理商信息查询有误");
+
+            String adminId = communityMemberDtos.get(0).getMemberId();
+            payFeePo = new PayFeePo();
+            payFeePo.setFeeId(payFeeDetailPo.getFeeId());
+            payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
+            payFeePo.setIncomeObjId(adminId);
+            payFeePo.setCommunityId(rentingPoolDto.getCommunityId());
+            payFeePo.setUserId("-1");
+            payFeePo.setPayerObjId(rentingPoolDto.getRentingId());
+            payFeePo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+            payFeePo.setFeeTypeCd(FeeConfigDto.FEE_TYPE_CD_SYSTEM);
+            payFeePo.setAmount(receivableAmount + "");
+            payFeePo.setState(FeeDto.STATE_FINISH);
+            payFeePo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+            payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_RENTING);
+            payFeePo.setConfigId(FeeConfigDto.CONFIG_ID_RENTING);
+            businesses.add(feeBMOImpl.addSimpleFee(payFeePo, dataFlowContext));
+        }
         ResponseEntity<String> responseEntity = feeBMOImpl.callService(dataFlowContext, service.getServiceCode(), businesses);
         dataFlowContext.setResponseEntity(responseEntity);
         if (responseEntity.getStatusCode() != HttpStatus.OK) {
             return;
         }
 
+
         RentingPoolPo rentingPoolPo = new RentingPoolPo();
         rentingPoolPo.setRentingId(rentingPoolDto.getRentingId());
         rentingPoolPo.setCommunityId(rentingPoolDto.getCommunityId());

+ 4 - 0
service-user/src/main/java/com/java110/user/api/RentingPoolFlowApi.java

@@ -104,11 +104,15 @@ public class RentingPoolFlowApi {
      */
     @RequestMapping(value = "/queryRentingPoolFlow", method = RequestMethod.GET)
     public ResponseEntity<String> queryRentingPoolFlow(@RequestParam(value = "communityId") String communityId,
+                                                       @RequestParam(value = "rentingId") String rentingId,
+                                                       @RequestParam(value = "state", required = false) String state,
                                                        @RequestParam(value = "page") int page,
                                                        @RequestParam(value = "row") int row) {
         RentingPoolFlowDto rentingPoolFlowDto = new RentingPoolFlowDto();
         rentingPoolFlowDto.setPage(page);
         rentingPoolFlowDto.setRow(row);
+        rentingPoolFlowDto.setRentingId(rentingId);
+        rentingPoolFlowDto.setState(state);
         rentingPoolFlowDto.setCommunityId(communityId);
         return getRentingPoolFlowBMOImpl.get(rentingPoolFlowDto);
     }