修改活动状态字典,将之前的数据键值为 0 的数据标签内容改为 过期
:
更改下数据库的描述,禁用改为过期:
ALTER TABLE `tienchin_activity`
MODIFY COLUMN `activity_status` int NULL DEFAULT NULL COMMENT '活动状态,0.表示过期、1.表示正常' AFTER `activity_type`;
/**
* 活动状态,0.表示过期、1.表示正常
*/
private Integer activityStatus;
编写一个将超过当前时间的活动状态设置为禁用,在列表查询的时候进行更改一下调用一下方法。
@Override
public List<ActivityVO> selectActivityList() {
// 将超过当前时间的活动状态设置为禁用
expireActivity();
return activityMapper.selectActivityList();
}
/**
* 将超过当前时间的活动状态设置为禁用
*/
private void expireActivity() {
UpdateWrapper<Activity> uw = new UpdateWrapper<>();
// 将原本状态为正常的活动状态为1,并且 endTime 小于当前时间的活动状态设置为过期
uw.lambda()
.set(Activity::getActivityStatus, 0)
.eq(Activity::getActivityStatus, 1)
.lt(Activity::getEndTime, LocalDateTime.now());
update(uw);
}