From 31155e96ea0e448b0e963fbe22023f04d3852d3b Mon Sep 17 00:00:00 2001 From: gongbiao Date: Tue, 22 Oct 2019 10:55:04 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=90=88=E5=90=8C=E6=94=B6=E6=AC=BE=E8=B4=A6?= =?UTF-8?q?=E6=88=B7=E8=AE=BE=E7=BD=AE][=E4=BF=AE=E6=94=B9][=E6=89=8B?= =?UTF-8?q?=E7=BB=AD=E7=8E=87=E4=BF=AE=E6=94=B9=E5=90=8E=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E7=A7=9F=E9=87=91=E5=8F=8A=E7=89=A9=E4=B8=9A=E8=B4=A6=E5=8D=95?= =?UTF-8?q?]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contract/WxRentContractController.java | 3 +++ .../com/iformall/mapper/WxBillPropertyMapper.java | 8 ++++---- .../java/com/iformall/mapper/WxBillRentMapper.java | 4 ++++ .../iformall/service/impl/WxBillAllServiceImpl.java | 7 ++++++- .../service/impl/WxBillPropertyServiceImpl.java | 7 +++---- .../service/impl/WxBillRentServiceImpl.java | 6 +++--- .../service/impl/WxPayAccountBillServiceImpl.java | 13 ++++++++++++- .../main/resources/mapper/WxBillPropertyMapper.xml | 5 +++++ .../src/main/resources/mapper/WxBillRentMapper.xml | 5 +++++ 9 files changed, 45 insertions(+), 13 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java index c42c03170..3f0437f22 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -345,6 +345,9 @@ public class WxRentContractController extends BaseController { if(StringUtils.isBlank(payAccountBill.getBankCardId())) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "甲方银行账户卡号未填写"); } + if (payAccountBill.getServiceChargeRate() == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "手续费费率未填写"); + } String tenantId = getTenantId(); WxPayAccountBill payAccountBillNew = payAccountBillService.getByTenantId(tenantId); payAccountBillNew.setBankAccountName(payAccountBill.getBankAccountName()); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java index f5f9a58fc..8903d8eb8 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java @@ -1,10 +1,7 @@ package com.iformall.mapper; import com.iformall.common.CommonMapper; -import com.iformall.domain.po.WxBillProperty; -import com.iformall.domain.po.WxBillRent; -import com.iformall.domain.po.WxPropertyContract; -import com.iformall.domain.po.WxRentContract; +import com.iformall.domain.po.*; import java.util.List; import java.util.Map; @@ -55,4 +52,7 @@ public interface WxBillPropertyMapper extends CommonMapper * 保存billAction */ void insertBillAction(); + + void updateServiceCharge(WxPayAccountBill tenantId); + } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java index a3d5eb6d2..fa04f450d 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java @@ -2,6 +2,7 @@ package com.iformall.mapper; import com.iformall.common.CommonMapper; import com.iformall.domain.po.WxBillRent; +import com.iformall.domain.po.WxPayAccountBill; import com.iformall.domain.po.WxRentContract; import org.apache.ibatis.annotations.Param; @@ -52,4 +53,7 @@ public interface WxBillRentMapper extends CommonMapper { * 保存billAction */ void insertBillAction(); + + void updateServiceCharge(WxPayAccountBill record); + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java index 567a5009e..ed8e186b7 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java @@ -363,12 +363,17 @@ public class WxBillAllServiceImpl implements WxBillAllService { //status不是欠缴,都展示0,与前端保持一致 if (!EnumBillRentStatus.NOT_PAID.getCode().equals(wxBillAllVo.getStatus())) { - wxBillAllVo.setOwe(0l); + wxBillAllVo.setOwe(0L); wxBillAllVo.setOweStr("0"); } datalist.add(wxBillAllVo); } } + WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantId(wxBillAll.getTenantId()); + datalist.stream().forEach(e -> { + //手续费 = 合同应收+手续费+滞纳金 + cmputeTotalMoney(wxPayAccountBill, e); + }); excelService.exportExcel(datalist, null, "账单数据", WxBillAllVo.class, "账单数据.xlsx", response, false); } 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 06699edb8..42574d32e 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java @@ -289,11 +289,10 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { WxBillPropertyDeposit deposit = null; List billDepositList = wxBillPropertyDepositMapper.queryBillDepositList(depositParam); if (!billDepositList.isEmpty()) { - WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantId(property.getTenantId()); deposit = billDepositList.get(0); - wxBillPropertyDepositService.computeTotalMoney(wxPayAccountBill, deposit); - deposit.setOwe(deposit.getRealReceivePay() - deposit.getPay()); - + //WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantId(property.getTenantId()); + //wxBillPropertyDepositService.computeTotalMoney(wxPayAccountBill, deposit); + //deposit.setOwe(deposit.getRealReceivePay() - deposit.getPay()); } Map result = new HashMap<>(2); result.put("property", property); 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 73145e75a..ec3a05587 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java @@ -289,10 +289,10 @@ public class WxBillRentServiceImpl implements WxBillRentService { WxBillDeposit deposit = null; List billDepositList = wxBillDepositMapper.queryBillDepositList(depositParam); if (!billDepositList.isEmpty()) { - WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantId(rent.getTenantId()); deposit = billDepositList.get(0); - wxBillDepositService.computeTotalMoney(wxPayAccountBill, deposit); - deposit.setOwe(deposit.getRealReceivePay() - deposit.getPay()); + //WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantId(rent.getTenantId()); + //wxBillDepositService.computeTotalMoney(wxPayAccountBill, deposit); + //deposit.setOwe(deposit.getRealReceivePay() - deposit.getPay()); } //周期 Map result = new HashMap<>(3); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPayAccountBillServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPayAccountBillServiceImpl.java index ccac8df3d..f41371517 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayAccountBillServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayAccountBillServiceImpl.java @@ -5,6 +5,8 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.common.IdWorker; import com.iformall.domain.po.WxPayAccountBill; +import com.iformall.mapper.WxBillPropertyMapper; +import com.iformall.mapper.WxBillRentMapper; import com.iformall.mapper.WxPayAccountBillMapper; import com.iformall.service.WxPayAccountBillService; import org.slf4j.Logger; @@ -19,6 +21,11 @@ public class WxPayAccountBillServiceImpl implements WxPayAccountBillService { @Autowired WxPayAccountBillMapper wxPayAccountBillMapper; + @Autowired + WxBillRentMapper wxBillRentMapper; + + @Autowired + WxBillPropertyMapper wxBillPropertyMapper; @Override public PageInfo listAsPage(WxPayAccountBill record, Integer pageIndex, Integer pageSize) { @@ -40,13 +47,17 @@ public class WxPayAccountBillServiceImpl implements WxPayAccountBillService { @Override public void saveOrUpdate(WxPayAccountBill record) { if (record.getId() == null) { - //record.setId(UUID.randomUUID().toString().replaceAll("-", "")); final IdWorker idWorker = IdWorker.get(); record.setId(idWorker.nextId()); wxPayAccountBillMapper.insert(record); } else { wxPayAccountBillMapper.updateById(record); } + + //更新手续费 + wxBillRentMapper.updateServiceCharge(record); + wxBillPropertyMapper.updateServiceCharge(record); + } @Override diff --git a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml index 252d5ec49..a94da39c7 100644 --- a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml @@ -268,5 +268,10 @@ and (select late_pay_ratio from wx_property_contract where id = b.`property_contract_id`) > 0 and DATEDIFF(now(), date_add(b.receive_date,interval(select late_pay_day from wx_property_contract where id = b.`property_contract_id`) day)) >0; + + + update wx_bill_property set service_charge_pay=round(receive_pay+receive_pay*#{serviceChargeRate}/100) where tenant_id=#{tenantId} and status in(1,2,4) + + diff --git a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml index 37cbba659..f4e198590 100644 --- a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml @@ -274,5 +274,10 @@ and (select late_pay_ratio from wx_rent_contract where id = b.`rent_contract_id`) > 0 and DATEDIFF(now(), date_add(b.receive_date,interval(select late_pay_day from wx_rent_contract where id = b.`rent_contract_id`) day)) >0; + + + update wx_bill_rent set service_charge_pay=round(receive_pay+receive_pay*#{serviceChargeRate}/100) where tenant_id=#{tenantId} and status in(1,2,4) + +