实习工作之定时任务

需求:在当天晚上12点定时将过期数据的状态置为冻结状态

  1. 版本一代码实现[相当于是一个死代码,因为不能自动调度]
public void updateStatus() throws CommonException, ParseException {String date_str = "2023-07-01 00:00:00";Date expireTime = DateUtils.toDate(date_str);if(userCardMapper.countExpiredDate(userCardPageReqList,expireTime)<=0){throw ExceptionUtils.create(CenterErrorEnum.PROJECT_CODE_NOT_BLANK);}List<UserCard> userCards = userCardMapper.queryExpiredDate(expireTime);userCards = userCards.stream().map(userCard-> {userCard.setEquityUseStatus(EquityUseStatus.FREEZE_06);return userCard;}).collect(Collectors.toList());userCardMapper.updateStatus(userCards);}

mybatis的查询

<select id="countExpiredDate" resultType="java.lang.Integer">select count(*) from table<where>del_flag = 0<if test="expireTime != null">and expire_time &lt;= #{expireTime,VARCHAR=TIMESTAMP}</if></where></select><select id="queryExpiredDate" resultType="UserCard">select * from table2<where>del_flag = 0<if test="expireTime != null">and expire_time &lt;= #{expireTime,VARCHAR=TIMESTAMP}</if></where></select>
  1. 版本二的更新
    问题点:不能写死时间
    采用XxlJob任务调度中心调度
    首先设置时间,使用cron表达式设置定时时间
    在这里插入图片描述

然后设置过期任务

 @XxlJob("updateStatus")public ReturnT<String> updateStatus(String param) {log.info("===开始===");baseMapper.updateStatus();log.info("===结束===");return ReturnT.SUCCESS;}
<update id="updateStatus" >update tablesetstatus = '06' where status in ('00','01') expire_time &lt;= #{expireTime,VARCHAR=TIMESTAMP}</update>

扩充知识点

  1. Java日期操作
    格式转换器:SimpleDateFormate
SimpleDateFormat format1 = new SimpleDateFormat("yyyy/MM/dd HH:mm E");
Date now=new Date();
System.out.println(format1.format(now));out: 2022/10/12 14:28 星期三

String 转Date

String date_str = "2023-07-01 00:00:00";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date expireTime = simpleDateFormat.parse(date_str);
  1. Java实现定时任务[Timer类实现该方法]

https://blog.51cto.com/u_14152/6305966

  1. mybatis大于小于等格式

https://blog.csdn.net/p1830095583/article/details/116019413

在这里插入图片描述
4. sql查询日期

https://blog.csdn.net/qq_37075841/article/details/123117720

<select id="method" resultMap="BaseResultMap">select  *  from table_awhere date_format(create_time,'%Y-%m-%d') = #{createTime}
</select>
  1. java.util.Date 和 java.sql.Date区别

https://blog.csdn.net/Yuan_Hang723/article/details/109688772

java.util.Date通常情况下获取日期
java.sql.Date针对sql,只能获取日期,不能获取时间

  1. cron表达式

https://blog.csdn.net/weixin_42408447/article/details/117422084

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/1651.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云盘如何实现 大文件 秒上传?

文章目录 Intro极速上传的原因隐私保护 Intro 今天把几个软件上传到阿里云盘进行分享&#xff0c;文件大小将近1GB&#xff0c;按理说上传需要个2~3分钟吧。 之前上传一个压缩包看到上传速度大概是4~5MB/s。 但是我刚到别的软件看了一圈&#xff0c;回来发现文件居然已经上传…

华为云专家出品《从零到一•Python图像处理入门》电子书

《华为云云享.书库》系列电子书来啦&#xff01; 本系列电子书旨在帮助开发者成长&#xff0c;汇聚华为云内外部专家技术精华制作而成。 本书《从零到一•Python图像处理》是该系列电子书第3部。 我们在华为开发者即将到来之际&#xff0c;开放电子书免费下载。 点击下方链接…

AI时代,职场人如何转“危”为“机”

AIGC技术的蓬勃发展正在深刻影响着各行各业&#xff0c;关于AI是否会取代人类工作也引发了职场人的担忧。6月29日&#xff0c;奇富科技邀请祺邻HR发起人孙祺做客直播间&#xff0c;分享职场人在AI技术变革中如何应对挑战与机遇。孙祺认为&#xff0c;AI在当前阶段不会对工作产生…

深入了解 OkHttp 协议:优雅的网络请求框架

&#x1f604;作者简介&#xff1a; 小曾同学.com,一个致力于测试开发的博主⛽️&#xff0c;主要职责&#xff1a;测试开发、CI/CD 如果文章知识点有错误的地方&#xff0c;还请大家指正&#xff0c;让我们一起学习&#xff0c;一起进步。&#x1f60a; 座右铭&#xff1a;不想…

基于机器学习算法:朴素贝叶斯和SVM 分类-垃圾邮件识别分类系统(含Python工程全源码)

目录 前言总体设计系统整体结构图系统流程图 运行环境Python 环境安装pytesseract注册百度云账号 模块实现1. 数据模块2. 模型构建3. 附加功能 系统测试1. 文字邮件测试准确率2. 网页测试结果 工程源代码下载其它资料下载 前言 本项目采用朴素贝叶斯和支持向量机&#xff08;S…

2023网络安全 -- 正向连接与反向连接

一、正向连接&#xff0c;Linux服务器主动控制windows服务器 1、上传nc到windows服务器上运行 2、以管理员身份运行cmd 3、执行下面命令&#xff0c;监听任意来自8899端口的数据&#xff0c;等待服务器来连接 nc -e cmd -lvvp 8899 4、Linux服务器执行如下命令&#xff0c;i…

STM32模拟I2C获取TCS34725光学颜色传感器数据

STM32模拟I2C获取TCS34725光学颜色传感器数据 TCS34725是RGB三色颜色传感器&#xff0c;和TCS34727都属于TCS3472系列&#xff0c;在电气特性上略有差别&#xff0c;TCS34727相比TCS34725在I2C总线的访问电平上可以更低&#xff0c;而在I2C软件访问地址方面则一致。 TCS3472内…

一文了解云计算

目录 &#x1f34e;云服务 &#x1f34e;云计算类型 &#x1f352;公有云 &#x1f352;私有云 &#x1f352;混合云 &#x1f34e;云计算服务模式 &#x1f352;IaaS基础设施即服务 &#x1f352;PaaS平台即服务 &#x1f352;SaaS软件即服务 &#x1f352;三者之间区别 &…

十大基础算法

一、选择排序 过程简单描述&#xff1a; 首先&#xff0c;找到数组中最小的那个元素&#xff0c;其次&#xff0c;将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。其次&#xff0c;在剩下的元素中找到最小的元素&#xff0c;将它与数组的第二…

Python打包工具 Pyinstaller使用教程(将.py以及Python解释器和相关库打包可执行文件)

文章目录 pyinstaller历史背景工作原理使用方法简介使用方法详解&#xff08;请仔细阅读help文档中文翻译&#xff09;help文档help文档中文翻译 简单使用示例1. 编译打包2. 拷贝到目标系统3. 运行&#xff08;遇到问题&#xff09; 如何使用xxx.spec文件重新编译配置项示例配置…

Nginx HTTPS实践

Nginx HTTPS实践 文章目录 Nginx HTTPS实践1.HTTPS基本概述1.1.为何需要HTTPS1.2.什么是HTTPS1.3.TLS如何实现加密 2.HTTPS实现原理2.1.加密模型-对称加密2.2.加密模型-非对称加密2.3.身份验证机构-CA2.4.HTTPS通讯原理 3.HTTPS扩展知识3.1.HTTPS证书类型3.2.HTTPS购买建议3.3.…

MySQL压测实战

写作目的 最近看到一句话是MySQL的TPS是4000&#xff0c;这句话是不严谨的&#xff0c;因为没有说服务器的配置。所以自己买了个服务器做了一个压测。希望自己对数据有一个概念。 注意&#xff1a;服务器不同结果不同&#xff0c;结果不具有普适性。 服务器配置 配置参数CPU…