From 5b6abfbd402be8f39f8cacf4866ddc78e9550850 Mon Sep 17 00:00:00 2001 From: luozukai Date: Mon, 29 Jul 2019 11:21:31 +0800 Subject: [PATCH] =?UTF-8?q?[=E8=B4=A6=E5=8D=95][=E4=BF=AE=E6=94=B9][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=BB=9E=E7=BA=B3=E9=87=91=E8=AE=A1=E7=AE=97?= =?UTF-8?q?]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rent/WxBillActionController.java | 15 +++++ .../com/iformall/domain/vo/WxBillAll.java | 6 ++ .../com/iformall/enums/EnumBillAction.java | 3 +- .../iformall/service/WxBillAllService.java | 4 +- .../service/impl/WxBillAllServiceImpl.java | 67 ++++++++++++------- .../service/impl/WxFlowServiceImpl.java | 27 +++++--- 6 files changed, 85 insertions(+), 37 deletions(-) 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 e88df9ee4..b65743185 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillActionController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillActionController.java @@ -10,6 +10,7 @@ import com.iformall.service.WxBillActionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -47,4 +48,18 @@ public class WxBillActionController extends BaseController { return new ResultData(result); } + @ApiOperation("滞纳金变更列表") + @GetMapping("latePaylist") + @SystemControllerLog(description = "账单操作记录-滞纳金列表") + public ResultData latePaylist(@ModelAttribute WxBillAction wxBillAction, Integer pageNum, Integer pageSize) { + logger.debug("[" + getIpAddr() + "] WxBillActionController::latePaylist"); + if (null == wxBillAction) { + wxBillAction = new WxBillAction(); + } + wxBillAction.setTenantId(getTenantId()); + wxBillAction.setSortColumns(BaseEntity.SortField.Id_DESC); + PageInfo result = wxBillActionService.listAsPage(wxBillAction, pageNum, pageSize); + + return new ResultData(result); + } } \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxBillAll.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxBillAll.java index 2fdab3b4e..7ff113c84 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxBillAll.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxBillAll.java @@ -127,4 +127,10 @@ public class WxBillAll extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value = "金额新值", name = "newPrice") private Long newPrice; + //滞纳金 + @Transient + private Long oldLatePrice; + @Transient + private Long newLatePrice; + } diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumBillAction.java b/mallinkService/src/main/java/com/iformall/enums/EnumBillAction.java index d64a99d93..9fc0f2520 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumBillAction.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumBillAction.java @@ -12,7 +12,8 @@ public enum EnumBillAction { DEPOSIT_PAY(4, "押金缴费"), DEPOSIT_RETURN(5, "押金退款"), DEPOSIT_MODIFY(6, "押金变更"), - IMPORT_PAY(6, "导入缴费"),; + IMPORT_PAY(6, "导入缴费"), + UPDATE_LATE_PAY_MONEY(7, "滞纳金变更"); public static EnumBillAction getEnum(Integer code) { for (EnumBillAction value : values()) { diff --git a/mallinkService/src/main/java/com/iformall/service/WxBillAllService.java b/mallinkService/src/main/java/com/iformall/service/WxBillAllService.java index cb04b8139..d88478445 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBillAllService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBillAllService.java @@ -5,6 +5,7 @@ import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.vo.WxBillAll; import com.iformall.domain.vo.WxBillExcelTemplate; import com.iformall.domain.vo.WxBillExcelTemplateOther; +import com.iformall.enums.EnumBillAction; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -57,10 +58,9 @@ public interface WxBillAllService { ResultData updateReceivePay(WxBillAll wxBillAll, MallUserInfo user); - void addBillAction(Long billId, Long oldPrice, Long newPrice, MallUserInfo mallUserInfo); + void addBillAction(EnumBillAction billAction, Long billId, Long oldPrice, Long newPrice, MallUserInfo mallUserInfo); void exportTemplate(WxBillExcelTemplate wxBillExcelTemplate, HttpServletRequest request, HttpServletResponse response); void importBill(String tenantId, String importKey, WxBillExcelTemplateOther bill, MallUserInfo user); - } \ No newline at end of file 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 1946b4714..18986d3f7 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java @@ -772,22 +772,30 @@ public class WxBillAllServiceImpl implements WxBillAllService { Integer billType = wxBillAll.getBillTypeValue(); Long oldPrice = wxBillAll.getOldPrice(); Long newPrice = wxBillAll.getNewPrice(); + Long oldLatePrice = wxBillAll.getOldLatePrice(); + Long newLatePrice = wxBillAll.getNewLatePrice(); Long id = wxBillAll.getId(); Date updateDate = new Date(); if (billType.equals(EnumBillTypeParam.RENT.getCode())) { WxBillRent dbBill = wxBillRentMapper.selectByPrimaryKey(id); - //租赁账单更新 WxBillRent wxBillRent = new WxBillRent(); wxBillRent.setId(id); - wxBillRent.setReceivePay(newPrice); - wxBillRent.setOwe(newPrice - dbBill.getPay()); - if (newPrice.equals(dbBill.getPay())) { - wxBillRent.setStatus(EnumBillRentStatus.PAID.getCode()); - } wxBillRent.setUpdatetime(updateDate); - wxBillRentMapper.updateByPrimaryKeySelective(wxBillRent); - //账单日志 - addBillAction(id, oldPrice, newPrice, user); + if(oldLatePrice != null){ + wxBillRent.setLatePayPrice(newLatePrice); + wxBillRentMapper.updateByPrimaryKeySelective(wxBillRent); + addBillAction(EnumBillAction.UPDATE_LATE_PAY_MONEY,id, oldPrice, newPrice, user); + }else{ + //租赁账单更新 + wxBillRent.setReceivePay(newPrice); + wxBillRent.setOwe(newPrice - dbBill.getPay()); + if (newPrice.equals(dbBill.getPay())) { + wxBillRent.setStatus(EnumBillRentStatus.PAID.getCode()); + } + wxBillRentMapper.updateByPrimaryKeySelective(wxBillRent); + //账单日志 + addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user); + } } else if (billType.equals(EnumBillTypeParam.RENT_DEPOSIT.getCode())) { WxBillDeposit dbBill = wxBillDepositMapper.selectByPrimaryKey(id); //租赁押金账单更新 @@ -801,21 +809,27 @@ public class WxBillAllServiceImpl implements WxBillAllService { wxBillDeposit.setUpdatetime(updateDate); wxBillDepositMapper.updateByPrimaryKeySelective(wxBillDeposit); //账单日志 - addBillAction(id, oldPrice, newPrice, user); + addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user); } else if (billType.equals(EnumBillTypeParam.PROPERTY.getCode())) { WxBillProperty dbBill = wxBillPropertyMapper.selectByPrimaryKey(id); //物业账单更新 WxBillProperty wxBillProperty = new WxBillProperty(); wxBillProperty.setId(id); - wxBillProperty.setReceivePay(newPrice); - wxBillProperty.setOwe(newPrice - dbBill.getPay()); - if (newPrice.equals(dbBill.getPay())) { - wxBillProperty.setStatus(EnumBillRentStatus.PAID.getCode()); - } wxBillProperty.setUpdatetime(updateDate); - wxBillPropertyMapper.updateByPrimaryKeySelective(wxBillProperty); - //账单日志 - addBillAction(id, oldPrice, newPrice, user); + if(oldLatePrice != null){ + wxBillProperty.setLatePayPrice(newLatePrice); + wxBillPropertyMapper.updateByPrimaryKeySelective(wxBillProperty); + addBillAction(EnumBillAction.UPDATE_LATE_PAY_MONEY,id, oldPrice, newPrice, user); + }else{ + wxBillProperty.setReceivePay(newPrice); + wxBillProperty.setOwe(newPrice - dbBill.getPay()); + if (newPrice.equals(dbBill.getPay())) { + wxBillProperty.setStatus(EnumBillRentStatus.PAID.getCode()); + } + wxBillPropertyMapper.updateByPrimaryKeySelective(wxBillProperty); + //账单日志 + addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user); + } } else if (billType.equals(EnumBillTypeParam.PROPERTY_DEPOSIT.getCode())) { WxBillPropertyDeposit dbBill = wxBillPropertyDepositMapper.selectByPrimaryKey(id); //物业押金账单更新 @@ -829,22 +843,22 @@ public class WxBillAllServiceImpl implements WxBillAllService { wxBillPropertyDeposit.setUpdatetime(updateDate); wxBillPropertyDepositMapper.updateByPrimaryKeySelective(wxBillPropertyDeposit); //账单日志 - addBillAction(id, oldPrice, newPrice, user); + addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user); } else if (billType.equals(EnumBillTypeParam.WATER.getCode())) { //水费账单更新 updateDailyBill(id, newPrice, updateDate); //账单日志 - addBillAction(id, oldPrice, newPrice, user); + addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user); } else if (billType.equals(EnumBillTypeParam.POWER.getCode())) { //电费账单更新 updateDailyBill(id, newPrice, updateDate); //账单日志 - addBillAction(id, oldPrice, newPrice, user); + addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user); } else if (billType.equals(EnumBillTypeParam.AIR_CONDITIONING.getCode())) { //空调费账单更新 updateDailyBill(id, newPrice, updateDate); //账单日志 - addBillAction(id, oldPrice, newPrice, user); + addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user); } else if (billType.equals(EnumBillTypeParam.ROUTINE.getCode())) { WxBillOther dbBill = wxBillOtherMapper.selectByPrimaryKey(id); //其他费用账单更新 @@ -858,7 +872,7 @@ public class WxBillAllServiceImpl implements WxBillAllService { wxBillOther.setUpdatetime(updateDate); wxBillOtherMapper.updateByPrimaryKeySelective(wxBillOther); //账单日志 - addBillAction(id, oldPrice, newPrice, user); + addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user); } else if (billType.equals(EnumBillTypeParam.ATHER_DEPOSIT.getCode())) { WxBillOtherDeposit dbBill = wxBillOtherDepositMapper.selectByPrimaryKey(id); //其他押金账单更新 @@ -872,7 +886,7 @@ public class WxBillAllServiceImpl implements WxBillAllService { wxBillOtherDeposit.setUpdatetime(updateDate); wxBillOtherDepositMapper.updateByPrimaryKeySelective(wxBillOtherDeposit); //账单日志 - addBillAction(id, oldPrice, newPrice, user); + addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user); } else { logger.info("未找到账单类型"); } @@ -880,16 +894,17 @@ public class WxBillAllServiceImpl implements WxBillAllService { } @Override - public void addBillAction(Long billId, Long oldPrice, Long newPrice, MallUserInfo mallUserInfo) { + public void addBillAction(EnumBillAction billAction,Long billId, Long oldPrice, Long newPrice, MallUserInfo mallUserInfo) { 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(EnumBillAction.UPDATE_BILL.getCode()); + wxBillAction.setAction(billAction.getCode()); wxBillActionService.modifyBill(wxBillAction, mallUserInfo); } + @Override public void exportTemplate(WxBillExcelTemplate WxBillExcelTemplate, HttpServletRequest request, HttpServletResponse response) { List datalist = new ArrayList<>(); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java index eec5784ec..c4f85dada 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java @@ -198,15 +198,26 @@ public class WxFlowServiceImpl implements WxFlowService { if(EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) { //账单审批 Integer billType = (Integer) getVariableByKey(variables, "billType"); - Long oldPrice = Long.parseLong(getVariableByKey(variables, "oldPrice").toString()); - Long newPrice = Long.parseLong(getVariableByKey(variables, "newPrice").toString()); MallUserInfo user = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute("userSession"); - WxBillAll wxBillAll = new WxBillAll(); - wxBillAll.setId(businessId); - wxBillAll.setBillTypeValue(billType); - wxBillAll.setOldPrice(oldPrice); - wxBillAll.setNewPrice(newPrice); - wxBillAllService.updateReceivePay(wxBillAll, user); + String latePayMoneyBefore = (String) getVariableByKey(variables, "latePayMoneyBefore"); + String latePayMoneyUpdate = (String) getVariableByKey(variables, "latePayMoneyUpdate"); + if(StringUtils.isNotBlank(latePayMoneyBefore)){ //修改滞纳金 + WxBillAll wxBillAll = new WxBillAll(); + wxBillAll.setId(businessId); + wxBillAll.setBillTypeValue(billType); + wxBillAll.setOldLatePrice(Long.parseLong(latePayMoneyBefore)*100); + wxBillAll.setNewLatePrice(Long.parseLong(latePayMoneyUpdate)*100); + wxBillAllService.updateReceivePay(wxBillAll, user); + }else{ + Long oldPrice = Long.parseLong(getVariableByKey(variables, "oldPrice").toString()); + Long newPrice = Long.parseLong(getVariableByKey(variables, "newPrice").toString()); + WxBillAll wxBillAll = new WxBillAll(); + wxBillAll.setId(businessId); + wxBillAll.setBillTypeValue(billType); + wxBillAll.setOldPrice(oldPrice); + wxBillAll.setNewPrice(newPrice); + wxBillAllService.updateReceivePay(wxBillAll, user); + } } } else if (EnumFlowKey.NEW_COUPON_UPLINE.getCode().equals(flowType) || EnumFlowKey.NEW_CARD_UPLINE.getCode().equals(flowType)