package se.cloud.analysis.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import se.cloud.analysis.dao.TaskDao; import se.cloud.analysis.domain.Event; import se.cloud.analysis.domain.Task; import se.cloud.analysis.vo.TaskDetailVO; import java.util.Date; import java.util.List; @Service public class TaskService { @Autowired private TaskDao taskDao; @Autowired private EventService eventService; public List getTaskList(String email) { return taskDao.getTaskByEmail(email); } public Task getTaskById(int taskId) { return taskDao.getTaskById(taskId); } public boolean addTask(Task task) { // TODO 事务实现 Date start = task.getStart(); Date end = task.getEnd(); Event startEvent = new Event(); startEvent.setUserEmail(task.getUserEmail()); startEvent.setDescription("创建"); startEvent.setTaskName(task.getTaskName()); startEvent.setTime(start); startEvent.setType("task"); Event endEvent = new Event(); endEvent.setUserEmail(task.getUserEmail()); endEvent.setDescription("结束"); endEvent.setType("task"); endEvent.setTime(end); endEvent.setTaskName(task.getTaskName()); int startEventRes = eventService.addEvent(startEvent); int endEventRes = eventService.addEvent(endEvent); int taskRes = taskDao.insert(task); return startEventRes + endEventRes + taskRes == 3; } public int updateTask(Task task) { return taskDao.update(task); } public int deleteTask(int taskId) { return taskDao.deleteById(taskId); } public Task getTaskByEmailAndName(String email, String name) { return taskDao.getTaskByEmailAndName(email, name); } public TaskDetailVO getTaskDetail(String email, int id) { Task task = getTaskById(id); List events = eventService.getTaskEventList(email, task.getTaskName()); TaskDetailVO taskDetailVO = new TaskDetailVO(); taskDetailVO.setEvents(events); taskDetailVO.setTask(task); return taskDetailVO; } }