diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java index 4d8ff8b42..6ccd412cc 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -13,6 +13,8 @@ import com.iformall.enums.EnumIsPreview; import com.iformall.enums.EnumRentStartType; import com.iformall.exception.MallinkException; import com.iformall.mapper.WxBillActionMapper; +import com.iformall.mapper.WxBillPropertyMapper; +import com.iformall.mapper.WxBillRentMapper; import com.iformall.mapper.WxRentContractMapper; import com.iformall.service.*; import com.iformall.utils.DateUtils; @@ -49,38 +51,50 @@ public class WxRentContractController extends BaseController { @Autowired private WxRentContractMapper wxRentContractMapper; + + @Autowired + WxBillRentMapper wxBillRentMapper; + @Autowired + WxBillPropertyMapper wxBillPropertyMapper; @Autowired private WxBillActionMapper wxBillActionMapper; @Autowired private WxBillPropertyService wxBillPropertyService; - @GetMapping("test") - @SystemControllerLog(description = "获取两个时间相差,返回n月零n天") - public ResultData test(String startDate, String endDate) throws Exception{ - final IdWorker idWorker = IdWorker.get(); - List billRentList = wxBillRentService.findLatePayBill(); - for (WxBillRent wxBillRent : billRentList) { - WxBillAction billAction = new WxBillAction(); - billAction.setId(idWorker.nextId()); - billAction.setCreatetime(new Date()); - billAction.setUserName("系统端"); - billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode()); - billAction.setBillId(wxBillRent.getId()); - BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); - billAction.setDetails("系统计入"+ divide.toString()+"元"); - wxBillActionMapper.insertSelective(billAction); - } - - List billPropertyList = wxBillPropertyService.findLatePayBill(); - for (WxBillProperty wxBillRent : billPropertyList) { - WxBillAction billAction = new WxBillAction(); - billAction.setId(idWorker.nextId()); - billAction.setCreatetime(new Date()); - billAction.setUserName("系统端"); - billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode()); - billAction.setBillId(wxBillRent.getId()); - BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); - billAction.setDetails("系统计入"+ divide.toString()+"元"); - wxBillActionMapper.insertSelective(billAction); + @GetMapping("autolatePay") + @SystemControllerLog(description = "autolatePay") + public ResultData autolatePay(String startDate, String endDate) throws Exception{ + try { + logger.info("账单滞纳金更新开始"); + final IdWorker idWorker = IdWorker.get(); + List billRentList = wxBillRentService.findLatePayBill(); + for (WxBillRent wxBillRent : billRentList) { + WxBillAction billAction = new WxBillAction(); + billAction.setId(idWorker.nextId()); + billAction.setUserName("系统端"); + billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode()); + billAction.setBillId(wxBillRent.getId()); + BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP); + billAction.setDetails("系统计入"+ divide.toString()+"元"); + wxBillActionMapper.insertSelective(billAction); + } + + List billPropertyList = wxBillPropertyService.findLatePayBill(); + for (WxBillProperty wxBillRent : billPropertyList) { + WxBillAction billAction = new WxBillAction(); + billAction.setId(idWorker.nextId()); + billAction.setUserName("系统端"); + billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode()); + billAction.setBillId(wxBillRent.getId()); + BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP); + billAction.setDetails("系统计入"+ divide.toString()+"元"); + wxBillActionMapper.insertSelective(billAction); + } + wxBillRentMapper.autoAddLatePayPrice(); + wxBillPropertyMapper.autoAddLatePayPrice(); + logger.info("账单滞纳金更新结束"); + }catch (Exception e){ + logger.error("LatePayBillActionSchedule error! message:{}",e.getMessage()); + logger.error("LatePayBillActionSchedule error!",e); } return new ResultData(); } diff --git a/mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java b/mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java index 5fde686e2..9892de836 100644 --- a/mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java +++ b/mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java @@ -118,6 +118,10 @@ public class TenantInfoImpl implements TenantInfo { return true; if ("com.iformall.mapper.WxBillPropertyMapper.updateNotPaidStatus".equals(ms.getId())) return true; + if ("com.iformall.mapper.WxBillRentMapper.autoAddLatePayPrice".equals(ms.getId())) + return true; + if ("com.iformall.mapper.WxBillPropertyMapper.autoAddLatePayPrice".equals(ms.getId())) + return true; return false; } } diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/LatePayBillActionSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/LatePayBillActionSchedule.java index 5be3ab989..b3764334b 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/LatePayBillActionSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/LatePayBillActionSchedule.java @@ -16,7 +16,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.math.BigDecimal; -import java.util.Date; import java.util.List; /** @@ -41,35 +40,39 @@ public class LatePayBillActionSchedule { */ @Scheduled(cron = "0 0 1 * * ?") public void updateBillStatus() { - logger.info("账单滞纳金更新开始"); - final IdWorker idWorker = IdWorker.get(); - List billRentList = wxBillRentService.findLatePayBill(); - for (WxBillRent wxBillRent : billRentList) { - WxBillAction billAction = new WxBillAction(); - billAction.setId(idWorker.nextId()); - billAction.setUserName("系统端"); - billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode()); - billAction.setBillId(wxBillRent.getId()); - BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP); - billAction.setDetails("系统计入"+ divide.toString()+"元"); - wxBillActionMapper.insertSelective(billAction); - } + try { + logger.info("账单滞纳金更新开始"); + final IdWorker idWorker = IdWorker.get(); + List billRentList = wxBillRentService.findLatePayBill(); + for (WxBillRent wxBillRent : billRentList) { + WxBillAction billAction = new WxBillAction(); + billAction.setId(idWorker.nextId()); + billAction.setUserName("系统端"); + billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode()); + billAction.setBillId(wxBillRent.getId()); + BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP); + billAction.setDetails("系统计入"+ divide.toString()+"元"); + wxBillActionMapper.insertSelective(billAction); + } - List billPropertyList = wxBillPropertyService.findLatePayBill(); - for (WxBillProperty wxBillRent : billPropertyList) { - WxBillAction billAction = new WxBillAction(); - billAction.setId(idWorker.nextId()); - billAction.setUserName("系统端"); - billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode()); - billAction.setBillId(wxBillRent.getId()); - BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP); - billAction.setDetails("系统计入"+ divide.toString()+"元"); - wxBillActionMapper.insertSelective(billAction); + List billPropertyList = wxBillPropertyService.findLatePayBill(); + for (WxBillProperty wxBillRent : billPropertyList) { + WxBillAction billAction = new WxBillAction(); + billAction.setId(idWorker.nextId()); + billAction.setUserName("系统端"); + billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode()); + billAction.setBillId(wxBillRent.getId()); + BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP); + billAction.setDetails("系统计入"+ divide.toString()+"元"); + wxBillActionMapper.insertSelective(billAction); + } + wxBillRentMapper.autoAddLatePayPrice(); + wxBillPropertyMapper.autoAddLatePayPrice(); + logger.info("账单滞纳金更新结束"); + }catch (Exception e){ + logger.error("LatePayBillActionSchedule error! message:{}",e.getMessage()); + logger.error("LatePayBillActionSchedule error!",e); } - - wxBillRentMapper.autoAddLatePayPrice(); - wxBillPropertyMapper.autoAddLatePayPrice(); - logger.info("账单滞纳金更新结束"); } 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 e968d89c6..525ba492d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java @@ -263,7 +263,7 @@ public class WxFlowServiceImpl implements WxFlowService { if(EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) { //作废 wxCoupon.setStatus(EnumCouponStatus.COUPON_STATUS_TAKE_OFFF.getCode()); - wxCouponService.saveOrUpdate(wxCoupon); + wxCouponMapper.updateByPrimaryKeySelective(wxCoupon); } } wxCoupon.setApprovalType(operateType);