diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBillRentManage.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBillRentManage.java index fc6609e4f..75d91af5b 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillRentManage.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBillRentManage.java @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.iformall.common.SortColumn; import com.iformall.domain.po.base.TenantEntity; +import com.iformall.enums.EnumDelStatus; + import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -187,8 +189,25 @@ public class WxBillRentManage extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="管理费类型,EnumRentContractManageFeeType",name="manageFeeType") private Integer manageFeeType; - private void initByBillRent(WxBillRent billRent) { - + public void initByBillRent(WxBillRent billRent) { + this.rentContractId = billRent.getRentContractId(); + this.pay = billRent.getPay(); + this.starttime = billRent.getStarttime(); + this.endtime = billRent.getEndtime(); + this.receiveDate = billRent.getReceiveDate(); + //截止收租日在当前时间之前 + Date date = new Date(); + this.updateTenantInfo(billRent); + this.isDel = billRent.getIsDel(); + this.merchantId = billRent.getMerchantId(); + this.userId = billRent.getUserId(); + this.shopId = billRent.getShopId(); + this.createtime = billRent.getCreatetime(); + this.updatetime = billRent.getUpdatetime(); + this.rentShopType = billRent.getRentShopType(); + this.period = billRent.getPeriod(); + this.shopInfo = billRent.getShopInfo(); + this.latePayRatio = billRent.getLatePayRatio(); } } 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 ca0b83e26..f5f793632 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -1443,6 +1443,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); Map resultMap = new HashedMap(); List resultList = new ArrayList<>(); + List manageList = new ArrayList(); final IdWorker idWorker = IdWorker.get(); Date endDate = null;//每年的截止日期 @@ -1604,7 +1605,6 @@ public class WxRentContractServiceImpl implements WxRentContractService { setExpiredDay(wxBillRent,dayType,receivePeriod); wxBillRent.setRevenue(0L); wxBillRent.updateTenantInfo(wxRentContract); - wxBillRent.setIsDel(0); wxBillRent.setMerchantId(wxRentContract.getMerchantId()); wxBillRent.setUserId(userId); if (null != wxRentContract.shopIdsByRentInfo() && wxRentContract.shopIdsByRentInfo().size() == 1) { @@ -1623,16 +1623,41 @@ public class WxRentContractServiceImpl implements WxRentContractService { wxBillRent.setServiceChargePay(servicePay.intValue()); wxBillRent.setOwe(wxBillRent.getReceivePay() + wxBillRent.getServiceChargePay()); resultList.add(wxBillRent); + + + //商业管理费账单 + manageList.add(setManageRent(wxBillRent,EnumRentContractManageFeeType.RENT_BUSSINESS_MANAGE_FEE,bussinessManageFeeNeedpay,wxPayAccountBill.getServiceChargeRate(),dayType,receivePeriod)); + //营业管理费账单 + manageList.add(setManageRent(wxBillRent,EnumRentContractManageFeeType.RENT_OPERATING_MANAGE_FEE,operatingManageFeeNeedpay,wxPayAccountBill.getServiceChargeRate(),dayType,receivePeriod)); } //批量插入账单 if(saveDb) { wxBillRentMapper.insertBills(resultList); + wxBillRentManageMapper.insertBills(manageList); } resultMap.put("billcount",billcount); resultMap.put("billList",resultList); return resultMap; } + + + private WxBillRentManage setManageRent(WxBillRent wxBillRent,EnumRentContractManageFeeType feeType,Long needPay,Integer serviceChargeRate,int dayType,int receivePeriod) { + WxBillRentManage manage = new WxBillRentManage(); + manage.initByBillRent(wxBillRent); + final IdWorker idWorker = IdWorker.get(); + wxBillRent.setId(idWorker.nextId()); + manage.setManageFeeType(feeType.getCode()); + manage.setNeedPay(needPay); + manage.setReceivePay(needPay); + manage.setOwe(needPay); + setManageExpiredDay(manage,dayType,receivePeriod); + //计算手续费 + BigDecimal servicePay = new BigDecimal(needPay).multiply(new BigDecimal(serviceChargeRate)).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP); + manage.setServiceChargePay(servicePay.intValue()); + manage.setOwe(needPay + manage.getServiceChargePay()); + return manage; + } public void setExpiredDay(WxBillRent wxBillRent,int dayType, int receivePeriod){ //截止收租日在当前时间之前