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 7ee439f99..8a02406e3 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java @@ -203,37 +203,57 @@ public class WxFlowServiceImpl implements WxFlowService { Date updateDate = new Date(); MallUserInfo mallUserInfo = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute("userSession"); if (billType.equals(EnumBillTypeParam.RENT.getCode())) { + WxBillRent dbBill = wxBillRentMapper.selectByPrimaryKey(businessId); //租赁账单更新 WxBillRent wxBillRent = new WxBillRent(); wxBillRent.setId(businessId); 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(businessId, oldPrice, newPrice, mallUserInfo); } else if (billType.equals(EnumBillTypeParam.RENT_DEPOSIT.getCode())) { + WxBillDeposit dbBill = wxBillDepositMapper.selectByPrimaryKey(businessId); //租赁押金账单更新 WxBillDeposit wxBillDeposit = new WxBillDeposit(); wxBillDeposit.setId(businessId); wxBillDeposit.setReceivePay(newPrice); + wxBillDeposit.setOwe(newPrice - dbBill.getPay()); + if (newPrice.equals(dbBill.getPay())) { + wxBillDeposit.setStatus(EnumBillRentStatus.PAID.getCode()); + } wxBillDeposit.setUpdatetime(updateDate); wxBillDepositMapper.updateByPrimaryKeySelective(wxBillDeposit); //账单日志 addBillAction(businessId, oldPrice, newPrice, mallUserInfo); } else if (billType.equals(EnumBillTypeParam.PROPERTY.getCode())) { + WxBillProperty dbBill = wxBillPropertyMapper.selectByPrimaryKey(businessId); //物业账单更新 WxBillProperty wxBillProperty = new WxBillProperty(); wxBillProperty.setId(businessId); 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(businessId, oldPrice, newPrice, mallUserInfo); } else if (billType.equals(EnumBillTypeParam.PROPERTY_DEPOSIT.getCode())) { + WxBillPropertyDeposit dbBill = wxBillPropertyDepositMapper.selectByPrimaryKey(businessId); //物业押金账单更新 WxBillPropertyDeposit wxBillPropertyDeposit = new WxBillPropertyDeposit(); wxBillPropertyDeposit.setId(businessId); wxBillPropertyDeposit.setReceivePay(newPrice); + wxBillPropertyDeposit.setOwe(newPrice - dbBill.getPay()); + if (newPrice.equals(dbBill.getPay())) { + wxBillPropertyDeposit.setStatus(EnumBillRentStatus.PAID.getCode()); + } wxBillPropertyDeposit.setUpdatetime(updateDate); wxBillPropertyDepositMapper.updateByPrimaryKeySelective(wxBillPropertyDeposit); //账单日志 @@ -248,20 +268,35 @@ public class WxFlowServiceImpl implements WxFlowService { updateDailyBill(businessId, newPrice, updateDate); //账单日志 addBillAction(businessId, oldPrice, newPrice, mallUserInfo); + } else if (billType.equals(EnumBillTypeParam.AIR_CONDITIONING.getCode())) { + //空调费账单更新 + updateDailyBill(businessId, newPrice, updateDate); + //账单日志 + addBillAction(businessId, oldPrice, newPrice, mallUserInfo); } else if (billType.equals(EnumBillTypeParam.ROUTINE.getCode())) { + WxBillOther dbBill = wxBillOtherMapper.selectByPrimaryKey(businessId); //其他费用账单更新 WxBillOther wxBillOther = new WxBillOther(); wxBillOther.setId(businessId); wxBillOther.setReceivePay(newPrice); + wxBillOther.setOwe(newPrice - dbBill.getPay()); + if (newPrice.equals(dbBill.getPay())) { + wxBillOther.setStatus(EnumBillRentStatus.PAID.getCode()); + } wxBillOther.setUpdatetime(updateDate); wxBillOtherMapper.updateByPrimaryKeySelective(wxBillOther); //账单日志 addBillAction(businessId, oldPrice, newPrice, mallUserInfo); } else if (billType.equals(EnumBillTypeParam.ATHER_DEPOSIT.getCode())) { + WxBillOtherDeposit dbBill = wxBillOtherDepositMapper.selectByPrimaryKey(businessId); //其他押金账单更新 WxBillOtherDeposit wxBillOtherDeposit = new WxBillOtherDeposit(); wxBillOtherDeposit.setId(businessId); wxBillOtherDeposit.setReceivePay(newPrice); + wxBillOtherDeposit.setOwe(newPrice - dbBill.getPay()); + if (newPrice.equals(dbBill.getPay())) { + wxBillOtherDeposit.setStatus(EnumBillRentStatus.PAID.getCode()); + } wxBillOtherDeposit.setUpdatetime(updateDate); wxBillOtherDepositMapper.updateByPrimaryKeySelective(wxBillOtherDeposit); //账单日志 @@ -274,9 +309,14 @@ public class WxFlowServiceImpl implements WxFlowService { } public void updateDailyBill(Long businessId, Integer newPrice, Date updateDate) { + WxBillDaily dbBill = wxBillDailyMapper.selectByPrimaryKey(businessId); WxBillDaily wxBillDaily = new WxBillDaily(); wxBillDaily.setId(businessId); wxBillDaily.setReceivePay(newPrice); + wxBillDaily.setOwe(newPrice - dbBill.getPay()); + if (newPrice.equals(dbBill.getPay())) { + wxBillDaily.setStatus(EnumBillRentStatus.PAID.getCode()); + } wxBillDaily.setUpdatetime(updateDate); wxBillDailyMapper.updateByPrimaryKeySelective(wxBillDaily); }