package com.cy.pj.activity.service.impl;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.cy.pj.activity.dao.ActivityDao;
import com.cy.pj.activity.pojo.Activity;
import com.cy.pj.activity.service.ActivityService;
@Service // 扩占功能
public class ActivityServiceImpl implements ActivityService {
@Autowired
private ActivityDao activityDao;
@Override
public List<Activity> findActivitys() {
// TODO Auto-generated method stub
return activityDao.findActivitys();
}
@Override
public int saveObject(Activity entity) {
// TODO Auto-generated method stub
int rows= activityDao.insertObject(entity);
// 希望时间到了(endTime)自动修改活动状态
// 解决方案:基于任务调度去实现任务调度-基于时间的设计自动执行任务)
// 1借助java中的Timer对象去实现
// ###任务###调度任务###调度任务###调度任务###调度任务调度任务调度任务调度任务调度
Timer timer = new Timer();// 此对象创建时会在底层启动一个线程。通过此县城对时间进行监控
// 里面的类型是timerTask类型所以要newTimerTask
timer.schedule(new TimerTask() {
@Override
public void run() {
// 此位置修改活动的状态信息
System.out.println("开始任务调度的执行");
//经过映射获取到了id的值直接getId就行了
activityDao.updateState(entity.getId());
timer.cancel();//结束调度任务//cancel砍搜
}
}, entity.getEndTime());// 通过entity调用getEndTime方法
// 在此位置修改活动的状态信息
// 2借助java线程池中的任务调度对象去实现(ScheduledExecutorService)去实现
// 3借助第三方框架去实现
return rows;// 直接返回这个值了
}
// ###任务###调度任务###调度任务###调度任务###调度任务调度任务调度任务调度任务调度
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。