|
|
|
@ -31,6 +31,7 @@ public class RechargeActivityCenterServiceImpl implements RechargeActivityCenter |
|
|
|
// 根据ID查询活动 |
|
|
|
@Override |
|
|
|
public PageInfo<RechargeActivity> queryActivity(Integer pageNum, Integer pageSize, RechargeActivity activity) { |
|
|
|
updateStatus(); |
|
|
|
PageHelper.startPage(pageNum, pageSize); |
|
|
|
List<RechargeActivity> activityList = rechargeActivityCenterMapper.queryActivity(activity); |
|
|
|
return new PageInfo<>(activityList); |
|
|
|
@ -82,6 +83,49 @@ public class RechargeActivityCenterServiceImpl implements RechargeActivityCenter |
|
|
|
rechargeActivityCenterMapper.updateActivity(activity); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void updateStatus() { |
|
|
|
// 查询所有活动 |
|
|
|
List<RechargeActivity> activityList = rechargeActivityCenterMapper.listActivities(); |
|
|
|
|
|
|
|
if (activityList == null || activityList.isEmpty()) { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
Date now = new Date(); |
|
|
|
|
|
|
|
// 遍历所有活动,更新状态 |
|
|
|
for (RechargeActivity activity : activityList) { |
|
|
|
Date startTime = activity.getStartTime(); |
|
|
|
Date endTime = activity.getEndTime(); |
|
|
|
|
|
|
|
// 跳过时间为空的活动 |
|
|
|
if (startTime == null || endTime == null) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
String newStatus; |
|
|
|
|
|
|
|
// 时间范围判断,设置对应状态 |
|
|
|
if (now.before(startTime)) { |
|
|
|
// 当前时间 < 开始时间 → 未开始(状态0) |
|
|
|
newStatus = "0"; |
|
|
|
} else if (now.after(endTime)) { |
|
|
|
// 当前时间 > 结束时间 → 已结束(状态2) |
|
|
|
newStatus = "2"; |
|
|
|
} else { |
|
|
|
// 开始时间 ≤ 当前时间 ≤ 结束时间 → 进行中(状态1) |
|
|
|
newStatus = "1"; |
|
|
|
} |
|
|
|
|
|
|
|
// 只有当状态发生变化时才更新 |
|
|
|
if (!newStatus.equals(activity.getStatus())) { |
|
|
|
activity.setStatus(newStatus); |
|
|
|
rechargeActivityCenterMapper.updateActivity(activity); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 删除活动 |
|
|
|
@Override |
|
|
|
public void deleteActivity(RechargeActivity activity) { |
|
|
|
|