//package com.ruoyi.web.controller.task;
|
//
|
//
|
//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
//import com.ruoyi.common.utils.SmsUtil;
|
//import com.ruoyi.system.mapper.TBillMapper;
|
//import com.ruoyi.system.model.TBill;
|
//import com.ruoyi.system.model.TContract;
|
//import com.ruoyi.system.model.TContractRentType;
|
//import com.ruoyi.system.service.TBillService;
|
//import com.ruoyi.system.service.TContractRentTypeService;
|
//import com.ruoyi.system.service.TContractService;
|
//import org.springframework.beans.factory.annotation.Autowired;
|
//import org.springframework.scheduling.annotation.Scheduled;
|
//import org.springframework.stereotype.Component;
|
//
|
//import javax.annotation.Resource;
|
//import java.math.BigDecimal;
|
//import java.time.LocalDate;
|
//import java.time.LocalDateTime;
|
//import java.time.LocalTime;
|
//import java.time.ZoneId;
|
//import java.time.temporal.ChronoUnit;
|
//import java.time.temporal.TemporalAdjusters;
|
//import java.util.ArrayList;
|
//import java.util.Date;
|
//import java.util.List;
|
//import java.util.Random;
|
//import java.util.stream.Collectors;
|
//
|
///**
|
// * @author zhibing.pu
|
// * @date 2023/7/11 8:39
|
// */
|
//@Component
|
//public class TaskUtil {
|
// @Autowired
|
// private TContractService contractService;
|
// @Autowired
|
// private TBillMapper billMapper;
|
// // 用于更新违约金账单
|
// // 每分钟执行一次的定时任务
|
//
|
// @Scheduled(cron = "0 * * * * ?")
|
// public void dayOfProportionBill() {
|
// try {
|
// // 查询所有未缴费账单
|
// List<TBill> list = billMapper.selectList(new LambdaQueryWrapper<TBill>().eq(TBill::getPayFeesStatus, 1)
|
// .le(TBill::getPayableFeesTime,LocalDate.now()));
|
// for (TBill tBill : list) {
|
// tBill.setPayFeesStatus("4");
|
// TContract contract = contractService.getById(tBill.getContractId());
|
// LocalDate payableFeesTime = tBill.getPayableFeesTime();
|
// // 将LocalDate转化为LocalDateTime
|
// LocalDateTime payableFeesTime1 = LocalDateTime.of(payableFeesTime, LocalTime.of(0, 0, 0));
|
// LocalDateTime now = LocalDateTime.now();
|
// // 计算两个时间相差多少个小时
|
// long hours = ChronoUnit.HOURS.between(payableFeesTime1, now);
|
// long l = hours / 24;
|
// if (l>=3){
|
// // 违约金比例
|
// BigDecimal proportion = contract.getProportion();
|
// // 按每天 待缴费金额 * XX% 增加违约金费用
|
// if (tBill.getOutstandingMoney().compareTo(new BigDecimal("0"))==0){
|
// tBill.setPayFeesStatus("3");
|
// billMapper.updateById(tBill);
|
// continue;
|
// }
|
// BigDecimal money = tBill.getOutstandingMoney().multiply(new BigDecimal(100).add(proportion)).divide(new BigDecimal(100),2, BigDecimal.ROUND_DOWN);
|
// tBill.setOverDays((int) l);
|
// tBill.setPayableFeesPenalty((tBill.getPayableFeesPenalty()!=null?tBill.getPayableFeesPenalty():BigDecimal.ZERO).add(money));
|
// tBill.setOutstandingMoney(money);
|
// billMapper.updateById(tBill);
|
//
|
// }
|
// }
|
// } catch (Exception e) {
|
// e.printStackTrace();
|
// }
|
// }
|
//
|
//
|
//}
|