diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index 7196c5bf5..cd9b7f368 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -192,24 +192,14 @@ public class WxRentContractServiceImpl implements WxRentContractService { } if (record.getType().equals(EnumRentContractType.RENT_BY_JOINT.getCode())) { - if (record.getRevenue() == null || record.getRevenue().intValue() == 0) { - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR, "营业额不能为空且大于0"); - } - if (record.getPayRatio() == null || record.getPayRatio().intValue() == 0) { - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR, "支付比例不能为空且大于0"); - } BigDecimal hundred = new BigDecimal(100); - BigDecimal revenue = new BigDecimal(record.getRevenue()).divide(hundred); - BigDecimal payRatio = new BigDecimal(record.getPayRatio()).divide(hundred); + BigDecimal revenue = new BigDecimal(record.getRevenue() == null ? 0 : record.getRevenue()).divide(hundred); + BigDecimal payRatio = new BigDecimal(record.getPayRatio() == null ? 0 : record.getPayRatio()).divide(hundred); BigDecimal price = revenue.multiply(payRatio).setScale(2, RoundingMode.HALF_EVEN); record.setPrice(price.multiply(hundred).intValue()); } - if (record.getPrice() == null || record.getPrice().intValue() == 0) { - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR, "租金不能为空且大于0"); - } - if (record.getDeposit() == null || record.getDeposit().intValue() == 0) { - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR, "押金不能为空且大于0"); - } + record.setPrice(record.getPrice() == null ? 0 : record.getPrice()); + record.setDeposit(record.getDeposit() == null ? 0 : record.getDeposit()); record.setUpdatetime(new Date()); try { @@ -226,22 +216,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { return new ResultData(ErrorCode.RENT_CONTRACT_WITH_SHOP_IS_FOUND); } wxRentContractMapper.updateByPrimaryKeySelective(record); - //建立账单 - if (record.getMerchantId() != null && record.getStatus().equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()) - && record.getReceivePeriod() != null && record.getDeposit() > 0 && record.getPrice() > 0) { - WxBillRent wxBillRent = new WxBillRent(); - wxBillRent.setMerchantId(record.getMerchantId()); - List> billRentList = wxBillRentMapper.queryBillRentList(wxBillRent); - if (billRentList.size() == 0) { - WxMerchant wxMerchant = new WxMerchant(); - wxMerchant.setId(record.getMerchantId()); - wxMerchant.setTenantId(record.getTenantId()); - //租金 - buildRent(wxMerchant); - //押金 - buildDeposit(wxMerchant); - } - } + } catch (Exception e) { logger.error("更新租赁合同信息失败,e:" + e.getMessage()); throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); @@ -700,10 +675,28 @@ public class WxRentContractServiceImpl implements WxRentContractService { @Override public ResultData updateRentContractStatus(Long id) { + //更新合同状态为签约 WxRentContract wxRentContract = new WxRentContract(); wxRentContract.setId(id); wxRentContract.setStatus(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()); wxRentContractMapper.updateByPrimaryKeySelective(wxRentContract); + //建立账单 + WxRentContract record = wxRentContractMapper.selectByPrimaryKey(id); + if (record.getMerchantId() != null && record.getStatus().equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()) + && record.getReceivePeriod() != null && record.getDeposit() > 0 && record.getPrice() > 0) { + WxBillRent wxBillRent = new WxBillRent(); + wxBillRent.setMerchantId(record.getMerchantId()); + List> billRentList = wxBillRentMapper.queryBillRentList(wxBillRent); + if (billRentList.size() == 0) { + WxMerchant wxMerchant = new WxMerchant(); + wxMerchant.setId(record.getMerchantId()); + wxMerchant.setTenantId(record.getTenantId()); + //租金 + buildRent(wxMerchant); + //押金 + buildDeposit(wxMerchant); + } + } return new ResultData(Result.SUCCESS,"操作成功") ; }