Просмотр исходного кода

[滞纳金][修改][保存billAction]

release_toaliyun_real
luozukai 6 лет назад
Родитель
Сommit
bc3337ee33
5 измененных файлов: 53 добавлений и 49 удалений
  1. +2
    -40
      mallinkSchedule/src/main/java/com/iformall/schedule/LatePayBillActionSchedule.java
  2. +5
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java
  3. +5
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java
  4. +20
    -4
      mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml
  5. +21
    -5
      mallinkService/src/main/resources/mapper/WxBillRentMapper.xml

+ 2
- 40
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<WxBillRent> 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<WxBillProperty> 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("账单滞纳金更新结束");


+ 5
- 0
mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java Просмотреть файл

@@ -52,4 +52,9 @@ public interface WxBillPropertyMapper extends CommonMapper<WxBillProperty, Long>
* 累加每一天的滞纳金
*/
void autoAddLatePayPrice();

/**
* 保存billAction
*/
void insertBillAction();
}

+ 5
- 0
mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java Просмотреть файл

@@ -49,4 +49,9 @@ public interface WxBillRentMapper extends CommonMapper<WxBillRent, Long> {
* 累加每一天的滞纳金
*/
void autoAddLatePayPrice();

/**
* 保存billAction
*/
void insertBillAction();
}

+ 20
- 4
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}
</select>

<select id="findLatePayBill" resultMap="BaseResultMap">
select r.id,r.owe,c.late_pay_ratio from wx_bill_property r left join wx_property_contract c on(r.`property_contract_id`=c.id)
<update id="insertBillAction">
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_property b left join wx_property_contract c on(b.`property_contract_id`=c.id)
where c.late_pay_ratio >0
and DATEDIFF(now(), date_add(r.receive_date,interval(c.late_pay_day) day)) >0
</select>
and DATEDIFF(now(), date_add(b.receive_date,interval(c.late_pay_day) day)) >0
and b.status!=3 and b.status!=6
</update>

<update id="autoAddLatePayPrice">
update wx_bill_property b set b.late_pay_price =


+ 21
- 5
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}
</select>

<select id="findLatePayBill" resultMap="BaseResultMap">
select r.id,r.owe,c.late_pay_ratio from wx_bill_rent r left join wx_rent_contract c on(r.`rent_contract_id`=c.id)
where c.late_pay_ratio >0 and
DATEDIFF(now(), date_add(r.receive_date,interval(c.late_pay_day) day)) >0
</select>
<update id="insertBillAction">
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>

<update id="autoAddLatePayPrice">
update wx_bill_rent b set b.late_pay_price =


Загрузка…
Отмена
Сохранить