package io.renren.modules.job.controller; import io.renren.modules.job.entity.ScheduleJobEntity; import io.renren.modules.job.service.ScheduleJobService; import io.renren.common.utils.PageUtils; import io.renren.common.utils.Query; import io.renren.common.utils.R; import io.renren.common.annotation.SysLog; import io.renren.common.validator.ValidatorUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; /** * 定时任务 * * @author chenshun * @email sunlightcs@gmail.com * @date 2016年11月28日 下午2:16:40 */ @RestController @RequestMapping("/sys/schedule") public class ScheduleJobController { @Autowired private ScheduleJobService scheduleJobService; /** * 定时任务列表 */ @RequestMapping("/list") @RequiresPermissions("sys:schedule:list") public R list(@RequestParam Map params){ //查询列表数据 Query query = new Query(params); List jobList = scheduleJobService.queryList(query); int total = scheduleJobService.queryTotal(query); PageUtils pageUtil = new PageUtils(jobList, total, query.getLimit(), query.getPage()); return R.ok().put("page", pageUtil); } /** * 定时任务信息 */ @RequestMapping("/info/{jobId}") @RequiresPermissions("sys:schedule:info") public R info(@PathVariable("jobId") Long jobId){ ScheduleJobEntity schedule = scheduleJobService.queryObject(jobId); return R.ok().put("schedule", schedule); } /** * 保存定时任务 */ @SysLog("保存定时任务") @RequestMapping("/save") @RequiresPermissions("sys:schedule:save") public R save(@RequestBody ScheduleJobEntity scheduleJob){ ValidatorUtils.validateEntity(scheduleJob); scheduleJobService.save(scheduleJob); return R.ok(); } /** * 修改定时任务 */ @SysLog("修改定时任务") @RequestMapping("/update") @RequiresPermissions("sys:schedule:update") public R update(@RequestBody ScheduleJobEntity scheduleJob){ ValidatorUtils.validateEntity(scheduleJob); scheduleJobService.update(scheduleJob); return R.ok(); } /** * 删除定时任务 */ @SysLog("删除定时任务") @RequestMapping("/delete") @RequiresPermissions("sys:schedule:delete") public R delete(@RequestBody Long[] jobIds){ scheduleJobService.deleteBatch(jobIds); return R.ok(); } /** * 立即执行任务 */ @SysLog("立即执行任务") @RequestMapping("/run") @RequiresPermissions("sys:schedule:run") public R run(@RequestBody Long[] jobIds){ scheduleJobService.run(jobIds); return R.ok(); } /** * 暂停定时任务 */ @SysLog("暂停定时任务") @RequestMapping("/pause") @RequiresPermissions("sys:schedule:pause") public R pause(@RequestBody Long[] jobIds){ scheduleJobService.pause(jobIds); return R.ok(); } /** * 恢复定时任务 */ @SysLog("恢复定时任务") @RequestMapping("/resume") @RequiresPermissions("sys:schedule:resume") public R resume(@RequestBody Long[] jobIds){ scheduleJobService.resume(jobIds); return R.ok(); } }