diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillActionController.java b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillActionController.java index ea2fe8d22..9ab90c6c4 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillActionController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillActionController.java @@ -4,9 +4,9 @@ import com.github.pagehelper.PageInfo; import com.iformall.annotation.SystemControllerLog; import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; -import com.iformall.domain.po.BaseEntity; -import com.iformall.domain.po.WxBillAction; -import com.iformall.service.WxBillActionService; +import com.iformall.domain.po.*; +import com.iformall.enums.EnumBillTypeParam; +import com.iformall.service.*; import com.iformall.utils.DateUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -21,6 +21,12 @@ import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + /** * @author gongbiao */ @@ -33,6 +39,14 @@ public class WxBillActionController extends BaseController { @Autowired private WxBillActionService wxBillActionService; + @Autowired + private WxRentContractService wxRentContractService; + @Autowired + private WxPropertyContractService wxPropertyContractService; + @Autowired + private WxBillRentService wxBillRentService; + @Autowired + private WxBillPropertyService wxBillPropertyService; @GetMapping("list") @ApiImplicitParams({ @@ -50,24 +64,60 @@ public class WxBillActionController extends BaseController { return new ResultData(result); } + public void addSysLatePayBillAction(WxBillAction wxBillAction){ + + } + @ApiOperation("滞纳金变更列表") @GetMapping("latePaylist") @SystemControllerLog(description = "账单操作记录-滞纳金列表") public ResultData latePaylist(@ModelAttribute WxBillAction wxBillAction, Integer pageNum, Integer pageSize) { logger.debug("[" + getIpAddr() + "] WxBillActionController::latePaylist"); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (null == wxBillAction) { wxBillAction = new WxBillAction(); } + Date frontDay = DateUtils.getDaySet(new Date(), Calendar.DATE,-1); + wxBillAction.setBillId(wxBillAction.getBillId()); + wxBillAction.setStartDate(sdf.format(frontDay)); + wxBillAction.setEndDate(sdf.format(frontDay)+" 23:59:59"); + List billActionList = wxBillActionService.find(wxBillAction); + if(CollectionUtils.isEmpty(billActionList)){ + + } + wxBillAction.setTenantId(getTenantId()); wxBillAction.setSortColumns(BaseEntity.SortField.Id_DESC); PageInfo result = wxBillActionService.listAsPage(wxBillAction, pageNum, pageSize); if(result != null && CollectionUtils.isNotEmpty(result.getList())){ -// DateUtils.getDaySet() -// for (WxBillAction action:result.getList()) { -// -// } + + Date startDate; + Date endDate = DateUtils.getDaySet(new Date(), Calendar.DATE,-1);; + + if (EnumBillTypeParam.RENT.getCode().equals(result.getList().get(0).getBillType())) { + WxBillRent billRent = new WxBillRent(); + billRent.setId(wxBillAction.getBillId()); + WxRentContract rentContract = wxRentContractService.getByBill(billRent); + WxBillRent wxBillRent = wxBillRentService.getById(wxBillAction.getBillId()); + startDate = DateUtils.getDaySet(wxBillRent.getReceiveDate(), Calendar.DATE,rentContract.getLatePayDay()); + }else if (EnumBillTypeParam.PROPERTY.getCode().equals(result.getList().get(0).getBillType())) { + WxBillProperty billRent = new WxBillProperty(); + billRent.setId(wxBillAction.getBillId()); + WxPropertyContract propertyContract = wxPropertyContractService.getByBill(billRent); + WxBillProperty wxBillProperty = wxBillPropertyService.getById(wxBillAction.getBillId()); + startDate = DateUtils.getDaySet(wxBillProperty.getReceiveDate(), Calendar.DATE,propertyContract.getLatePayDay()); + } + + Date curr = endDate; + for (WxBillAction action:result.getList()) { + if(sdf.format(curr).equals(action.getCreatetime())){ + continue; + } + + } } return new ResultData(result); } + } \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBillAction.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBillAction.java index bdb38ba16..d9d9ee694 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillAction.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBillAction.java @@ -54,10 +54,18 @@ public class WxBillAction extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value = "付款时间", name = "payDate") private Date payDate; + @io.swagger.annotations.ApiModelProperty(value = "账单类型", name = "billType") + private Integer billType; + @Transient private Long oldPrice; @Transient private Long newPrice; + + @Transient + private String startDate; + @Transient + private String endDate; } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBillProperty.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBillProperty.java index ad7b01e51..a9f743a32 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillProperty.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBillProperty.java @@ -168,4 +168,12 @@ public class WxBillProperty extends BaseEntity { @Transient private Long deposit; + @Transient + private Integer limitStart; + @Transient + private Integer limitEnd; + + @io.swagger.annotations.ApiModelProperty(value = "n日后开始计算滞纳金", name = "latePayRatio") + @Transient + private Integer latePayDay; } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java index d3903a4ff..03826a52b 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java @@ -179,5 +179,15 @@ public class WxBillRent extends BaseEntity { @Transient @io.swagger.annotations.ApiModelProperty(value = "联营费率", name = "payRatio") private Long payRatio; + + @Transient + private Integer limitStart; + @Transient + private Integer limitEnd; + + + @io.swagger.annotations.ApiModelProperty(value = "n日后开始计算滞纳金", name = "latePayRatio") + @Transient + private Integer latePayDay; } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java b/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java index 667cc5c2e..6fad42865 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java @@ -141,11 +141,11 @@ public class WxPropertyContract extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value = "调整比例", name = "adjustRatio") private String adjustRatio; - @io.swagger.annotations.ApiModelProperty(value = "滞纳金费率", name = "latePayDay") - private String latePayDay; + @io.swagger.annotations.ApiModelProperty(value = "滞纳金费率", name = "latePayRatio") + private String latePayRatio; - @io.swagger.annotations.ApiModelProperty(value = "n日后开始计算滞纳金", name = "latePayRatio") - private Integer latePayRatio; + @io.swagger.annotations.ApiModelProperty(value = "n日后开始计算滞纳金", name = "latePayDay") + private Integer latePayDay; @Transient @io.swagger.annotations.ApiModelProperty(value = "物业预账单列表", name = "previewBillRentList") diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillActionMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillActionMapper.java index 7788f7539..639ed8c82 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillActionMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillActionMapper.java @@ -13,4 +13,5 @@ public interface WxBillActionMapper extends CommonMapper { List findList(WxBillAction wxBillAction); + List findBillActionList(WxBillAction wxBillAction); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxPropertyContractMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxPropertyContractMapper.java index 158fb06e9..277d64649 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxPropertyContractMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxPropertyContractMapper.java @@ -1,6 +1,8 @@ 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; @@ -47,4 +49,6 @@ public interface WxPropertyContractMapper extends CommonMapper List listContractVo(WxRentPropertyContractVo record); + WxRentContract getByBill(WxBillRent billRent); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxBillActionService.java b/mallinkService/src/main/java/com/iformall/service/WxBillActionService.java index f6bc6777d..a13a73a2c 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBillActionService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBillActionService.java @@ -4,6 +4,8 @@ import com.github.pagehelper.PageInfo; import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxBillAction; +import java.util.List; + /** * @author gongbiao */ @@ -15,4 +17,5 @@ public interface WxBillActionService { int modifyBill(WxBillAction wxBillAction, MallUserInfo mallUserInfo); + List find(WxBillAction record); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxBillAllService.java b/mallinkService/src/main/java/com/iformall/service/WxBillAllService.java index d88478445..fd90c1803 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBillAllService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBillAllService.java @@ -58,7 +58,7 @@ public interface WxBillAllService { ResultData updateReceivePay(WxBillAll wxBillAll, MallUserInfo user); - void addBillAction(EnumBillAction billAction, Long billId, Long oldPrice, Long newPrice, MallUserInfo mallUserInfo); + void addBillAction(EnumBillAction billAction, Long billId, Long oldPrice, Long newPrice, MallUserInfo mallUserInfo,Integer billType); void exportTemplate(WxBillExcelTemplate wxBillExcelTemplate, HttpServletRequest request, HttpServletResponse response); diff --git a/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java b/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java index d954630d7..13a8c1426 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java @@ -73,4 +73,6 @@ public interface WxPropertyContractService { Map updateStatus(WxPropertyContract record); List buildProperty(WxMerchant wxMerchant, Long userId, WxPropertyContract propertyContract, Integer isPreview,boolean saveDb); + + WxPropertyContract getByBill(WxBillProperty billRent); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java index ec2b97e5d..3e5288fdc 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java @@ -2,9 +2,7 @@ package com.iformall.service; import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; -import com.iformall.domain.po.WxBillRent; -import com.iformall.domain.po.WxMerchant; -import com.iformall.domain.po.WxRentContract; +import com.iformall.domain.po.*; import com.iformall.domain.vo.WxRentPropertyContractVo; import io.swagger.models.auth.In; @@ -94,4 +92,6 @@ public interface WxRentContractService { Map updateStatus(WxRentContract record); + WxRentContract getByBill(WxBillRent billRent); + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillActionServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillActionServiceImpl.java index 097ec7c52..6c99a563f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillActionServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillActionServiceImpl.java @@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; +import java.util.List; /** * @author gongbiao @@ -24,6 +25,11 @@ public class WxBillActionServiceImpl implements WxBillActionService { @Autowired WxBillActionMapper wxBillActionMapper; + @Override + public List find(WxBillAction record) { + return wxBillActionMapper.findBillActionList(record); + } + @Override public PageInfo listAsPage(WxBillAction record, Integer pageIndex, Integer pageSize) { logger.info("查询账单操作记录列表"); @@ -57,6 +63,7 @@ public class WxBillActionServiceImpl implements WxBillActionService { Date date = new Date(); wxBillAction.setCreatetime(date); wxBillAction.setUpdatetime(date); + wxBillAction.setBillType(action.getBillType()); return wxBillActionMapper.insertSelective(wxBillAction); } 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 18986d3f7..3cc813bd8 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java @@ -784,7 +784,7 @@ public class WxBillAllServiceImpl implements WxBillAllService { if(oldLatePrice != null){ wxBillRent.setLatePayPrice(newLatePrice); wxBillRentMapper.updateByPrimaryKeySelective(wxBillRent); - addBillAction(EnumBillAction.UPDATE_LATE_PAY_MONEY,id, oldPrice, newPrice, user); + addBillAction(EnumBillAction.UPDATE_LATE_PAY_MONEY,id, oldPrice, newPrice, user,billType); }else{ //租赁账单更新 wxBillRent.setReceivePay(newPrice); @@ -794,7 +794,7 @@ public class WxBillAllServiceImpl implements WxBillAllService { } wxBillRentMapper.updateByPrimaryKeySelective(wxBillRent); //账单日志 - addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user); + addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user,billType); } } else if (billType.equals(EnumBillTypeParam.RENT_DEPOSIT.getCode())) { WxBillDeposit dbBill = wxBillDepositMapper.selectByPrimaryKey(id); @@ -809,7 +809,7 @@ public class WxBillAllServiceImpl implements WxBillAllService { wxBillDeposit.setUpdatetime(updateDate); wxBillDepositMapper.updateByPrimaryKeySelective(wxBillDeposit); //账单日志 - addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user); + addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user,billType); } else if (billType.equals(EnumBillTypeParam.PROPERTY.getCode())) { WxBillProperty dbBill = wxBillPropertyMapper.selectByPrimaryKey(id); //物业账单更新 @@ -819,7 +819,7 @@ public class WxBillAllServiceImpl implements WxBillAllService { if(oldLatePrice != null){ wxBillProperty.setLatePayPrice(newLatePrice); wxBillPropertyMapper.updateByPrimaryKeySelective(wxBillProperty); - addBillAction(EnumBillAction.UPDATE_LATE_PAY_MONEY,id, oldPrice, newPrice, user); + addBillAction(EnumBillAction.UPDATE_LATE_PAY_MONEY,id, oldPrice, newPrice, user,billType); }else{ wxBillProperty.setReceivePay(newPrice); wxBillProperty.setOwe(newPrice - dbBill.getPay()); @@ -828,7 +828,7 @@ public class WxBillAllServiceImpl implements WxBillAllService { } wxBillPropertyMapper.updateByPrimaryKeySelective(wxBillProperty); //账单日志 - addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user); + addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user,billType); } } else if (billType.equals(EnumBillTypeParam.PROPERTY_DEPOSIT.getCode())) { WxBillPropertyDeposit dbBill = wxBillPropertyDepositMapper.selectByPrimaryKey(id); @@ -843,22 +843,22 @@ public class WxBillAllServiceImpl implements WxBillAllService { wxBillPropertyDeposit.setUpdatetime(updateDate); wxBillPropertyDepositMapper.updateByPrimaryKeySelective(wxBillPropertyDeposit); //账单日志 - addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user); + addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user,billType); } else if (billType.equals(EnumBillTypeParam.WATER.getCode())) { //水费账单更新 updateDailyBill(id, newPrice, updateDate); //账单日志 - addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user); + addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user,billType); } else if (billType.equals(EnumBillTypeParam.POWER.getCode())) { //电费账单更新 updateDailyBill(id, newPrice, updateDate); //账单日志 - addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user); + addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user,billType); } else if (billType.equals(EnumBillTypeParam.AIR_CONDITIONING.getCode())) { //空调费账单更新 updateDailyBill(id, newPrice, updateDate); //账单日志 - addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user); + addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user,billType); } else if (billType.equals(EnumBillTypeParam.ROUTINE.getCode())) { WxBillOther dbBill = wxBillOtherMapper.selectByPrimaryKey(id); //其他费用账单更新 @@ -872,7 +872,7 @@ public class WxBillAllServiceImpl implements WxBillAllService { wxBillOther.setUpdatetime(updateDate); wxBillOtherMapper.updateByPrimaryKeySelective(wxBillOther); //账单日志 - addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user); + addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user,billType); } else if (billType.equals(EnumBillTypeParam.ATHER_DEPOSIT.getCode())) { WxBillOtherDeposit dbBill = wxBillOtherDepositMapper.selectByPrimaryKey(id); //其他押金账单更新 @@ -886,7 +886,7 @@ public class WxBillAllServiceImpl implements WxBillAllService { wxBillOtherDeposit.setUpdatetime(updateDate); wxBillOtherDepositMapper.updateByPrimaryKeySelective(wxBillOtherDeposit); //账单日志 - addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user); + addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user,billType); } else { logger.info("未找到账单类型"); } @@ -894,13 +894,14 @@ public class WxBillAllServiceImpl implements WxBillAllService { } @Override - public void addBillAction(EnumBillAction billAction,Long billId, Long oldPrice, Long newPrice, MallUserInfo mallUserInfo) { + public void addBillAction(EnumBillAction billAction,Long billId, Long oldPrice, Long newPrice, MallUserInfo mallUserInfo,Integer billType) { WxBillAction wxBillAction = new WxBillAction(); wxBillAction.setBillId(billId); String oldPriceStr = new BigDecimal(oldPrice).divide(new BigDecimal(100)).toPlainString(); String newPriceStr = new BigDecimal(newPrice).divide(new BigDecimal(100)).toPlainString(); wxBillAction.setDetails(oldPriceStr + "元变更成" + newPriceStr + "元"); wxBillAction.setAction(billAction.getCode()); + wxBillAction.setBillType(billType); wxBillActionService.modifyBill(wxBillAction, mallUserInfo); } 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 153c9b397..21d9e0869 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java @@ -53,6 +53,18 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { PageHelper.startPage(pageIndex, pageSize); List billRentList = wxBillPropertyMapper.queryBillPropertyList(record); PageInfo pageInfo = new PageInfo<>(billRentList); + billRentList.stream().forEach(b -> { + if(EnumBillRentStatus.WAIT_PAY.getCode().equals(b.getLatePayStatus()) && b.getLatePayRatio() != null){ + int latePayDay = 1; //默认第二天开始叫滞纳金 + if(b.getLatePayDay() != null){ + latePayDay = b.getLatePayDay(); + } + Date startPay = DateUtils.getDaySet(b.getReceiveDate(),Calendar.DATE,latePayDay); + long dayCount = DateUtils.startToEnd(new Date(),startPay); + Double d = new Double(dayCount * b.getLatePayRatio()/10000 * b.getOwe()); + b.setLatePayPrice(d.longValue()); + } + }); return pageInfo; } 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 899c7e309..a46aba6cc 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java @@ -52,6 +52,18 @@ public class WxBillRentServiceImpl implements WxBillRentService { public PageInfo listAsPage(WxBillRent record, Integer pageIndex, Integer pageSize) { PageHelper.startPage(pageIndex, pageSize); List billRentList = wxBillRentMapper.queryBillRentList(record); + billRentList.stream().forEach(b -> { + if(EnumBillRentStatus.WAIT_PAY.getCode().equals(b.getLatePayStatus()) && b.getLatePayRatio() != null){ + int latePayDay = 1; //默认第二天开始叫滞纳金 + if(b.getLatePayDay() != null){ + latePayDay = b.getLatePayDay(); + } + Date startPay = DateUtils.getDaySet(b.getReceiveDate(),Calendar.DATE,latePayDay); + long dayCount = DateUtils.startToEnd(new Date(),startPay); + Double d = new Double(dayCount * b.getLatePayRatio()/10000 * b.getOwe()); + b.setLatePayPrice(d.longValue()); + } + }); PageInfo pageInfo = new PageInfo<>(billRentList); return pageInfo; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java index f6f113e06..727d0ce75 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java @@ -1094,6 +1094,11 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService wxBillProperty.setPropertyContractId(wxPropertyContract.getId()); wxBillPropertyMapper.updateInvalidStatus(wxBillProperty); } + + @Override + public WxPropertyContract getByBill(WxBillProperty billRent) { + return wxPropertyContractMapper.getByBill(billRent); + } } 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 66addb343..e903092f0 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -2205,4 +2205,9 @@ public class WxRentContractServiceImpl implements WxRentContractService { wxMerchantService.disable(rentContract.getMerchantId()); } } + + @Override + public WxRentContract getByBill(WxBillRent billRent) { + return wxRentContractMapper.getByBill(billRent); + } } \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/utils/DateUtils.java b/mallinkService/src/main/java/com/iformall/utils/DateUtils.java index b30d422a9..1ebb1c109 100755 --- a/mallinkService/src/main/java/com/iformall/utils/DateUtils.java +++ b/mallinkService/src/main/java/com/iformall/utils/DateUtils.java @@ -9,6 +9,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.Period; import java.time.ZoneId; +import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -1198,6 +1199,26 @@ public class DateUtils { return calendar.getTime(); } + /** + * 计算两个日期之间的间隔天数 + * @param startDate + * @param endDate + * @return + */ + public static long startToEnd(Date startDate, Date endDate){ + String[] startStr = new SimpleDateFormat("yyyy-MM-dd").format(startDate).split("-"); + String[] endStr = new SimpleDateFormat("yyyy-MM-dd").format(endDate).split("-"); + Integer startYear = Integer.parseInt(startStr[0]); + Integer startMonth = Integer.parseInt(startStr[1]); + Integer startDay = Integer.parseInt(startStr[2]); + Integer endYear = Integer.parseInt(endStr[0]); + Integer endMonth = Integer.parseInt(endStr[1]); + Integer endDay = Integer.parseInt(endStr[2]); + LocalDate endLocalDate = LocalDate.of(endYear,endMonth,endDay); + LocalDate startLocalDate = LocalDate.of(startYear,startMonth,startDay); + return startLocalDate.until(endLocalDate, ChronoUnit.DAYS); + } + public static void main(String[] args) { Date curDate = new Date(); Date limitDate = DateUtils.getTimeAfterDays(7, curDate); diff --git a/mallinkService/src/main/resources/mapper/WxBillActionMapper.xml b/mallinkService/src/main/resources/mapper/WxBillActionMapper.xml index 6a91f36df..973e1b91c 100644 --- a/mallinkService/src/main/resources/mapper/WxBillActionMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillActionMapper.xml @@ -13,10 +13,11 @@ + - `id`,`tenant_id`,`bill_id`,`user_id`,`user_name`,`phone`,`action`,`details`,`createtime`,`updatetime`,`pay_date` + `id`,`tenant_id`,`bill_id`,`user_id`,`user_name`,`phone`,`action`,`details`,`createtime`,`updatetime`,`pay_date`,bill_type @@ -34,6 +35,10 @@ and `bill_id` = #{billId} + + + and `createtime` BETWEEN startDate and endDate + and id in @@ -51,5 +56,12 @@ + + diff --git a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml index d2fcfb2d3..8378ae694 100644 --- a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml @@ -37,7 +37,9 @@ - + + + @@ -91,11 +93,10 @@ case when br.status=1 then br.owe else 0 end owe,br.`status`,br.`need_pay`,m.`name` merchant_name,s.shop_number,br.`updatetime`,br.`merchant_id`,br.`rent_shop_type`,br.`period`, br.`revenue`,br.`late_pay_ratio`,br.`late_pay_time`,br.`property_contract_id`,d.receive_pay deposit, - case when br.late_pay_status=2 then (case when br.late_pay_time is null then 0 - else FLOOR(DATEDIFF(now(),date_add(br.receive_date,interval r.late_pay_day day))*r.late_pay_ratio/10000*br.owe)end) - else br.late_pay_price end late_pay_price,d.`status` + br.late_pay_price,d.`status` deposit_status,br.`shop_info`,br.pay_way,br.late_pay_status, - br.`comments`,br.starttime,br.endtime + br.`comments`,br.starttime,br.endtime, + r.late_pay_day,r.late_pay_ratio from wx_bill_property br left join wx_merchant m on br.merchant_id=m.id left join wx_shop s on br.shop_id=s.id left join wx_property_contract r on br.property_contract_id=r.id diff --git a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml index cd2e7ddca..34e62a0ad 100644 --- a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml @@ -38,10 +38,10 @@ - - - + + + @@ -91,19 +91,15 @@ from wx_bill_rent - - + select * from wx_property_contract where rent_contract_id =#{id} order by createtime desc limit 1 + + diff --git a/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml b/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml index 06584821d..7df772208 100644 --- a/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml @@ -351,5 +351,9 @@ order by rc.createtime desc,rc.id desc - +