package com.yihu.jw.care.web; import com.yihu.jw.care.job.QuartzHelper; import com.yihu.jw.care.service.JobService; import com.yihu.jw.restmodel.web.ObjEnvelop; import io.swagger.annotations.Api; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; /** * 任务启动 * * @author chenweida */ @RestController @RequestMapping(value = "/job", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) @Api(description = "后台-任务控制") public class JobController extends BaseController { private org.slf4j.Logger logger = LoggerFactory.getLogger(JobController.class); private final JobService jobService; private final QuartzHelper quartzHelper; @Autowired public JobController(JobService jobService, QuartzHelper quartzHelper) { this.jobService = jobService; this.quartzHelper = quartzHelper; } @RequestMapping(value = "removeJob", method = RequestMethod.GET) public String removeJob(String taskId) { try { if(quartzHelper.isExistJob(taskId)){ quartzHelper.removeJob(taskId); return success("删除成功!"); } return success("删除成功!"); } catch (Exception e) { error(e); return invalidUserException(e, -1, "删除失败:" + e.getMessage()); } } @RequestMapping(value = "getCalendar", method = RequestMethod.GET) public ObjEnvelop getCalendar() throws Exception{ return success(quartzHelper.getCalendar()); } @RequestMapping(value = "isExist", method = RequestMethod.GET) public String isExist(String taskId) { try { if(quartzHelper.isExistJob(taskId)){ return success("job已经存在!"); } return success("job不存在!"); } catch (Exception e) { error(e); return invalidUserException(e, -1, "执行失败:" + e.getMessage()); } } @RequestMapping(value = "reStartById", method = RequestMethod.GET) public String reStartById(String taskId) { try { if(quartzHelper.isExistJob(taskId)){ quartzHelper.removeJob(taskId); } switch(taskId){ // case "data_device_quality_plan_job": // if (!quartzHelper.isExistJob("data_device_quality_plan_job")) { // String trigger = SystemConf.getInstance().getSystemProperties().getProperty("data_device_quality_plan_job"); // quartzHelper.addJob(DeviceQualityPlanJob.class, trigger, "data_device_quality_plan_job", new HashMap()); // logger.info("data_device_quality_plan_job job success"); // } else { // logger.info("data_device_quality_plan_job job exist"); // } // break; // case "data_sim_Balance_remind_job": // if (!quartzHelper.isExistJob("data_sim_Balance_remind_job")) { // String trigger = simBalanceService.getCron(); // quartzHelper.addJob(SimBalanceJob.class, trigger, "data_sim_Balance_remind_job", new HashMap()); // logger.info("data_sim_Balance_remind_job job success"); // } else { // logger.info("data_sim_Balance_remind_job job exist"); // } // break; // case "data_sim_set_meal_job": // if (!quartzHelper.isExistJob("data_sim_set_meal_job")) { // String trigger = simBalanceService.getCron(); // quartzHelper.addJob(SimSetMealJob.class, trigger, "data_sim_set_meal_job", new HashMap()); // logger.info("data_sim_set_meal_job job success"); // } else { // logger.info("data_sim_set_meal_job job exist"); // } // break; default : } return success("启动成功!"); } catch (Exception e) { error(e); return invalidUserException(e, -1, "启动失败:" + e.getMessage()); } } /** * 生成过去几天的数据 * * @param day * @return */ @RequestMapping(value = "productDataByDay", method = RequestMethod.GET) public String productDataByDay(Integer day) { try { jobService.productDataByDay(day); return success("启动成功!"); } catch (Exception e) { error(e); return invalidUserException(e, -1, "启动失败:" + e.getMessage()); } } /** * 生成过去某一天的全部的数据 * * @param day * @return */ @RequestMapping(value = "productDataByOneDay", method = RequestMethod.GET) public String productDataByOneDay(String day) { try { jobService.productDataByOneDay(day); return success("启动成功!"); } catch (Exception e) { error(e); return invalidUserException(e, -1, "启动失败:" + e.getMessage()); } } /** * 生成过去某一天的某一个指标的数据 * * @param day * @return */ @RequestMapping(value = "productDataByOneDayWithId", method = RequestMethod.GET) public String productDataByOneDayWithId(String day, String id) { try { jobService.productDataByOneDayWithId(day, id); return success("启动成功!"); } catch (Exception e) { error(e); return invalidUserException(e, -1, "启动失败:" + e.getMessage()); } } /** * 生成过去某几天的某一个指标的数据 * * @param day * @return */ @RequestMapping(value = "productDataByDayAndId", method = RequestMethod.GET) public String productDataByDayAndId(Integer day, String id) { try { jobService.productDataByDayAndId(day, id); return success("启动成功!"); } catch (Exception e) { error(e); return invalidUserException(e, -1, "启动失败:" + e.getMessage()); } } /** * 启动任务 * * @param id id * @return */ @RequestMapping(value = "startById", method = RequestMethod.GET) public String startById(String id) { try { jobService.startById(id); return success("启动成功!"); } catch (Exception e) { error(e); return invalidUserException(e, -1, "启动失败:" + e.getMessage()); } } /** * 停止任务 * * @param id id * @return */ @RequestMapping(value = "stopById", method = RequestMethod.GET) public String stopById(String id) { try { jobService.stopById(id); return success("停止成功!"); } catch (Exception e) { error(e); return invalidUserException(e, -1, "启动失败:" + e.getMessage()); } } /** * 停止所有任务 * * @return */ @RequestMapping(value = "stopAll", method = RequestMethod.GET) public String stopAll() { try { jobService.stopAll(); return success("停止成功!"); } catch (Exception e) { error(e); return invalidUserException(e, -1, "启动失败:" + e.getMessage()); } } /** * 启动所有任务 * * @return */ @RequestMapping(value = "startAll", method = RequestMethod.GET) public String startAll() { try { jobService.startAll(); return success("启动成功!"); } catch (Exception e) { error(e); return invalidUserException(e, -1, "启动失败:" + e.getMessage()); } } }