From 5506df0445bdd969e692d8030218ae5f8641c521 Mon Sep 17 00:00:00 2001 From: luozukai Date: Thu, 10 Oct 2019 14:07:56 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E6=94=B9][=E6=89=8B=E7=BB=AD?= =?UTF-8?q?=E8=B4=B9][=E5=BC=80=E5=8F=91]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/WxBillPropertyServiceImpl.java | 32 +++++++++++++++++++ .../service/impl/WxBillRentServiceImpl.java | 31 ++++++++++++++++++ 2 files changed, 63 insertions(+) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java index 18385c9b3..31e72dae9 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java @@ -214,6 +214,7 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { @Override public PageInfo findByPropertyContractId(Long id, String tenantId, Integer pageIndex, Integer pageSize) { + WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantId(tenantId); WxBillProperty record = new WxBillProperty(); record.setPropertyContractId(id); record.setTenantId(tenantId); @@ -221,6 +222,22 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { updateBillStatus(record); PageHelper.startPage(pageIndex, pageSize); List billRentList = wxBillPropertyMapper.queryBillPropertyList(record); + billRentList.stream().forEach(e->{ + //手续费 = 合同应收+手续费+滞纳金 + if(e.getReceivePay() != null){ + if(e.getLatePayPrice() == null) e.setLatePayPrice(0l); + BigDecimal servicePay; + if(e.getServiceChargePay() != null){ + servicePay = new BigDecimal(e.getServiceChargePay()); + }else{ + servicePay = new BigDecimal(e.getReceivePay()).multiply(new BigDecimal(wxPayAccountBill.getServiceChargeRate())).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP); + } + Long realReceivePay = servicePay.longValue() + e.getLatePayPrice() + e.getReceivePay(); + e.setRealReceivePay(realReceivePay); + e.setServiceChargePay(servicePay.intValue()); + } + }); + PageInfo pageInfo = new PageInfo<>(billRentList); return pageInfo; } @@ -258,6 +275,21 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { if (!billDepositList.isEmpty()) { deposit = billDepositList.get(0); } + //手续费 = 合同应收+手续费+滞纳金 + WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantId(property.getTenantId()); + if(property.getReceivePay() != null){ + if(property.getLatePayPrice() == null) property.setLatePayPrice(0l); + BigDecimal servicePay; + if(property.getServiceChargePay() != null){ + servicePay = new BigDecimal(property.getServiceChargePay()); + }else{ + servicePay = new BigDecimal(property.getReceivePay()).multiply(new BigDecimal(wxPayAccountBill.getServiceChargeRate())).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP); + } + Long realReceivePay = servicePay.longValue() + property.getLatePayPrice() + property.getReceivePay(); + property.setRealReceivePay(realReceivePay); + property.setServiceChargePay(servicePay.intValue()); + } + Map result = new HashMap<>(2); result.put("property", property); result.put("deposit", deposit); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java index bc6336a02..08bd61343 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java @@ -217,6 +217,7 @@ public class WxBillRentServiceImpl implements WxBillRentService { @Override public PageInfo findByRentContractId(Long id, String tenantId, Integer pageIndex, Integer pageSize) { + WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantId(tenantId); WxBillRent record = new WxBillRent(); record.setRentContractId(id); record.setTenantId(tenantId); @@ -227,6 +228,19 @@ public class WxBillRentServiceImpl implements WxBillRentService { if(e.getPayRatio() == null){ e.setPayRatio(0l); } + //手续费 = 合同应收+手续费+滞纳金 + if(e.getReceivePay() != null){ + if(e.getLatePayPrice() == null) e.setLatePayPrice(0l); + BigDecimal servicePay; + if(e.getServiceChargePay() != null){ + servicePay = new BigDecimal(e.getServiceChargePay()); + }else{ + servicePay = new BigDecimal(e.getReceivePay()).multiply(new BigDecimal(wxPayAccountBill.getServiceChargeRate())).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP); + } + Long realReceivePay = servicePay.longValue() + e.getLatePayPrice() + e.getReceivePay(); + e.setRealReceivePay(realReceivePay); + e.setServiceChargePay(servicePay.intValue()); + } }); PageInfo pageInfo = new PageInfo<>(billRentList); return pageInfo; @@ -264,6 +278,22 @@ public class WxBillRentServiceImpl implements WxBillRentService { if (!billDepositList.isEmpty()) { deposit = billDepositList.get(0); } + + //手续费 = 合同应收+手续费+滞纳金 + WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantId(rent.getTenantId()); + if(rent.getReceivePay() != null){ + if(rent.getLatePayPrice() == null) rent.setLatePayPrice(0l); + BigDecimal servicePay; + if(rent.getServiceChargePay() != null){ + servicePay = new BigDecimal(rent.getServiceChargePay()); + }else{ + servicePay = new BigDecimal(rent.getReceivePay()).multiply(new BigDecimal(wxPayAccountBill.getServiceChargeRate())).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP); + } + Long realReceivePay = servicePay.longValue() + rent.getLatePayPrice() + rent.getReceivePay(); + rent.setRealReceivePay(realReceivePay); + rent.setServiceChargePay(servicePay.intValue()); + } + //周期 Map result = new HashMap<>(3); result.put("rent", rent); @@ -278,6 +308,7 @@ public class WxBillRentServiceImpl implements WxBillRentService { merchantTradeDaily.setEndTime(sd.format(billRent.getEndtime())); String money = wxMerchantTradeDailyMapper.findSumMoney(merchantTradeDaily); result.put("solutionBillMoney", StringUtils.isBlank(money)?0:money); + return result; }