diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/LatePayBillActionSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/LatePayBillActionSchedule.java index b3764334b..98d1772fc 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/LatePayBillActionSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/LatePayBillActionSchedule.java @@ -1,22 +1,12 @@ package com.iformall.schedule; -import com.iformall.common.IdWorker; -import com.iformall.domain.po.WxBillAction; -import com.iformall.domain.po.WxBillProperty; -import com.iformall.domain.po.WxBillRent; -import com.iformall.enums.EnumBillAction; -import com.iformall.mapper.WxBillActionMapper; import com.iformall.mapper.WxBillPropertyMapper; import com.iformall.mapper.WxBillRentMapper; -import com.iformall.service.WxBillPropertyService; -import com.iformall.service.WxBillRentService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; 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.List; /** * @author luozukai @@ -24,13 +14,6 @@ import java.util.List; @Component public class LatePayBillActionSchedule { private final Logger logger = LoggerFactory.getLogger(this.getClass()); - - @Autowired - private WxBillRentService wxBillRentService; - @Autowired - private WxBillPropertyService wxBillPropertyService; - @Autowired - private WxBillActionMapper wxBillActionMapper; @Autowired private WxBillRentMapper wxBillRentMapper; @Autowired @@ -42,30 +25,9 @@ public class LatePayBillActionSchedule { public void updateBillStatus() { 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); - } + wxBillRentMapper.insertBillAction(); + wxBillPropertyMapper.insertBillAction(); - 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("账单滞纳金更新结束"); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java index 53ce3ae72..d7511c725 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java @@ -52,4 +52,9 @@ public interface WxBillPropertyMapper extends CommonMapper * 累加每一天的滞纳金 */ void autoAddLatePayPrice(); + + /** + * 保存billAction + */ + void insertBillAction(); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java index 67f7bf2e4..b39254a4b 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java @@ -49,4 +49,9 @@ public interface WxBillRentMapper extends CommonMapper { * 累加每一天的滞纳金 */ void autoAddLatePayPrice(); + + /** + * 保存billAction + */ + void insertBillAction(); } diff --git a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml index c474f6b22..c536190ea 100644 --- a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml @@ -226,11 +226,27 @@ AND date_format(starttime,'%Y-%m-%d 00:00:00.0') = #{starttime} AND date_format(endtime,'%Y-%m-%d 00:00:00.0') = #{endtime} - + and DATEDIFF(now(), date_add(b.receive_date,interval(c.late_pay_day) day)) >0 + and b.status!=3 and b.status!=6 + update wx_bill_property b set b.late_pay_price = diff --git a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml index 07329ef2b..8d20ec925 100644 --- a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml @@ -228,11 +228,27 @@ AND date_format(starttime,'%Y-%m-%d 00:00:00.0') = #{starttime} AND date_format(endtime,'%Y-%m-%d 00:00:00.0') = #{endtime} - + + insert into wx_bill_action(id,user_name,`action`,bill_id,details) + select + (select unix_timestamp(now()) + CEILING(RAND()*90000+10000)) id + ,'系统端' user_name,7 `action`,b.id bill_id, + CONCAT('系统计入', + if(b.late_pay_price is null, + round( + b.owe * c.late_pay_ratio * DATEDIFF(now(), date_add(b.receive_date,interval(c.late_pay_day) day)) /10000 + ,2) + , + round( + b.owe * (c.late_pay_ratio) /10000 + ,2) + ) + ,'元') details + from wx_bill_rent b left join wx_rent_contract c on(b.rent_contract_id=c.id) + where c.late_pay_ratio >0 + and DATEDIFF(now(), date_add(b.receive_date,interval(c.late_pay_day) day)) >0 + and b.status!=3 and b.status!=6 + update wx_bill_rent b set b.late_pay_price =