有个需求是,给一个产品配置价格的生效时间 比如设置 3 月 29 日价格是 50 元,4 月 1 日是 100 元,4 月 10 号是 150 元 这三个生效时间都写进数据了 现在是 3 月 29 日,这个是生效的,状态为 1 ;到 4 月 1 日 0 点 00 分,100 元的价格生效状态置为 1,3 月 29 日的价格失效,状态自动修改为 0 。
这个定时任务怎么实现呢?是不是写 sql 存储过程就可以了?数据库是 mysql
1
xuanbg 2020-03-29 00:42:10 +08:00
这个需求要什么定时任务?直接用当前时间做条件查询出当前生效的价格不行吗?
|
2
mzsongyan 2020-03-29 00:42:59 +08:00 via iPhone
最简单的,根据当前时间判断,满足哪个条件展示哪个价格
|
3
findlisa OP @xuanbg 要呀,价格会根据日期自动生效,感觉要个监听器什么的,因为价格我可以一次设置很多条,让它自己走
|
5
findlisa OP 现在打算这样做,设个 spring 定时任务,每天凌晨检查一遍所有价格,若有日期等于今天,修改该产品价格状态为 1,同时将上一个价格状态修改为 0 。。。
|
7
sarices 2020-03-29 01:12:57 +08:00
这个跟定时任务没关系吧,根据服务器当前日期返回价格就好了啊
|
8
Mirana 2020-03-29 01:16:38 +08:00
把时间和数额 encode 成价格
|
9
liyunlong41 2020-03-29 01:44:34 +08:00 via iPhone
感觉调用查询价格接口时根据当前时间判断价格即可。
|
10
kaiki 2020-03-29 01:47:14 +08:00
也有可能是楼主的接口不能动,只能动数据,所以才需要一个外部的处理来根据时间修改价格?
|
11
123444a 2020-03-29 02:09:46 +08:00 via Android
电商没有一家使用定时任务改价格的,promotion 是独立信息
|
12
crab 2020-03-29 03:53:57 +08:00
查询调取价格的时候带入时间条件
|
13
coderEOS 2020-03-29 07:28:24 +08:00 via Android
gem whenever
|
14
zhou00 2020-03-29 10:20:22 +08:00 via Android
用线程池异步执行 Task 任务,执行完成再插入一条下次需要执行的任务,以此类推,上家电商平台,修改状态什么的就是这么做的,仅供参考
|
15
siweipancc 2020-03-29 10:27:56 +08:00 via iPhone
quartz.
|
17
amao1021 2020-03-29 12:37:51 +08:00
在数据表里面先把每个日期要改变的价格写好,然后用定时任务去读取这个表,如果当前系统时间大于这个计划变更的时间了,就把价格改过来
|