zhengfangyuan 3 лет назад
Родитель
Сommit
8f9b6e55f1
2 измененных файлов: 47 добавлений и 3 удалений
  1. +21
    -2
      mallinkService/src/main/java/com/iformall/domain/po/WxBillRentManage.java
  2. +26
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java

+ 21
- 2
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();
}

}

+ 26
- 1
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<String,Object> resultMap = new HashedMap();
List<WxBillRent> resultList = new ArrayList<>();
List<WxBillRentManage> manageList = new ArrayList<WxBillRentManage>();
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){
//截止收租日在当前时间之前


Загрузка…
Отмена
Сохранить