news 2026/4/22 15:45:44

基于 XXL-JOB 3.x 实现7天、15天、30天 三个时间节点的自动提醒

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于 XXL-JOB 3.x 实现7天、15天、30天 三个时间节点的自动提醒

数据库

数据

INSERT INTO `test3`.`overdue_record`(`id`,`business_no`,`customer_id`,`customer_name`,`customer_email`,`customer_phone`,`due_date`,`overdue_amount`,`overdue_days`,`reminded_7_days`,`reminded_15_days`,`reminded_30_days`,`status`,`create_time`,`update_time`)VALUES(1,'ORD20240101001',1001,'张三','zhangsan@example.com', '13800138000', '2025-12-20',1000.00,8,0,0,0,0,'2025-12-2816:11:22', '2025-12-2817:27:55');INSERT INTO `test3`.`overdue_record`(`id`,`business_no`,`customer_id`,`customer_name`,`customer_email`,`customer_phone`,`due_date`,`overdue_amount`,`overdue_days`,`reminded_7_days`,`reminded_15_days`,`reminded_30_days`,`status`,`create_time`,`update_time`)VALUES(2,'ORD20240101002',1002,'李四','lisi@example.com', '13800138001', '2025-12-12',2000.00,16,0,0,0,0,'2025-12-2816:11:22', '2025-12-2817:27:55');INSERT INTO `test3`.`overdue_record`(`id`,`business_no`,`customer_id`,`customer_name`,`customer_email`,`customer_phone`,`due_date`,`overdue_amount`,`overdue_days`,`reminded_7_days`,`reminded_15_days`,`reminded_30_days`,`status`,`create_time`,`update_time`)VALUES(3,'ORD20240101003',1003,'王五','wangwu@example.com', '13800138002', '2025-11-27',3000.00,31,0,0,0,0,'2025-12-2816:11:22', '2025-12-2817:27:55');

mapper

<update id="updateDueDate">UPDATE overdue_recordSEToverdue_days=DATEDIFF(CURDATE(),due_date),update_time=NOW()WHEREstatus=0</update><select id="overdueSeven"resultType="ho.entity.OverdueSevenRecord">SELECTid,business_no,customer_name,customer_email,customer_phone,due_date,overdue_amount,reminded_seven_days,reminded_fifteen_days,reminded_thirty_days,status FROM overdue_record WHERE//根据due_date查出逾期大于7天小于15天的数据DATEDIFF(CURDATE(),due_date)>=7ANDDATEDIFF(CURDATE(),due_date)&lt;15ANDstatus=0ANDreminded_seven_days=0</select>

service
调用接口推送数据

@Service@Slf4jpublicclassOverdueRecordServiceImplextendsServiceImpl<OverdueRecordMapper,OverdueRecord>implementsIOverdueRecordService{@ResourceprivateOverdueRecordMapperoverdueRecordMapper;@OverridepublicList<OverdueRecord>overDueSeven(){// 更新逾期天数overdueRecordMapper.updateDueDate();List<OverdueSevenRecord>overdueSevenRecords=overdueRecordMapper.overdueSeven();List<OverdueRecord>overdueRecords=overdueSevenRecords.stream().map(e->{OverdueRecordoverdueRecord=newOverdueRecord();BeanUtil.copyProperties(e,overdueRecord,false);returnoverdueRecord;}).collect(Collectors.toList());intsuccessCount=0;intfailCount=0;for(OverdueRecordoverdueRecord:overdueRecords){//try{// 发送提醒booleansent=this.sendReminder(overdueRecord,7);if(sent){// 标记已发送overdueRecord.setRemindedSevenDays(true);overdueRecordMapper.updateById(overdueRecord);successCount++;log.info("成功发送7天提醒,业务编号:{}",overdueRecord.getBusinessNo());}else{failCount++;log.warn("发送7天提醒失败,业务编号:{}",overdueRecord.getBusinessNo());}}catch(Exceptione){failCount++;log.error("发送7天提醒异常,业务编号:{},错误:{}",overdueRecord.getBusinessNo(),e.getMessage(),e);}}returnnull;}privatebooleansendReminder(OverdueRecordoverdueRecord,intdays){//returntrue;}}

上门面仅展示了逾期7天的,逾期15、30的也是一样的,根据数据库字段查数据,然后调用推送接口,要自动发送用@XxlJob(“xxx”)即可

逾期15的sql是

DATEDIFF(CURDATE(),due_date)>=15ANDDATEDIFF(CURDATE(),due_date)<30

逾期30的sql是

DATEDIFF(CURDATE(),due_date)>=30
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 14:51:18

day 40

浙大疏锦行

作者头像 李华
网站建设 2026/4/18 20:09:14

Docker Compose编排多个PyTorch服务实现负载均衡

Docker Compose编排多个PyTorch服务实现负载均衡 在AI模型服务化部署的实践中&#xff0c;一个常见的挑战是&#xff1a;如何让深度学习推理接口既能稳定响应高并发请求&#xff0c;又能充分利用GPU资源&#xff1f;传统的单实例部署往往在流量激增时出现延迟飙升甚至服务崩溃。…

作者头像 李华
网站建设 2026/4/18 9:59:03

Jupyter Notebook转Python脚本自动化PyTorch训练任务

Jupyter Notebook转Python脚本自动化PyTorch训练任务 在深度学习项目中&#xff0c;一个常见的开发模式是&#xff1a;研究人员先在 Jupyter Notebook 中快速验证模型结构、调试数据流程&#xff0c;等到实验稳定后&#xff0c;再将代码迁移到生产环境进行大规模、自动化的训练…

作者头像 李华
网站建设 2026/4/21 18:42:10

Dockerfile定制你的PyTorch-CUDA个性化镜像版本

Dockerfile定制你的PyTorch-CUDA个性化镜像版本 在深度学习项目中&#xff0c;最让人头疼的往往不是模型设计或训练调参&#xff0c;而是环境配置——“在我机器上是好的”这句话几乎成了团队协作中的黑色幽默。你有没有经历过这样的场景&#xff1a;花了一整天装CUDA、cuDNN、…

作者头像 李华
网站建设 2026/4/20 10:22:50

食堂校园预约就餐小程序毕设源码(源码+lw+部署文档+讲解等)

博主介绍&#xff1a;✌ 专注于VUE,小程序&#xff0c;安卓&#xff0c;Java,python,物联网专业&#xff0c;有18年开发经验&#xff0c;长年从事毕业指导&#xff0c;项目实战✌选取一个适合的毕业设计题目很重要。✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、…

作者头像 李华
网站建设 2026/4/15 8:19:16

CUDA安装不再难:PyTorch-CUDA-v2.6镜像帮你省去90%时间

CUDA安装不再难&#xff1a;PyTorch-CUDA-v2.6镜像帮你省去90%时间 在深度学习项目中&#xff0c;你是否曾经历过这样的场景&#xff1f;刚拿到一块高性能GPU服务器&#xff0c;满心期待地准备训练模型&#xff0c;结果花了整整两天才让 torch.cuda.is_available() 返回 True。…

作者头像 李华