package com.xt.dsp.controller; import java.util.List; import org.h2.util.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.xt.dsp.common.util.CommonUtil; import com.xt.dsp.model.TaskBean; import com.xt.dsp.service.TaskRun; import com.xt.dsp.service.TaskService; import com.xt.dsp.service.TaskSqlService; import com.xt.dsp.vo.TaskVo; import com.yuanxd.tools.io.http.JsonResult; import com.yuanxd.tools.pagehelper.PageHelper; import com.yuanxd.tools.pagehelper.PageInfo; @Controller @RequestMapping("task") public class TaskCtl { @Autowired private TaskService taskService; @Autowired private TaskSqlService taskSqlService; @RequestMapping("run/{code}") @ResponseBody public JsonResult runTask(@PathVariable String code, String condition) { TaskBean task = taskService.selectByCode(code); JsonResult result = new JsonResult(); if (task == null) { result.setSuccess(false); result.setMessage("任务不存在:" + code); return result; } if (TaskBean.TYPE_SQL.equals(task.getType())) { int res = -1; try { if (taskSqlService instanceof TaskRun) { res = ((TaskRun) taskSqlService).runTask(task, condition); } } catch (Exception e) { e.printStackTrace(); result.setSuccess(false); result.setMessage(e.getMessage()); return result; } if (res == 0) { result.setSuccess(true); return result; } } result.setSuccess(false); return result; } /** * 主画面 * * @return */ @RequestMapping("main") public String main() { return "rwgl/task/task"; } /** * 初始化页面加载数据 */ @RequestMapping("initTask") @ResponseBody public PageInfo initTask(Model model, TaskVo vo) { // 初始化参数 if (vo.getPage() < 1) { vo.setPage(1); } if (vo.getRows() < 1) { vo.setRows(1); } PageHelper.startPage(vo.getPage(), vo.getRows()); List list = taskService.selectAll(); PageInfo pageResult = new PageInfo<>(list); return pageResult; } /** * 保存实体 * * @param vo * @return */ @RequestMapping("save") @ResponseBody public TaskBean saveTask(Model model, TaskVo vo) { TaskBean saveBean = new TaskBean(); // 新增 if (StringUtils.isNullOrEmpty(vo.getId())) { BeanUtils.copyProperties(vo, saveBean); saveBean.setId(CommonUtil.getUUID()); taskService.insert(saveBean); } else { // 修改 saveBean = taskService.selectByPrimaryKey(vo.getId()); saveBean.setName(vo.getName()); saveBean.setCode(vo.getCode()); saveBean.setJobCode(vo.getJobCode()); saveBean.setType(vo.getType()); saveBean.setCacheFolder(vo.getCacheFolder()); saveBean.setCacheUse(vo.getCacheUse()); taskService.updateByPrimaryKey(saveBean); } return saveBean; } /** * 初始化页面加载数据 */ @RequestMapping("initEditTask") @ResponseBody public TaskBean initEditTask(Model model, String id) { TaskBean bean = taskService.selectByPrimaryKey(id); return bean; } /** * 删除数据 */ @RequestMapping("delTask") @ResponseBody public int delTask(Model model, String ids) { int cnt = taskService.deleteByPrimaryKey(ids); return cnt; } /** * 获取任务下拉数据 */ @RequestMapping("getTaskForDdl") @ResponseBody public List getTaskForDdl(Model model) { List list = taskService.selectAll(); return list; } }