diff --git a/mallinkService/src/main/java/com/simple/service/impl/WxMerchantServiceImpl.java b/mallinkService/src/main/java/com/simple/service/impl/WxMerchantServiceImpl.java index 36b0e342b..39d4e1910 100644 --- a/mallinkService/src/main/java/com/simple/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/simple/service/impl/WxMerchantServiceImpl.java @@ -37,6 +37,9 @@ public class WxMerchantServiceImpl implements WxMerchantService { @Autowired WxRentContractMapper wxRentContractMapper; + @Autowired + WxBillRentMapper wxBillRentMapper; + @Override public PageInfo listAsPage(WxMerchant record, Integer pageIndex, Integer pageSize) { @@ -296,31 +299,135 @@ public class WxMerchantServiceImpl implements WxMerchantService { } - private void buildRent(WxRentContract wxRentContract) { + + private void buildRent(WxRentContract wxRentContract,WxShop wxshop) { Date rentalStartDate = wxRentContract.getRentalStartDate(); Date rentalEndDate = wxRentContract.getRentalEndDate(); Integer receivePeriod = wxRentContract.getReceivePeriod(); int paycount = 12 / receivePeriod.intValue(); - + final IdWorker idWorker = IdWorker.get(); if(paycount==1){//12 - Calendar instance = Calendar.getInstance(); - instance.setTime(rentalStartDate); - instance.set(Calendar.MONTH,1); + WxBillRent wxBillRent = new WxBillRent(); + wxBillRent.setId(idWorker.nextId()); + wxBillRent.setPayStatus(0); + wxBillRent.setPay(new BigDecimal(0)); + wxBillRent.setTenantId(wxshop.getTenantId()); + BigDecimal needpay = wxRentContract.getPayArea().multiply(wxRentContract.getPrice()); + wxBillRent.setNeedPay(needpay); + wxBillRent.setExpiredDay(0); + wxBillRent.setOwe(new BigDecimal(0)); + wxBillRent.setPayDate(rentalStartDate); + wxBillRent.setPayWay(4); + wxBillRent.setPrice(wxRentContract.getPrice()); + wxBillRent.setReceiptNum(""); + wxBillRent.setReceiveDate(rentalStartDate); + wxBillRent.setReceivePay(new BigDecimal(0)); + wxBillRent.setReceivePeriod(receivePeriod); + wxBillRent.setUserArea(new BigDecimal(wxshop.getOperationArea())); + wxBillRent.setShopNumber(wxshop.getShopNumber()); + wxBillRent.setCreatetime(new Date()); + wxBillRentMapper.insertSelective(wxBillRent); } if(paycount==2){//6 + BigDecimal needpay = wxRentContract.getPayArea().multiply(wxRentContract.getPrice()); + BigDecimal needpaymoney = needpay.divide(new BigDecimal(2)).setScale(2, BigDecimal.ROUND_HALF_UP); + for(int i=0;i