package com.nova.sankuai; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.nova.sankuai.domain.entity.PayRecord; import com.nova.sankuai.infra.utils.MessageCodeUtil; import com.nova.sankuai.service.ICapitalInfoService; import com.nova.sankuai.service.ICustomerCapitalResultService; import com.nova.sankuai.service.IPayRecordService; import com.nova.sankuai.service.IYqgRepayOrderService; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import javax.annotation.Resource; import java.time.LocalDateTime; @Configuration @EnableScheduling @ApiModel(value = "定时任务") @Slf4j public class DefaultScheduleTask { private static final Logger logger = LoggerFactory.getLogger("loginLogger"); @Value("${serverName}") private String serverName; @Resource private IYqgRepayOrderService yqgRepayOrderService; @Resource private ICustomerCapitalResultService customerCapitalResultService; @Resource private ICapitalInfoService capitalInfoService; @ApiOperation(value = "短信验证码校验缓存清理") @Scheduled(cron = "0 0 0 * * ?") private void configureTasks() { logger.info("执行短信验证码校验缓存清理: " + LocalDateTime.now()); MessageCodeUtil.clean(); } @ApiOperation(value = "定时关闭洋钱罐过期还款申请订单") @Scheduled(cron = "0 0/10 * * * ?") private void closeYqgRepayOrder() { yqgRepayOrderService.closeYqgRepayOrder(); } /** * 定时发送资方审批通过短信通知 */ @Scheduled(cron = "0 */30 * * * ?") @ApiOperation(value = "资方审批通过后发短信通知客户") private void findCapitalApprovalResultAdopt() { customerCapitalResultService.sendSmsApprovalResultAdopt(); } /** * 定时发送放款成功短信通知客户 */ @ApiOperation(value = "每8分30秒定时发送放款成功短信通知客户") @Scheduled(cron = "30 */8 * * * ?") private void makeLoans() { customerCapitalResultService.makeLoans(); } /** * 定时发送放款成功短信通知客户 */ @Scheduled(cron = "20 32 11 2,5,8,11,14,17,20,23,26,29 * ?") @ApiOperation(value = "固定每月偶数日10点10分10给未提款用户发送短信") private void notDrawMoney() { customerCapitalResultService.notDrawMoney(); } /** * 于2022-11-20新增:定时每天半夜3点到4点每半个小时删除超过10天的交易记录 */ @Resource private IPayRecordService payRecordService; @ApiOperation(value = "定时每天半夜3点到4点每半个小时删除超过5天的交易记录") @Scheduled(cron = "0 0/30 3-4 * * ?") private void deleteTrade() { LocalDateTime localDateTime = LocalDateTime.now().minusDays(5);// 当前时间减5天 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.le(PayRecord::getPayDate, localDateTime); payRecordService.remove(wrapper); } /*@ApiOperation(value = "定时每天9点半开启慧借") @Scheduled(cron = "0 30 9 * * ?") private void startHj() { if ("kdn".equals(serverName)) { capitalInfoService.update(null, Wrappers.lambdaUpdate().set(CapitalInfo::getEnableFlag, 1). eq(CapitalInfo::getId, 12)); log.info("startHj succ"); System.out.println("startHj succ"); } } @ApiOperation(value = "定时每天18点关闭慧借") @Scheduled(cron = "0 0 18 * * ?") private void closeHj() { if ("kdn".equals(serverName)) { capitalInfoService.update(null, Wrappers.lambdaUpdate().set(CapitalInfo::getEnableFlag, 0). eq(CapitalInfo::getId, 12)); log.info("closeHj succ"); System.out.println("closeHj succ"); } }*/ }