有一个功能需求如下:
1、设置的时间段内自动上架,时间段结束自动变为下架状态
2、同时还可以手动点击上下架操作
如:(1)设置时间段为2019-02-03 9:00:00至2019-02-04 10:00:00之间,为上架状态;(2)在2019-02-03 18:00:00如果点击下架,状态需要改为下架,同时结束时间更改为2019-02-03 16:00:00;(3)此时再点击上架,状态一直为上架状态,直到点击下架才会改变状态,不受时间段影响
该功能如何使用java实现?
1,定时任务扫描业务表,进行自动上下架,更改状态时,需要增加操作类型(0-自动,1-手动)
2,在页面操作上下架操作,更改状态时,同样增加操作类型(0-自动,1-手动)
3,规则:手动优先级高于自动(手动下架的不可自动上架,手动上架的不可自动下架)
简单点实现,1:定时任务扫描进行自动上下架;
2:可以考虑与1使用同一接口,也可区分开。页面进行手动触发;
如需考虑冲突问题,同一接口事物加锁;不同接口可使用乐观锁等