yun-zuoyi
wei.peng 6 years ago
commit b9b8484a1a

@ -0,0 +1,79 @@
package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SysRefTaskCyclePlan;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskCycle;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @Date : 2018-10-22 16:58:43.771
* @Modify :
**/
public interface ISysTaskCycleService {
/**
*
* @param sysTaskCycle
*/
@ApiOperation(value = "修改任务周期",notes = "修改任务周期")
void updateSysTaskCycle(SysTaskCycle sysTaskCycle);
/**
* id
* @param id
*/
@ApiOperation(value = "删除任务周期",notes = "根据id删除任务周期")
void deleteSysTaskCycleById(Long id);
/**
*
* @param sysTaskCycle
* @return
*/
@ApiOperation(value = "新增任务周期",notes = "新增任务周期")
SysTaskCycle insertSysTaskCycle(SysTaskCycle sysTaskCycle);
/**
*
* @return
*/
@ApiOperation(value = "查询所有任务周期信息",notes = "查询所有任务周期信息")
List<SysTaskCycle> listSysTaskCycle();
/**
* ID
* @param id
* @return
*/
@ApiOperation(value = "根据ID 查询任务周期",notes = "根据ID 查询任务周期")
SysTaskCycle getSysTaskCycleById(Long id);
/**
*
* @param sysTaskCycle
* @param pager
* @return
*/
@ApiOperation(value = "任务周期查询,分页,排序",notes = "任务周期查询,分页,排序")
ListPager querySysTaskCycleByPager(SysTaskCycle sysTaskCycle, Pager pager);
/**
*
* @param ids
*/
@ApiOperation(value = "根据id批量删除任务周期",notes = "根据id批量删除任务周期")
void deleteSysTaskCycleByIds(Long[] ids);
/**
*
* @return
*/
@ApiOperation(value = "根据任务周期id查询相关任务计划信息",notes = "根据任务周期id查询相关任务计划信息")
List<SysRefTaskCyclePlan> findRefTaskCyclePlanByCycleId(Long cycleId);
}

@ -0,0 +1,110 @@
package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysTask;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskPlan;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskCycle;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @Date : 2018-12-26 22:08
* @Modify :
**/
public interface ISysTaskPlanService {
/**
*
* @param sysTaskPlan
* @param sysTaskCycle
* @param sysTask
* @return
*/
@ApiOperation(value = "新增任务计划",notes = "新增任务计划")
SysTaskPlan insertSysTaskPlan(SysTaskPlan sysTaskPlan, SysTaskCycle sysTaskCycle, SysTask sysTask);
/**
*
* @param sysTaskPlan
* @param sysTaskCycle
*/
@ApiOperation(value = "修改任务计划",notes = "修改任务计划")
void updateSysTaskPlan(SysTaskPlan sysTaskPlan, SysTaskCycle sysTaskCycle);
/**
*
* @param id ID
* @param status
* @param user
*/
@ApiOperation(value = "修改任务计划状态",notes = "修改任务计划状态")
void updateSysTaskPlanStatus(Long id, int status, SessionUser user);
/**
* id
* @param id
*/
@ApiOperation(value = "根据根据id删除数据")
void deleteSysTaskPlanById(Long id);
/**
*
* @return
*/
@ApiOperation(value = "查询所有任务计划")
List<SysTaskPlan> listSysTaskPlan();
/**
* id
* @param id
* @return
*/
@ApiOperation(value = "根据id查询任务计划数据",notes = "根据id查询任务计划数据")
SysTaskPlan getSysTaskPlanById(Long id);
/**
*
* @param sysTaskPlan
* @param pager
* @return
*/
@ApiOperation(value = "任务计划复杂查询,分页,排序",notes = "任务计划复杂查询,分页,排序")
ListPager querySysTaskPlanByPager(SysTaskPlan sysTaskPlan, Pager pager);
/**
*
* @param sysTaskPlan
*/
@ApiOperation(value = "立即执行任务计划",notes = "立即执行任务计划")
void executeSysTaskPlan(SysTaskPlan sysTaskPlan);
/**
*
* @param name
* @param groupName
* @return
*/
@ApiOperation(value = "查询任务计划",notes = "根据任务计划名称与组名称查询")
SysTaskPlan getSysTaskPlanByNameAndGroup(String name, String groupName);
/**
*
* @param sysLogTaskTime
*/
@ApiOperation(value = "添加任务计划执行日志",notes = "添加任务计划执行日志")
void logInsertSysLogTaskTime(SysLogTaskTime sysLogTaskTime);
/**
* quartz
* @param sysTaskPlan
*/
@ApiOperation(value = "修改任务计划信息",notes = "修改任务计划信息不会更新quartz数据库")
void updateSysTaskPlan(SysTaskPlan sysTaskPlan);
}

@ -0,0 +1,73 @@
package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SysTask;
import io.swagger.annotations.ApiOperation;
import org.springframework.data.domain.Page;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2018-12-26 21:17
* @Modify:
**/
public interface ISysTaskService {
/**
*
* @param sysTask
* @return
*/
@ApiOperation(value = "添加任务",notes = "添加任务")
SysTask insertSysTask(SysTask sysTask);
/**
*
* @param sysTask
* @return
*/
@ApiOperation(value = "修改任务信息",notes = "修改任务信息")
void updateSysTask(SysTask sysTask);
/**
*
* @return
*/
@ApiOperation(value = "查询所有任务",notes = "查询所有任务")
List<SysTask> listSysTask();
/**
* id
* @param id
* @return
*/
@ApiOperation(value = "根据id查询任务信息",notes = "根据id查询任务信息")
SysTask getSysTaskById(Long id);
/**
* id
* @param id
*/
@ApiOperation(value = "删除任务",notes = "根据id删除任务")
void deleteSysTaskById(Long id);
/**
* id
* @param ids
*/
@ApiOperation(value = "删除任务",notes = "根据id批量删除任务")
void deleteSysTaskByIds(Long[] ids);
/**
*
* @param sysTask
* @param pager
* @return
*/
@ApiOperation(value = "任务管理复杂查询,分页,排序",notes = "任务管理复杂查询,分页,排序")
ListPager<SysTask> querySysTaskByPager(SysTask sysTask, Pager pager);
}

@ -1,79 +0,0 @@
package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SysRefExpressionTrigger;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTimeExpression;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @Date : 2018-10-22 16:58:43.771
* @Modify :
**/
public interface ISysTaskTimeExpressionService {
/**
*
* @param taskTimeExpression
*/
@ApiOperation(value = "修改数据")
void updateSysTaskTimeExpression(SysTaskTimeExpression taskTimeExpression);
/**
* id
* @param id
*/
@ApiOperation(value = "根据id删除数据")
void deleteSysTaskTimeExpressionById(Long id);
/**
*
* @param taskTimeExpression
* @return
*/
@ApiOperation(value = "新增数据")
SysTaskTimeExpression insertSysTaskTimeExpression(SysTaskTimeExpression taskTimeExpression);
/**
*
* @return
*/
@ApiOperation(value = "查询所有数据")
List<SysTaskTimeExpression> listSysTaskTimeExpression();
/**
* ID
* @param id
* @return
*/
@ApiOperation(value = "根据ID 查询任务表达式")
SysTaskTimeExpression getSysTaskTimeExpressionById(Long id);
/**
*
* @param taskTimeExpression
* @param pager
* @return
*/
@ApiOperation(value = "任务表达式查询,分页,排序")
ListPager querySysTaskTimeExpressionByPager(SysTaskTimeExpression taskTimeExpression, Pager pager);
/**
*
* @param ids
*/
@ApiOperation(value = "任务表达式批量删除")
void deleteSysTaskTimeExpressionByIds(Long[] ids);
/**
*
* @return
*/
@ApiOperation(value = "根据表达式id查询表达式关联任务信息",notes = "根据表达式id查询表达式关联任务信息")
List<SysRefExpressionTrigger> findRefExpressionTriggerList(Long id);
}

@ -18,14 +18,14 @@ public interface ISysTaskTimeRecordingService {
*
* @param taskTimeRecording
*/
@ApiOperation(value = "更新任务表达式信息")
@ApiOperation(value = "更新任务周期信息")
void updateSysTaskTimeRecording(SysLogTaskTime taskTimeRecording);
/**
* Key
* @param id
*/
@ApiOperation(value = "删除任务表达式信息",notes = "根据 ID 删除任务表达式信息")
@ApiOperation(value = "删除任务周期信息",notes = "根据 ID 删除任务周期信息")
void deleteSysTaskTimeRecordingById(Long id);
/**
@ -33,14 +33,14 @@ public interface ISysTaskTimeRecordingService {
* @param taskTimeRecording
* @return
*/
@ApiOperation(value = "新增任务表达式信息")
@ApiOperation(value = "新增任务周期信息")
SysLogTaskTime insertSysTaskTimeRecording(SysLogTaskTime taskTimeRecording);
/**
*
* @return
*/
@ApiOperation(value = "查询任务表达式信息",notes = "查询所有任务表达式信息")
@ApiOperation(value = "查询任务周期信息",notes = "查询所有任务周期信息")
List<SysLogTaskTime> findSysTaskTimeRecordingAll();
/**
@ -48,6 +48,6 @@ public interface ISysTaskTimeRecordingService {
* @param id
* @return
*/
@ApiOperation(value = "查询任务表达式信息",notes = "查询 ID 任务表达式信息")
@ApiOperation(value = "查询任务周期信息",notes = "查询 ID 任务周期信息")
SysLogTaskTime getSysTaskTimeRecordingById(Long id);
}

@ -1,130 +0,0 @@
package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTime;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTimeExpression;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @Date : 2018-10-22 16:58:43.968
* @Modify :
**/
public interface ISysTaskTimeService {
/**
*
* @param taskTime
* @return
*/
@ApiOperation(value = "新增定时任务")
SysTaskTime insertSysTaskTime(SysTaskTime taskTime, SysTaskTimeExpression taskTimeExpression);
/**
*
* @param taskTime
*/
@ApiOperation(value = "修改定时任务")
void updateSysTaskTime(SysTaskTime taskTime, SysTaskTimeExpression taskTimeExpression);
/**
*
* @param id ID
* @param status
* @param user
*/
@ApiOperation(value = "修改任务状态")
void updateSysTaskTimeStatus(Long id, int status, SessionUser user);
/**
* id
* @param id
*/
@ApiOperation(value = "根据根据id删除数据")
void deleteSysTaskTimeById(Long id);
/**
*
* @return
*/
@ApiOperation(value = "查询所有数据")
List<SysTaskTime> listSysTaskTime();
/**
* id
* @param id
* @return
*/
@ApiOperation(value = "根据id 数据")
SysTaskTime getSysTaskTimeById(Long id);
/**
*
* @param taskTime
* @param pager
* @return
*/
@ApiOperation(value = "定时任务复制查询,分页,排序")
ListPager querySysTaskTimeByPager(SysTaskTime taskTime, Pager pager);
/**
* id
* @param ids
*/
@ApiOperation(value = "根据id批量删除定时任务")
void deleteSysTaskTimeByIds(Long[] ids);
/**
*
* @param ids
*
*/
@ApiOperation(value = "批量修改定时任务状态")
void updateSysTaskTimeStatusByIds(Long[] ids, Integer status);
/**
*
* @param lastDate
* @param name
* @param groupName
*/
@ApiOperation(value = "修改最后时间")
void doSysTaskTimeLastDateByNameAndGroupName(String lastDate,String name,String groupName);
/**
*
* @param id
*/
@ApiOperation(value = "立即执行")
void executeSysTaskTimeById(Long id);
/**
*
* @param name
* @param groupName
* @return
*/
@ApiOperation(value = "查询定时任务",notes = "根据定时任务名称与组名称查询")
SysTaskTime getSysTaskTimeByNameAndGroup(String name,String groupName);
/**
*
* @param sysLogTaskTime
*/
@ApiOperation(value = "添加定时任务执行日志",notes = "添加定时任务执行日志")
void logInsertSysLogTaskTime(SysLogTaskTime sysLogTaskTime);
/**
* quartz
* @param sysTaskTime
*/
@ApiOperation(value = "修改定时任务信息",notes = "修改定时任务信息不会更新quartz数据库")
void updateSysTaskTime(SysTaskTime sysTaskTime);
}

@ -2,8 +2,11 @@ package cn.estsh.i3plus.core.apiservice.controller;
import cn.estsh.i3plus.core.apiservice.mq.I3CoreQueueConfig;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.i3plus.pojo.mes.MachineFactory;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
@ -233,4 +236,40 @@ public class DemoRedisMqController extends CoreBaseController{
return new ResultBean(true,"操作成功 " + locale.getLanguage() + " " + locale.getCountry());
}
@Resource(name="redisSession")
private ImppRedis redisSession;
@GetMapping(value="/set-redis")
@ApiOperation(value="setredis")
public ResultBean setRedis(String key,String value) {
//redisSession.putObject(key,value);
//redisCore.putObject(key,value);
ResultBean rs = new ResultBean(true,"yes");
rs.setPager(new Pager(100));
redisSession.putObject("rs",rs);
redisCore.putObject("rs",rs);
return new ResultBean(true,"操作成功 " + key + " : " + value);
}
@GetMapping(value="/get-redis")
@ApiOperation(value="getredis")
public ResultBean getRedis(String key) {
Object d1 = redisSession.getObject(key);
System.out.println("redisSession-d1==" + d1);
Object d2 = redisCore.getObject(key);
if(d1 != null) {
SessionUser sessionUser = AuthUtil.getSessionUser();
System.out.println(sessionUser.toString());
}
System.out.println("redisCore-d2==" + d2);
System.out.println(d1 == null?"null":d1.toString());
System.out.println(d2 == null?"null":d2.toString());
return new ResultBean(true,"操作成功 " + d1 + " : " + d2);
}
}

@ -0,0 +1,150 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskService;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysTask;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2018-12-27 15:13
* @Modify:
**/
@RestController
@Api(description = "任务管理服务")
@RequestMapping(PlatformConstWords.BASE_URL + "/task")
public class SysTaskController extends CoreBaseController {
public static final Logger LOGGER = LoggerFactory.getLogger(SysTaskController.class);
@Autowired
private ISysTaskService sysTaskService;
@PostMapping(value = "/insert")
@ApiOperation(value = "添加任务", notes = "添加任务")
public ResultBean insertSysTask(SysTask sysTask) {
try {
// 数据校验
ValidatorBean.beginValid(sysTask)
.notNull("name", sysTask.getName())
.notNull("taskPackage", sysTask.getTaskPackage())
.notNull("taskClass", sysTask.getTaskClass());
sysTaskService.insertSysTask(sysTask);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysTask);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PutMapping(value = "/update")
@ApiOperation(value = "修改任务", notes = "修改任务")
public ResultBean updateSysTask(SysTask sysTask) {
try {
// 数据校验
ValidatorBean.beginValid(sysTask)
.notNull("name", sysTask.getName())
.notNull("taskPackage", sysTask.getTaskPackage())
.notNull("taskClass", sysTask.getTaskClass());
sysTaskService.updateSysTask(sysTask);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@DeleteMapping(value = "/delete/{id}")
@ApiOperation(value = "删除任务", notes = "删除任务")
public ResultBean deleteSysTaskById(@PathVariable("id") String idStr) {
try {
// 数据校验
ValidatorBean.checkNotNull(idStr, "id不能为空");
if (sysTaskService.getSysTaskById(Long.parseLong(idStr)) == null) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("任务不存在")
.setErrorSolution("请重新选择")
.build();
}
sysTaskService.deleteSysTaskById(Long.parseLong(idStr));
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/list")
@ApiOperation(value = "查询所有任务", notes = "查询所有任务")
public ResultBean listSysTask() {
try {
List sysTaskList = sysTaskService.listSysTask();
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(sysTaskList);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/query")
@ApiOperation(value = "任务复杂查询", notes = "任务复杂查询,分页,排序")
public ResultBean querySysTaskByPager(SysTask sysTask, Pager pager) {
try {
ListPager<SysTask> sysTaskList = sysTaskService.querySysTaskByPager(sysTask, pager);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(sysTaskList);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@DeleteMapping(value = "/batch-delete")
@ApiOperation(value = "根据id批量删除任务", notes = "根据id批量删除任务")
public ResultBean deleteSysTaskByIds(String[] idsStr) {
try {
if (idsStr == null || idsStr.length == 0) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("请选择需要删除的资源。")
.build();
}
sysTaskService.deleteSysTaskByIds(StringTool.getArrayLong(idsStr));
return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -1,16 +1,16 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskTimeExpressionService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskTimeService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskCycleService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskPlanService;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysRefExpressionTrigger;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTime;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTimeExpression;
import cn.estsh.i3plus.pojo.platform.bean.SysRefTaskCyclePlan;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskCycle;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskPlan;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
@ -27,36 +27,36 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @Description :
* @Description :
* @Reference :
* @Author : wei.peng
* @Date : 2018-10-22 16:58:43.838
* @Author : yunhao
* @Date : 2018-12-27 15:54
* @Modify :
**/
@RestController
@Api(description = "系统时间表达式")
@RequestMapping(PlatformConstWords.BASE_URL +"/task-time-expression")
public class SysTaskTimeExpressionController extends CoreBaseController{
@Api(description = "任务周期")
@RequestMapping(PlatformConstWords.BASE_URL +"/task-cycle")
public class SysTaskCycleController extends CoreBaseController{
public static final Logger LOGGER = LoggerFactory.getLogger(SysTaskTimeExpressionController.class);
public static final Logger LOGGER = LoggerFactory.getLogger(SysTaskCycleController.class);
@Autowired
private ISysTaskTimeExpressionService taskTimeExpressionService;
private ISysTaskCycleService sysTaskCycleService;
@Autowired
private ISysTaskTimeService sysTaskTimeService;
private ISysTaskPlanService sysTaskPlanService;
@PostMapping(value = "/insert")
@ApiOperation(value = "新增系统时间表达式", notes = "系统时间表达式")
public ResultBean insertSysTaskTimeExpression(SysTaskTimeExpression timeExpression) {
@ApiOperation(value = "新增任务周期", notes = "任务周期")
public ResultBean insertSysTaskCycle(SysTaskCycle sysTaskCycle) {
try {
// 数据校验
ValidatorBean.beginValid(timeExpression)
.notNull("name", timeExpression.getName())
.notNull("expressionContent", timeExpression.getExpressionContent())
.notNull("expressionStartDatetime",timeExpression.getExpressionStartDatetime());
ValidatorBean.beginValid(sysTaskCycle)
.notNull("name", sysTaskCycle.getName())
.notNull("taskCycleExps", sysTaskCycle.getTaskCycleExps())
.notNull("taskCycleStartDatetime",sysTaskCycle.getTaskCycleStartDatetime());
taskTimeExpressionService.insertSysTaskTimeExpression(timeExpression);
sysTaskCycleService.insertSysTaskCycle(sysTaskCycle);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
@ -66,28 +66,28 @@ public class SysTaskTimeExpressionController extends CoreBaseController{
}
@PutMapping(value = "/update")
@ApiOperation(value = "修改系统时间表达式", notes = "系统时间表达式")
public ResultBean updateSysTaskTimeExpression(SysTaskTimeExpression timeExpression) {
@ApiOperation(value = "修改任务周期", notes = "修改任务周期")
public ResultBean updateSysTaskCycle(SysTaskCycle sysTaskCycle) {
try {
// 数据校验
ValidatorBean.beginValid(timeExpression)
.notNull("id", timeExpression.getId())
.notNull("name", timeExpression.getName())
.notNull("timeExpression", timeExpression.getExpressionContent());
taskTimeExpressionService.updateSysTaskTimeExpression(timeExpression);
// 查询关联定时任务信息,并进行修改
List<SysRefExpressionTrigger> refTrigger = taskTimeExpressionService.findRefExpressionTriggerList(timeExpression.getId());
SysTaskTime sysTaskTime;
for (SysRefExpressionTrigger item: refTrigger) {
sysTaskTime = sysTaskTimeService.getSysTaskTimeByNameAndGroup(item.getTriggerName(),item.getTriggerGroupName());
sysTaskTime.setTimeExpressionNameRdd(timeExpression.getName());
sysTaskTime.setTimeExpressionContentRdd(timeExpression.getExpressionContent());
sysTaskTime.setTaskStartDateTimeRdd(timeExpression.getExpressionStartDatetime());
sysTaskTime.setTaskEndDateTimeRdd(timeExpression.getExpressionEndDatetime());
sysTaskTimeService.updateSysTaskTime(sysTaskTime,timeExpression);
ValidatorBean.beginValid(sysTaskCycle)
.notNull("id", sysTaskCycle.getId())
.notNull("name", sysTaskCycle.getName())
.notNull("taskCycleExps", sysTaskCycle.getTaskCycleExps());
sysTaskCycleService.updateSysTaskCycle(sysTaskCycle);
// 查询关联任务计划信息,并进行修改
List<SysRefTaskCyclePlan> taskCyclePlans = sysTaskCycleService.findRefTaskCyclePlanByCycleId(sysTaskCycle.getId());
SysTaskPlan sysTaskPlan;
for (SysRefTaskCyclePlan item: taskCyclePlans) {
sysTaskPlan = sysTaskPlanService.getSysTaskPlanByNameAndGroup(item.getTaskPlanName(),item.getTaskPlanGroupName());
sysTaskPlan.setTaskCycleNameRdd(sysTaskCycle.getName());
sysTaskPlan.setTaskCycleExpsRdd(sysTaskCycle.getTaskCycleExps());
sysTaskPlan.setTaskCycleStartDateTimeRdd(sysTaskCycle.getTaskCycleStartDatetime());
sysTaskPlan.setTaskCycleEndDateTimeRdd(sysTaskCycle.getTaskCycleEndDatetime());
sysTaskPlanService.updateSysTaskPlan(sysTaskPlan,sysTaskCycle);
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
@ -99,21 +99,21 @@ public class SysTaskTimeExpressionController extends CoreBaseController{
}
@DeleteMapping(value = "/delete/{id}")
@ApiOperation(value = "删除系统时间表达式", notes = "删除系统时间表达式")
public ResultBean deleteSysTaskTimeExpression(@PathVariable("id") String idStr) {
@ApiOperation(value = "删除任务周期", notes = "删除任务周期")
public ResultBean deleteSysTaskCycle(@PathVariable("id") String idStr) {
try {
// 数据校验
ValidatorBean.checkNotNull(idStr, "时间表达式id 不能为空");
if(taskTimeExpressionService.getSysTaskTimeExpressionById(Long.parseLong(idStr)) == null){
if(sysTaskCycleService.getSysTaskCycleById(Long.parseLong(idStr)) == null){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("时间表达式不存在")
.setErrorDetail("任务周期不存在")
.setErrorSolution("请重新选择")
.build();
}
taskTimeExpressionService.deleteSysTaskTimeExpressionById(Long.parseLong(idStr));
sysTaskCycleService.deleteSysTaskCycleById(Long.parseLong(idStr));
return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
@ -123,10 +123,10 @@ public class SysTaskTimeExpressionController extends CoreBaseController{
}
@GetMapping(value = "/list")
@ApiOperation(value = "查询时间表达式所有", notes = "查询所有系统时间表达式")
public ResultBean findSysTaskTimeExpressionAll() {
@ApiOperation(value = "查询所有任务周期信息", notes = "查询所有任务周期信息")
public ResultBean findSysTaskCycle() {
try {
List<SysTaskTimeExpression> list = taskTimeExpressionService.listSysTaskTimeExpression();
List<SysTaskCycle> list = sysTaskCycleService.listSysTaskCycle();
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(list);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
@ -136,15 +136,19 @@ public class SysTaskTimeExpressionController extends CoreBaseController{
}
@GetMapping(value = "/get/{id}")
@ApiOperation(value = "查询系统时间表达式", notes = "查询根据ID查询系统时间表达式")
public ResultBean getSysTaskTimeExpressionById(@PathVariable("id") String id) {
@ApiOperation(value = "查询任务周期", notes = "查询根据ID查询任务周期")
public ResultBean getSysTaskCycleById(@PathVariable("id") String id) {
try {
// 数据校验
ValidatorBean.checkNotNull(id, "定时任务id 不能为空");
SysTaskTimeExpression taskTimeExpression = taskTimeExpressionService.getSysTaskTimeExpressionById(Long.parseLong(id));
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(taskTimeExpression);
SysTaskCycle sysTaskCycle = sysTaskCycleService.getSysTaskCycleById(Long.parseLong(id));
if (sysTaskCycle != null) {
return ResultBean.success("查询成功")
.setResultObject(sysTaskCycle).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}else {
return ResultBean.fail("数据不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode());
}
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
@ -152,12 +156,12 @@ public class SysTaskTimeExpressionController extends CoreBaseController{
}
}
@GetMapping("query")
@ApiOperation(value = "时间表达式查询,分页,排序",notes = "时间表达式查询,分页,排序")
public ResultBean querySysTaskTimeExpressionByPager(SysTaskTimeExpression taskTimeExpression, Pager pager){
@GetMapping("/query")
@ApiOperation(value = "任务周期查询,分页,排序",notes = "任务周期查询,分页,排序")
public ResultBean querySysTaskCycleByPager(SysTaskCycle taskTimeExpression, Pager pager){
try {
ListPager taskTimeExpressionListPager = taskTimeExpressionService.querySysTaskTimeExpressionByPager(taskTimeExpression,pager);
return ResultBean.success("查询成功").setListPager(taskTimeExpressionListPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
ListPager listPager = sysTaskCycleService.querySysTaskCycleByPager(taskTimeExpression,pager);
return ResultBean.success("查询成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
@ -166,7 +170,7 @@ public class SysTaskTimeExpressionController extends CoreBaseController{
}
@DeleteMapping("/batch-delete")
@ApiOperation(value = "根据id批量删除时间表达式",notes = "根据id批量删除时间表达式")
@ApiOperation(value = "根据id批量删除任务周期",notes = "根据id批量删除任务周期")
public ResultBean deleteSysTaskTimeExpressionByIds(String[] idsStr){
try{
if(idsStr.length == 0){
@ -177,7 +181,7 @@ public class SysTaskTimeExpressionController extends CoreBaseController{
.build();
}
taskTimeExpressionService.deleteSysTaskTimeExpressionByIds(StringTool.getArrayLong(idsStr));
sysTaskCycleService.deleteSysTaskCycleByIds(StringTool.getArrayLong(idsStr));
return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);

@ -0,0 +1,223 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskCycleService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskPlanService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskService;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysTask;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskCycle;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskPlan;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @Date : 2018-12-27 10:45
* @Modify :
**/
@RestController
@Api(description = "任务计划管理服务")
@RequestMapping(PlatformConstWords.BASE_URL +"/task-plan")
public class SysTaskPlanController extends CoreBaseController{
public static final Logger LOGGER = LoggerFactory.getLogger(SysTaskPlanController.class);
@Autowired
private ISysTaskPlanService sysTaskPlanService;
@Autowired
private ISysTaskCycleService sysTaskCycleService;
@Autowired
private ISysTaskService sysTaskService;
@PostMapping(value = "/insert")
@ApiOperation(value = "新增任务计划", notes = "任务计划")
public ResultBean insertSysTaskTime(SysTaskPlan sysTaskPlan, Boolean isExecute) {
try {
// 数据校验
ValidatorBean.beginValid(sysTaskPlan)
.notNull("name", sysTaskPlan.getName())
.notNull("groupName",sysTaskPlan.getGroupName())
.notNull("taskCycleId",sysTaskPlan.getTaskCycleId())
.notNull("taskId",sysTaskPlan.getTaskId())
.notNull("taskMethodType", sysTaskPlan.getTaskMethodType());
SysTaskCycle sysTaskCycle = sysTaskCycleService.getSysTaskCycleById(sysTaskPlan.getTaskCycleId());
ValidatorBean.checkNotNull(sysTaskCycle,"任务周期不存在");
SysTask sysTask = sysTaskService.getSysTaskById(sysTaskPlan.getTaskId());
ValidatorBean.checkNotNull(sysTask,"任务不存在");
// 设置冗余信息
sysTaskPlan.setTaskPlanExecNum(0);
sysTaskPlan.setTaskNameRdd(sysTask.getName());
sysTaskPlan.setTaskCycleNameRdd(sysTaskCycle.getName());
sysTaskPlan.setTaskCycleExpsRdd(sysTaskCycle.getTaskCycleExps());
sysTaskPlan.setTaskCycleStartDateTimeRdd(sysTaskCycle.getTaskCycleStartDatetime());
sysTaskPlan.setTaskCycleEndDateTimeRdd(sysTaskCycle.getTaskCycleEndDatetime());
sysTaskPlan.setTaskPlanStatus(CommonEnumUtil.DATA_STATUS.ENABLE.getValue());
sysTaskPlan = sysTaskPlanService.insertSysTaskPlan(sysTaskPlan,sysTaskCycle,sysTask);
// 立即执行
if(isExecute != null && isExecute){
sysTaskPlanService.executeSysTaskPlan(sysTaskPlan);
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysTaskPlan);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PutMapping(value = "/update")
@ApiOperation(value = "修改任务计划", notes = "任务计划")
public ResultBean updateSysTaskTime(SysTaskPlan sysTaskPlan, Boolean isExecute) {
try {
// 数据校验
ValidatorBean.beginValid(sysTaskPlan)
.notNull("name", sysTaskPlan.getName())
.notNull("groupName",sysTaskPlan.getGroupName())
.notNull("taskCycleId",sysTaskPlan.getTaskCycleId())
.notNull("taskId",sysTaskPlan.getTaskId())
.notNull("taskMethodType", sysTaskPlan.getTaskMethodType());
SysTaskCycle sysTaskCycle = sysTaskCycleService.getSysTaskCycleById(sysTaskPlan.getTaskCycleId());
ValidatorBean.checkNotNull(sysTaskCycle,"任务周期不存在");
SysTask sysTask = sysTaskService.getSysTaskById(sysTaskPlan.getTaskId());
ValidatorBean.checkNotNull(sysTask,"任务不存在");
sysTaskPlan.setTaskNameRdd(sysTask.getName());
sysTaskPlan.setTaskCycleNameRdd(sysTaskCycle.getName());
sysTaskPlan.setTaskCycleExpsRdd(sysTaskCycle.getTaskCycleExps());
sysTaskPlan.setTaskCycleStartDateTimeRdd(sysTaskCycle.getTaskCycleStartDatetime());
sysTaskPlan.setTaskCycleEndDateTimeRdd(sysTaskCycle.getTaskCycleEndDatetime());
sysTaskPlanService.updateSysTaskPlan(sysTaskPlan,sysTaskCycle);
if(isExecute != null && isExecute){
sysTaskPlanService.executeSysTaskPlan(sysTaskPlan);
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysTaskPlan);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@DeleteMapping(value = "/delete/{id}")
@ApiOperation(value = "删除任务计划", notes = "删除任务计划")
public ResultBean deleteSysTaskTime(@PathVariable("id") String id) {
try {
// 数据校验
ValidatorBean.checkNotNull(id, "任务计划id 不能为空");
sysTaskPlanService.deleteSysTaskPlanById(Long.parseLong(id));
return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/list")
@ApiOperation(value = "查询SysTaskTime", notes = "查询所有任务计划")
public ResultBean findSysTaskTimeAll() {
try {
List<SysTaskPlan> list = sysTaskPlanService.listSysTaskPlan();
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(list);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/get/{id}")
@ApiOperation(value = "查询任务计划", notes = "查询根据ID查询任务计划")
public ResultBean getBySysTaskTimeId(@PathVariable("id") String id) {
try {
// 数据校验
ValidatorBean.checkNotNull(id, "任务计划id 不能为空");
SysTaskPlan taskTime = sysTaskPlanService.getSysTaskPlanById(Long.parseLong(id));
if (taskTime != null) {
return ResultBean.success("查询成功").setResultObject(taskTime).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}else {
return ResultBean.fail("任务计划不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode());
}
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PutMapping(value = "/status/{id}/{status}")
@ApiOperation(value = "修改任务计划状态", notes = "根据ID修改任务计划状态")
public ResultBean updateQuartzStatus(@PathVariable("id") String idStr,@PathVariable("status") Integer status) {
try {
// 数据校验
ValidatorBean.checkNotNull(idStr, "id 不能为空");
ValidatorBean.checkNotZero(status, "状态不能为空");
sysTaskPlanService.updateSysTaskPlanStatus(Long.parseLong(idStr),status,AuthUtil.getSessionUser());
return new ResultBean(true);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping("/query")
@ApiOperation(value = "任务计划复杂查询,分页,排序",notes = "任务计划复杂查询,分页,排序")
public ResultBean querySysTaskTimeByPager(SysTaskPlan taskTime, Pager pager){
try {
ListPager taskTimeListPager = sysTaskPlanService.querySysTaskPlanByPager(taskTime,pager);
return ResultBean.success("查询成功").setListPager(taskTimeListPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/execute/{id}")
@ApiOperation(value = "立即执行", notes = "立即执行")
public ResultBean executeBySysTaskTimeId(@PathVariable("id") String id) {
try {
// 数据校验
ValidatorBean.checkNotNull(id, "任务计划id 不能为空");
SysTaskPlan sysTaskPlan = sysTaskPlanService.getSysTaskPlanById(Long.parseLong(id));
sysTaskPlanService.executeSysTaskPlan(sysTaskPlan);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -1,260 +0,0 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskTimeExpressionService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskTimeService;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTime;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTimeExpression;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @Date : 2018-10-22 16:58:43.982
* @Modify :
**/
@RestController
@Api(description = "定时任务服务")
@RequestMapping(PlatformConstWords.BASE_URL +"/task-time")
public class SysTaskTimeController extends CoreBaseController{
public static final Logger LOGGER = LoggerFactory.getLogger(SysTaskTimeController.class);
@Autowired
private ISysTaskTimeService taskTimeService;
@Autowired
private ISysTaskTimeExpressionService taskTimeExpressionService;
@PostMapping(value = "/insert")
@ApiOperation(value = "新增定时任务", notes = "定时任务")
public ResultBean insertSysTaskTime(SysTaskTime taskTime,Boolean isExecute) {
try {
// 数据校验
ValidatorBean.beginValid(taskTime)
.notNull("name", taskTime.getName())
.notNull("groupName",taskTime.getGroupName())
.notNull("timeExpressionId",taskTime.getTimeExpressionId())
.notNull("taskMethodType", taskTime.getTaskMethodType())
.notNull("taskPackage",taskTime.getTaskPackage())
.notNull("taskClass",taskTime.getTaskClass());
SysTaskTimeExpression taskTimeExpression = taskTimeExpressionService
.getSysTaskTimeExpressionById(taskTime.getTimeExpressionId());
ValidatorBean.checkNotNull(taskTimeExpression,"定时执行策略不存在");
taskTime.setTimeExpressionNameRdd(taskTimeExpression.getName());
taskTime.setTimeExpressionContentRdd(taskTimeExpression.getExpressionContent());
taskTime.setTaskStartDateTimeRdd(taskTimeExpression.getExpressionStartDatetime());
taskTime.setTaskEndDateTimeRdd(taskTimeExpression.getExpressionEndDatetime());
taskTime.setTaskStatus(CommonEnumUtil.DATA_STATUS.ENABLE.getValue());
taskTime = taskTimeService.insertSysTaskTime(taskTime,taskTimeExpression);
// 立即执行
if(isExecute != null && isExecute){
taskTimeService.executeSysTaskTimeById(taskTime.getId());
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(taskTime);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PutMapping(value = "/update")
@ApiOperation(value = "修改定时任务", notes = "定时任务")
public ResultBean updateSysTaskTime(SysTaskTime taskTime,Boolean isExecute) {
try {
// 数据校验
ValidatorBean.beginValid(taskTime)
.notNull("id", taskTime.getId())
.notNull("name", taskTime.getName())
.notNull("groupName",taskTime.getGroupName())
.notNull("timeExpressionId",taskTime.getTimeExpressionId())
.notNull("taskMethodType", taskTime.getTaskMethodType())
.notNull("taskPackage",taskTime.getTaskPackage())
.notNull("taskClass",taskTime.getTaskClass());
SysTaskTimeExpression taskTimeExpression = taskTimeExpressionService
.getSysTaskTimeExpressionById(taskTime.getTimeExpressionId());
ValidatorBean.checkNotNull(taskTimeExpression,"定时执行策略不存在");
taskTime.setTimeExpressionNameRdd(taskTimeExpression.getName());
taskTime.setTimeExpressionContentRdd(taskTimeExpression.getExpressionContent());
taskTime.setTaskStartDateTimeRdd(taskTimeExpression.getExpressionStartDatetime());
taskTime.setTaskEndDateTimeRdd(taskTimeExpression.getExpressionEndDatetime());
taskTime.setTaskStatus(CommonEnumUtil.DATA_STATUS.ENABLE.getValue());
taskTimeService.updateSysTaskTime(taskTime,taskTimeExpression);
if(isExecute != null && isExecute){
taskTimeService.executeSysTaskTimeById(taskTime.getId());
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(taskTime);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@DeleteMapping(value = "/delete/{id}")
@ApiOperation(value = "删除定时任务", notes = "删除定时任务")
public ResultBean deleteSysTaskTime(@PathVariable("id") String id) {
try {
// 数据校验
ValidatorBean.checkNotNull(id, "定时任务id 不能为空");
taskTimeService.deleteSysTaskTimeById(Long.parseLong(id));
return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/list")
@ApiOperation(value = "查询SysTaskTime", notes = "查询所有定时任务")
public ResultBean findSysTaskTimeAll() {
try {
List<SysTaskTime> list = taskTimeService.listSysTaskTime();
return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultList(list);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/get/{id}")
@ApiOperation(value = "查询定时任务", notes = "查询根据ID查询定时任务")
public ResultBean getBySysTaskTimeId(@PathVariable("id") String id) {
try {
// 数据校验
ValidatorBean.checkNotNull(id, "定时任务id 不能为空");
SysTaskTime taskTime = taskTimeService.getSysTaskTimeById(Long.parseLong(id));
return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultObject(taskTime);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PutMapping(value = "/status/{id}/{status}")
@ApiOperation(value = "修改定时任务状态", notes = "根据ID修改定时任务状态")
public ResultBean updateQuartzStatus(@PathVariable("id") String idStr,@PathVariable("status") Integer status) {
try {
// 数据校验
ValidatorBean.checkNotNull(idStr, "id 不能为空");
ValidatorBean.checkNotZero(status, "状态不能为空");
taskTimeService.updateSysTaskTimeStatus(Long.parseLong(idStr),status,AuthUtil.getSessionUser());
return new ResultBean(true);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping("/query")
@ApiOperation(value = "定时任务复杂查询,分页,排序",notes = "定时任务复杂查询,分页,排序")
public ResultBean querySysTaskTimeByPager(SysTaskTime taskTime, Pager pager){
try {
ListPager taskTimeListPager = taskTimeService.querySysTaskTimeByPager(taskTime,pager);
return ResultBean.success("查询成功").setListPager(taskTimeListPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@DeleteMapping("/batch-delete")
@ApiOperation(value = "根据id批量删除定时任务",notes = "根据id批量删除定时任务")
public ResultBean deleteSysTaskTimeByIds(String[] ids){
try{
if(ids.length == 0){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("请选择需要删除的资源。")
.build();
}
taskTimeService.deleteSysTaskTimeByIds(StringTool.getArrayLong(ids));
return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PutMapping(value = "/batch-status")
@ApiOperation(value = "批量修改系统任务状态",notes = "批量修改系统任务状态")
public ResultBean updateSysTaskTimeStatusByIds(String[] ids,Integer status){
try {
// 数据校验
if(ids.length == 0){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("请选择需要删除的资源。")
.build();
}
ValidatorBean.checkNotZero(status,"状态不能为空");
taskTimeService.updateSysTaskTimeStatusByIds(StringTool.getArrayLong(ids),status);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/execute/{id}")
@ApiOperation(value = "立即执行", notes = "立即执行")
public ResultBean executeBySysTaskTimeId(@PathVariable("id") String id) {
try {
// 数据校验
ValidatorBean.checkNotNull(id, "定时任务id 不能为空");
taskTimeService.executeSysTaskTimeById(Long.parseLong(id));
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -91,7 +91,7 @@ public class MessageMailQueueReceiver {
mailUtil.setContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.valueOfDescription(msg.getMessageContentType()));
mailUtil.setBody(msg.getMessageContent());
mailUtil.setTo(sysUser.getUserEmail());
mailUtil.send();
// mailUtil.send();
}
msg.setMessageSenderNameRdd(StringUtils.join(receiverName, ","));

@ -1,8 +1,8 @@
package cn.estsh.i3plus.core.apiservice.mq;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskTimeService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskPlanService;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTime;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskPlan;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import com.rabbitmq.client.Channel;
import org.slf4j.Logger;
@ -27,7 +27,7 @@ public class ScheduleQueueReceiver {
private static final Logger LOGGER = LoggerFactory.getLogger(ScheduleQueueReceiver.class);
@Autowired
private ISysTaskTimeService sysTaskTimeService;
private ISysTaskPlanService sysTaskPlanService;
/**
*
@ -35,21 +35,23 @@ public class ScheduleQueueReceiver {
* @param channel
* @param message
*/
// @RabbitListener(queues = PlatformConstWords.IMPP_SCHEDULE_QUEUE)
@RabbitListener(queues = PlatformConstWords.IMPP_SCHEDULE_QUEUE)
public void processSchedule(SysLogTaskTime logTaskTime, Channel channel, Message message) {
try {
LOGGER.info("【MQ-IMPP_SCHEDULE_QUEUE】数据接收成功{}",logTaskTime);
// 跟新最后执行时间 及 任务状态
SysTaskTime task = sysTaskTimeService.getSysTaskTimeByNameAndGroup(logTaskTime.getName(),logTaskTime.getGroupName());
task.setLastRunDateTime(logTaskTime.getCreateDatetime());
task.setTaskStatus(logTaskTime.getTaskStatus());
sysTaskTimeService.updateSysTaskTime(task);
SysTaskPlan taskPlan = sysTaskPlanService.getSysTaskPlanByNameAndGroup(logTaskTime.getName(),logTaskTime.getGroupName());
taskPlan.setLastRunDateTime(logTaskTime.getCreateDatetime());
taskPlan.setTaskPlanExecNum(taskPlan.getTaskPlanExecNum() + 1);
taskPlan.setTaskPlanStatus(logTaskTime.getTaskStatus());
//更新任务状态以及最后执行时间
sysTaskPlanService.updateSysTaskPlan(taskPlan);
// 添加定时任务日志
logTaskTime.setTimeTaskId(task.getId());
logTaskTime.setTimeExpressionNameRdd(task.getTimeExpressionNameRdd());
logTaskTime.setTimeExpressionContentRdd(task.getTimeExpressionContentRdd());
sysTaskTimeService.logInsertSysLogTaskTime(logTaskTime);
logTaskTime.setTaskPlanId(taskPlan.getId());
logTaskTime.setTaskCycleNameRdd(taskPlan.getTaskCycleNameRdd());
logTaskTime.setTaskCycleExpsRdd(taskPlan.getTaskCycleExpsRdd());
sysTaskPlanService.logInsertSysLogTaskTime(logTaskTime);
//信息已处理
channel.basicAck(message.getMessageProperties().getDeliveryTag(),false);

@ -1,23 +1,18 @@
package cn.estsh.i3plus.core.apiservice.schedulejob;
import cn.estsh.i3plus.core.api.iservice.busi.ISysConfigService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskTimeService;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysMessage;
import cn.estsh.impp.framework.base.schedule.BaseImppScheduleJob;
import cn.estsh.impp.framework.boot.init.ApplicationProperties;
import com.netflix.discovery.converters.Auto;
import io.swagger.annotations.ApiOperation;
import org.quartz.JobExecutionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import java.text.SimpleDateFormat;
/**
* @Description :
* @Reference :

@ -0,0 +1,109 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskCycleService;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysRefTaskCyclePlan;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskCycle;
import cn.estsh.i3plus.pojo.platform.repository.SysRefTaskCyclePlanRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysTaskCycleRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysTaskPlanRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @Date : 2018-10-24 20:40
* @Modify :
**/
@Service
public class SysTaskCycleService implements ISysTaskCycleService {
public static final Logger LOGGER = LoggerFactory.getLogger(SysTaskCycleService.class);
@Autowired
private SysTaskCycleRepository sysTaskCycleRDao;
@Autowired
private SysTaskPlanRepository sysTaskPlanRDao;
@Autowired
private SysRefTaskCyclePlanRepository sysRefTaskCyclePlanRDao;
@Override
@ApiOperation(value = "修改任务周期",notes = "修改任务周期")
public void updateSysTaskCycle(SysTaskCycle sysTaskCycle) {
sysTaskCycleRDao.update(sysTaskCycle);
}
@Override
@ApiOperation(value = "删除任务周期",notes = "根据id删除任务周期")
public void deleteSysTaskCycleById(Long id) {
int refExpressionTriggerList = sysRefTaskCyclePlanRDao.findByPropertyCount("taskCycleId",id);
if(refExpressionTriggerList != 0){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("存在关联任务计划,无法删除")
.setErrorSolution("请重新选择")
.build();
}
sysTaskCycleRDao.deleteById(id);
}
@Override
@ApiOperation(value = "新增任务周期",notes = "新增任务周期")
public SysTaskCycle insertSysTaskCycle(SysTaskCycle sysTaskCycle) {
return sysTaskCycleRDao.insert(sysTaskCycle);
}
@Override
@ApiOperation(value = "查询所有任务周期信息",notes = "查询所有任务周期信息")
public List<SysTaskCycle> listSysTaskCycle() {
return sysTaskCycleRDao.list();
}
@Override
@ApiOperation(value = "根据ID 查询任务周期",notes = "根据ID 查询任务周期")
public SysTaskCycle getSysTaskCycleById(Long id) {
return sysTaskCycleRDao.getById(id);
}
@Override
@ApiOperation(value = "任务周期查询,分页,排序",notes = "任务周期查询,分页,排序")
public ListPager querySysTaskCycleByPager(SysTaskCycle sysTaskCycle, Pager pager) {
if(sysTaskCycle == null) {
pager = PagerHelper.getPager(pager, sysTaskCycleRDao.listCount());
return new ListPager(sysTaskCycleRDao.listPager(pager),pager);
}else {
String hqlPack = CoreHqlPack.packHqlSysTaskCycle(sysTaskCycle);
pager = PagerHelper.getPager(pager, sysTaskCycleRDao.findByHqlWhereCount(hqlPack));
return new ListPager(sysTaskCycleRDao.findByHqlWherePage(hqlPack + sysTaskCycle.orderBy(),pager),pager);
}
}
@Override
@ApiOperation(value = "根据id批量删除任务周期",notes = "根据id批量删除任务周期")
public void deleteSysTaskCycleByIds(Long[] ids) {
sysTaskCycleRDao.deleteByIds(ids);
}
@Override
@ApiOperation(value = "根据任务周期id查询相关任务计划信息",notes = "根据任务周期id查询相关任务计划信息")
public List<SysRefTaskCyclePlan> findRefTaskCyclePlanByCycleId(Long cycleId) {
return sysRefTaskCyclePlanRDao.findByProperty("taskCycleId",cycleId);
}
}

@ -1,25 +1,20 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskTimeService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskPlanService;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.HqlPack;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysRefExpressionTrigger;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTime;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTimeExpression;
import cn.estsh.i3plus.pojo.platform.bean.*;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import cn.estsh.i3plus.pojo.platform.platrepositorymongo.SysLogTaskTimeRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysRefExpressionTriggerRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysTaskTimeRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysRefTaskCyclePlanRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysTaskPlanRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.quartz.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -39,15 +34,15 @@ import java.util.List;
* @Modify :
**/
@Service
public class SysTaskTimeService implements ISysTaskTimeService{
public class SysTaskPlanService implements ISysTaskPlanService {
public static final Logger LOGGER = LoggerFactory.getLogger(SysTaskTimeService.class);
public static final Logger LOGGER = LoggerFactory.getLogger(SysTaskPlanService.class);
@Autowired
private SysTaskTimeRepository taskTimeRDao;
private SysTaskPlanRepository sysTaskPlanRDao;
@Autowired
private SysRefExpressionTriggerRepository refExpressionTriggerRDao;
private SysRefTaskCyclePlanRepository sysRefTaskCyclePlanRDao;
@Autowired
private SysLogTaskTimeRepository sysLogTaskTimeRDao;
@ -56,23 +51,92 @@ public class SysTaskTimeService implements ISysTaskTimeService{
private Scheduler scheduler;
@Override
@ApiOperation(value = "修改定时任务")
public void updateSysTaskTime(SysTaskTime taskTime, SysTaskTimeExpression taskTimeExpression) {
@ApiOperation(value = "新增任务计划",notes = "新增任务计划")
public SysTaskPlan insertSysTaskPlan(SysTaskPlan sysTaskPlan, SysTaskCycle sysTaskCycle,SysTask sysTask) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 唯一校验
JobKey jobKey = JobKey.jobKey(sysTaskPlan.getName(),sysTaskPlan.getGroupName());
TriggerKey triggerKey = TriggerKey.triggerKey(sysTaskPlan.getName(),sysTaskPlan.getGroupName());
if (sysTaskPlanRDao.isExitByProperty(new String[]{"name","groupName"},new String[]{sysTaskPlan.getName(),sysTaskPlan.getGroupName()})
|| scheduler.checkExists(jobKey) || scheduler.checkExists(triggerKey)){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
.setErrorDetail("定时任务已存在")
.setErrorSolution("请重新输入任务名称和组名称")
.build();
}
SysRefTaskCyclePlan refTaskCyclePlan = new SysRefTaskCyclePlan();
refTaskCyclePlan.setTaskCycleId(sysTaskCycle.getId());
refTaskCyclePlan.setTaskPlanName(sysTaskPlan.getName());
refTaskCyclePlan.setTaskPlanGroupName(sysTaskPlan.getGroupName());
sysTaskPlan = sysTaskPlanRDao.insert(sysTaskPlan);
// 添加表达式与触发器关系表
sysRefTaskCyclePlanRDao.insert(refTaskCyclePlan);
// 添加定时任务与触发器到quartz表中
CronScheduleBuilder schedBuilder = CronScheduleBuilder
.cronSchedule(sysTaskCycle.getTaskCycleExps())
.withMisfireHandlingInstructionDoNothing();
TriggerBuilder<CronTrigger> trigger = TriggerBuilder.newTrigger()
.withIdentity(triggerKey)
.withDescription(sysTaskCycle.getTaskCycleDescription())
.withSchedule(schedBuilder)
.startAt(sdf.parse(sysTaskCycle.getTaskCycleStartDatetime()));
if(sysTaskCycle.getTaskCycleEndDatetime() != null && sysTaskCycle.getTaskCycleEndDatetime().length() != 0){
trigger = trigger.endAt(sdf.parse(sysTaskCycle.getTaskCycleEndDatetime()));
}
Class<? extends Job> clazz = (Class<? extends Job>) Class.forName(sysTask.getTaskPackage() + "." + sysTask.getTaskClass());
JobDetail jobDetail = JobBuilder.newJob(clazz).withIdentity(jobKey).withDescription(sysTaskPlan.getTaskPlanDescription()).build();
scheduler.scheduleJob(jobDetail, trigger.build());
} catch (SchedulerException e) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode())
.build();
} catch (ParseException e) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_FORMAT.getCode())
.setErrorDetail("表达式起止时间错误")
.setErrorSolution("请更改表达式起止时间")
.build();
} catch (ClassNotFoundException e) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("定时任务包名及类名不正确")
.setErrorSolution("请重新输入定时任务包名及类名")
.build();
}
return sysTaskPlan;
}
@Override
@ApiOperation(value = "修改任务计划",notes = "修改任务计划")
public void updateSysTaskPlan(SysTaskPlan sysTaskPlan, SysTaskCycle sysTaskCycle) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SysTaskTime oldSysTaskTime = taskTimeRDao.getById(taskTime.getId());
SysTaskPlan oldSysTaskPlan = sysTaskPlanRDao.getById(sysTaskPlan.getId());
// 更新关系表
refExpressionTriggerRDao.updateByProperties(new String[]{"triggerName","triggerGroupName"},
new String[]{oldSysTaskTime.getName(),taskTime.getGroupName()},
"expressionId",oldSysTaskTime.getTimeExpressionId()
sysRefTaskCyclePlanRDao.updateByProperties(new String[]{"taskPlanName","taskPlanGroupName"},
new String[]{oldSysTaskPlan.getName(),oldSysTaskPlan.getGroupName()},
"taskCycleId", oldSysTaskPlan.getTaskCycleId()
);
taskTimeRDao.update(taskTime);
sysTaskPlan.setTaskPlanExecNum(oldSysTaskPlan.getTaskPlanExecNum());
sysTaskPlan.setLastRunDateTime(oldSysTaskPlan.getLastRunDateTime());
sysTaskPlan.setTaskPlanStatus(oldSysTaskPlan.getTaskPlanStatus());
sysTaskPlanRDao.update(sysTaskPlan);
try {
TriggerKey triggerKey = TriggerKey.triggerKey(taskTime.getName(),taskTime.getGroupName());
System.out.println(scheduler.getTrigger(triggerKey));
TriggerKey triggerKey = TriggerKey.triggerKey(oldSysTaskPlan.getName(),oldSysTaskPlan.getGroupName());
if (!scheduler.checkExists(triggerKey)) {
throw ImppExceptionBuilder.newInstance()
@ -85,20 +149,20 @@ public class SysTaskTimeService implements ISysTaskTimeService{
// 添加定时任务与触发器到quartz表中
CronScheduleBuilder schedBuilder = CronScheduleBuilder
.cronSchedule(taskTimeExpression.getExpressionContent())
.cronSchedule(sysTaskCycle.getTaskCycleExps())
.withMisfireHandlingInstructionDoNothing();
TriggerBuilder<CronTrigger> trigger = TriggerBuilder.newTrigger()
.withIdentity(triggerKey)
.withDescription(taskTimeExpression.getExpressionDescription())
.withDescription(sysTaskCycle.getTaskCycleDescription())
.withSchedule(schedBuilder)
.startAt(sdf.parse(taskTimeExpression.getExpressionStartDatetime()));
if(taskTimeExpression.getExpressionEndDatetime() != null && !"".equals(taskTimeExpression.getExpressionEndDatetime())){
trigger = trigger.endAt(sdf.parse(taskTimeExpression.getExpressionEndDatetime()));
.startAt(sdf.parse(sysTaskCycle.getTaskCycleStartDatetime()));
if(sysTaskCycle.getTaskCycleEndDatetime() != null && !"".equals(sysTaskCycle.getTaskCycleEndDatetime())){
trigger = trigger.endAt(sdf.parse(sysTaskCycle.getTaskCycleEndDatetime()));
}
JobKey jobKey = new JobKey(taskTime.getName(), taskTime.getGroupName());
JobKey jobKey = new JobKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName());
JobDetail jobDetail = scheduler.getJobDetail(jobKey);
jobDetail.getJobBuilder().withDescription(taskTime.getTaskDescription());
jobDetail.getJobBuilder().withDescription(sysTaskPlan.getTaskPlanDescription());
HashSet<Trigger> triggerSet = new HashSet<>();
triggerSet.add(trigger.build());
@ -112,17 +176,23 @@ public class SysTaskTimeService implements ISysTaskTimeService{
}
@Override
@ApiOperation(value = "修改任务状态")
public void updateSysTaskTimeStatus(Long id, int status, SessionUser user) {
@ApiOperation(value = "修改任务计划状态",notes = "修改任务计划状态")
public void updateSysTaskPlanStatus(Long id, int status, SessionUser user) {
LOGGER.info("定时任务 SYS_MENU id:{} status:{} user:{}", id,status,user);
SysTaskTime taskTime = taskTimeRDao.getById(id);
taskTime.setTaskStatus(status);
taskTime.setModifyUser(user.getUserName());
taskTimeRDao.update(taskTime);
SysTaskPlan sysTaskPlan = sysTaskPlanRDao.getById(id);
sysTaskPlan.setTaskPlanStatus(status);
sysTaskPlan.setModifyUser(user.getUserName());
sysTaskPlanRDao.update(sysTaskPlan);
try {
TriggerKey triggerKey = TriggerKey.triggerKey(taskTime.getName(), taskTime.getGroupName());
TriggerKey triggerKey = TriggerKey.triggerKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName());
if (!scheduler.checkExists(triggerKey)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("定时任务不存在")
.setErrorSolution("请重新选择")
.build();
}
if (status == CommonEnumUtil.DATA_STATUS.ENABLE.getValue()){
@ -138,16 +208,18 @@ public class SysTaskTimeService implements ISysTaskTimeService{
@Override
@ApiOperation(value = "根据根据id删除数据")
public void deleteSysTaskTimeById(Long id) {
public void deleteSysTaskPlanById(Long id) {
try {
SysTaskTime taskTime = taskTimeRDao.getById(id);
ValidatorBean.checkNotNull(taskTime,"定时任务不存在");
SysTaskPlan sysTaskPlan = sysTaskPlanRDao.getById(id);
ValidatorBean.checkNotNull(sysTaskPlan,"定时任务不存在");
sysTaskPlanRDao.deleteById(id);
taskTimeRDao.deleteById(id);
// 删除关系表数据
refExpressionTriggerRDao.deleteByProperty("expressionId",taskTime.getTimeExpressionId());
sysRefTaskCyclePlanRDao.deleteByProperties(new String[]{"taskPlanName","taskPlanGroupName"},
new Object[]{sysTaskPlan.getName(),sysTaskPlan.getGroupName()});
TriggerKey triggerKey = TriggerKey.triggerKey(taskTime.getName(),taskTime.getGroupName());
TriggerKey triggerKey = TriggerKey.triggerKey(sysTaskPlan.getName(),sysTaskPlan.getGroupName());
if(scheduler.checkExists(triggerKey)){
scheduler.pauseTrigger(triggerKey);
scheduler.unscheduleJob(triggerKey);
@ -168,130 +240,34 @@ public class SysTaskTimeService implements ISysTaskTimeService{
}
@Override
@ApiOperation(value = "新增定时任务")
public SysTaskTime insertSysTaskTime(SysTaskTime taskTime, SysTaskTimeExpression taskTimeExpression) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 唯一校验
JobKey jobKey = JobKey.jobKey(taskTime.getName(),taskTime.getGroupName());
TriggerKey triggerKey = TriggerKey.triggerKey(taskTime.getName(),taskTime.getGroupName());
if (taskTimeRDao.isExitByProperty(new String[]{"name","groupName"},new String[]{taskTime.getName(),taskTime.getGroupName()})
|| scheduler.checkExists(jobKey) || scheduler.checkExists(triggerKey)){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
.setErrorDetail("定时任务已存在")
.setErrorSolution("请重新输入任务名称和组名称")
.build();
}
SysRefExpressionTrigger refExpressionTrigger = new SysRefExpressionTrigger();
refExpressionTrigger.setExpressionId(taskTimeExpression.getId());
refExpressionTrigger.setTriggerName(taskTime.getName());
refExpressionTrigger.setTriggerGroupName(taskTime.getGroupName());
taskTime = taskTimeRDao.insert(taskTime);
// 添加表达式与触发器关系表
refExpressionTriggerRDao.insert(refExpressionTrigger);
// 添加定时任务与触发器到quartz表中
CronScheduleBuilder schedBuilder = CronScheduleBuilder
.cronSchedule(taskTimeExpression.getExpressionContent())
.withMisfireHandlingInstructionDoNothing();
TriggerBuilder<CronTrigger> trigger = TriggerBuilder.newTrigger()
.withIdentity(triggerKey)
.withDescription(taskTimeExpression.getExpressionDescription())
.withSchedule(schedBuilder)
.startAt(sdf.parse(taskTimeExpression.getExpressionStartDatetime()));
if(taskTimeExpression.getExpressionEndDatetime() != null && taskTimeExpression.getExpressionEndDatetime().length() != 0){
trigger = trigger.endAt(sdf.parse(taskTimeExpression.getExpressionEndDatetime()));
}
Class<? extends Job> clazz = (Class<? extends Job>) Class.forName(taskTime.getTaskPackage() + "." + taskTime.getTaskClass());
JobDetail jobDetail = JobBuilder.newJob(clazz).withIdentity(jobKey).withDescription(taskTime.getTaskDescription()).build();
scheduler.scheduleJob(jobDetail, trigger.build());
} catch (SchedulerException e) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode())
.build();
} catch (ParseException e) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_FORMAT.getCode())
.setErrorDetail("表达式起止时间错误")
.setErrorSolution("请更改表达式起止时间")
.build();
} catch (ClassNotFoundException e) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("定时任务包名及类名不正确")
.setErrorSolution("请重新输入定时任务包名及类名")
.build();
}
return taskTime;
}
@Override
@ApiOperation(value = "查询所有数据")
public List<SysTaskTime> listSysTaskTime() {
LOGGER.info("定时任务 TASK_TIME find All");
return taskTimeRDao.findAll();
@ApiOperation(value = "查询所有任务计划")
public List<SysTaskPlan> listSysTaskPlan() {
return sysTaskPlanRDao.list();
}
@Override
@ApiOperation(value = "根据id 数据")
public SysTaskTime getSysTaskTimeById(Long id) {
LOGGER.info("定时任务 TASK_TIME find id:{}", id);
return taskTimeRDao.getOne(id);
@ApiOperation(value = "根据id查询任务计划数据",notes = "根据id查询任务计划数据")
public SysTaskPlan getSysTaskPlanById(Long id) {
return sysTaskPlanRDao.getById(id);
}
@Override
@ApiOperation(value = "定时任务复制查询,分页,排序")
public ListPager querySysTaskTimeByPager(SysTaskTime taskTime, Pager pager) {
LOGGER.info("定时任务 TASK_TIME SysTaskTime:{}Pager:{}",taskTime,pager);
if(taskTime == null) {
pager = PagerHelper.getPager(pager, taskTimeRDao.listCount());
return new ListPager(taskTimeRDao.listPager(pager),pager);
@ApiOperation(value = "任务计划复杂查询,分页,排序",notes = "任务计划复杂查询,分页,排序")
public ListPager querySysTaskPlanByPager(SysTaskPlan sysTaskPlan, Pager pager) {
if(sysTaskPlan == null) {
pager = PagerHelper.getPager(pager, sysTaskPlanRDao.listCount());
return new ListPager(sysTaskPlanRDao.listPager(pager),pager);
}else {
String hqlPack = CoreHqlPack.packHqlSysTaskTime(taskTime);
pager = PagerHelper.getPager(pager, taskTimeRDao.findByHqlWhereCount(hqlPack));
return new ListPager(taskTimeRDao.findByHqlWherePage(hqlPack + taskTime.orderBy(),pager),pager);
String hqlPack = CoreHqlPack.packHqlSysTaskPlan(sysTaskPlan);
pager = PagerHelper.getPager(pager, sysTaskPlanRDao.findByHqlWhereCount(hqlPack));
return new ListPager(sysTaskPlanRDao.findByHqlWherePage(hqlPack + sysTaskPlan.orderBy(),pager),pager);
}
}
@Override
@ApiOperation(value = "根据id批量删除定时任务")
public void deleteSysTaskTimeByIds(Long[] ids) {
LOGGER.info("定时任务 TASK_TIME ids:{}", ids.toString());
taskTimeRDao.deleteByIds(ids);
}
@Override
@ApiOperation(value = "批量修改定时任务状态")
public void updateSysTaskTimeStatusByIds(Long[] ids, Integer status) {
LOGGER.info("定时任务 TASK_TIME ids{}status{}",ids,status);
StringBuffer where = new StringBuffer();
HqlPack.getInPack(StringUtils.join( ids,","), "id", where);
taskTimeRDao.updateByHqlWhere(where.toString(), "taskStatus", status);
}
@Override
@ApiOperation(value = "修改最后时间")
public void doSysTaskTimeLastDateByNameAndGroupName(String lastDate, String name, String groupName) {
taskTimeRDao.updateByProperties(
new String[]{"name","groupName"},new String[]{name,groupName},
"lastRunDateTime",lastDate);
}
@Override
@ApiOperation(value = "立即执行")
public void executeSysTaskTimeById(Long id) {
SysTaskTime taskTime = taskTimeRDao.getById(id);
JobKey jobKey = JobKey.jobKey(taskTime.getName(),taskTime.getGroupName());
@ApiOperation(value = "立即执行任务计划",notes = "立即执行任务计划")
public void executeSysTaskPlan(SysTaskPlan sysTaskPlan) {
JobKey jobKey = JobKey.jobKey(sysTaskPlan.getName(),sysTaskPlan.getGroupName());
try {
if (scheduler.checkExists(jobKey)) {
scheduler.triggerJob(jobKey);
@ -299,8 +275,8 @@ public class SysTaskTimeService implements ISysTaskTimeService{
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("定时任务不存在")
.setErrorSolution("请重新输入任务名称和组名称")
.setErrorDetail("任务计划不存在")
.setErrorSolution("请重新选择任务计划")
.build();
}
} catch (SchedulerException e) {
@ -312,11 +288,10 @@ public class SysTaskTimeService implements ISysTaskTimeService{
}
@Override
@ApiOperation(value = "查询定时任务",notes = "根据定时任务名称与组名称查询")
public SysTaskTime getSysTaskTimeByNameAndGroup(String name, String groupName) {
List<SysTaskTime> taskList = taskTimeRDao.findByProperty(new String[]{"name","groupName"},new Object[]{name,groupName});
if (taskList != null && taskList.size() != 0){
return taskList.get(0);
public SysTaskPlan getSysTaskPlanByNameAndGroup(String name, String groupName) {
List<SysTaskPlan> sysTaskPlanList = sysTaskPlanRDao.findByProperty(new String[]{"name","groupName"},new Object[]{name,groupName});
if (sysTaskPlanList != null && sysTaskPlanList.size() != 0){
return sysTaskPlanList.get(0);
}
return null;
}
@ -329,7 +304,7 @@ public class SysTaskTimeService implements ISysTaskTimeService{
@Override
@ApiOperation(value = "修改定时任务信息",notes = "修改定时任务信息不会更新quartz数据库")
public void updateSysTaskTime(SysTaskTime sysTaskTime) {
taskTimeRDao.update(sysTaskTime);
public void updateSysTaskPlan(SysTaskPlan sysTaskPlan) {
sysTaskPlanRDao.update(sysTaskPlan);
}
}

@ -0,0 +1,100 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskService;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysTask;
import cn.estsh.i3plus.pojo.platform.repository.SysTaskPlanRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysTaskRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2018-12-26 21:42
* @Modify:
**/
@Service
public class SysTaskService implements ISysTaskService {
public static final Logger LOGGER = LoggerFactory.getLogger(SysTaskService.class);
@Autowired
private SysTaskRepository sysTaskRDao;
@Autowired
private SysTaskPlanRepository sysTaskPlanRDao;
@Override
@ApiOperation(value = "添加任务",notes = "添加任务")
public SysTask insertSysTask(SysTask sysTask) {
return sysTaskRDao.insert(sysTask);
}
@Override
@ApiOperation(value = "修改任务信息",notes = "修改任务信息")
public void updateSysTask(SysTask sysTask) {
sysTaskRDao.update(sysTask);
// 修改冗余信息
sysTaskPlanRDao.updateByProperties("taskId",sysTask.getId(),
"taskNameRdd",sysTask.getName());
}
@Override
@ApiOperation(value = "查询所有任务",notes = "查询所有任务")
public List<SysTask> listSysTask() {
return sysTaskRDao.list();
}
@Override
@ApiOperation(value = "根据id查询任务信息",notes = "根据id查询任务信息")
public SysTask getSysTaskById(Long id) {
return sysTaskRDao.getById(id);
}
@Override
@ApiOperation(value = "删除任务",notes = "根据id删除任务")
public void deleteSysTaskById(Long id) {
if(sysTaskPlanRDao.isExitByProperty("taskId",id)){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("存在关联任务计划,无法删除")
.setErrorSolution("请重新选择")
.build();
}
sysTaskRDao.deleteById(id);
}
@Override
@ApiOperation(value = "删除任务",notes = "根据id批量删除任务")
public void deleteSysTaskByIds(Long[] ids) {
sysTaskRDao.deleteByIds(ids);
}
@Override
@ApiOperation(value = "任务管理复杂查询,分页,排序",notes = "任务管理复杂查询,分页,排序")
public ListPager<SysTask> querySysTaskByPager(SysTask sysTask, Pager pager) {
if(sysTask == null) {
pager = PagerHelper.getPager(pager, sysTaskRDao.listCount());
return new ListPager(sysTaskRDao.listPager(pager),pager);
}else {
String hqlPack = CoreHqlPack.packHqlSysTask(sysTask);
pager = PagerHelper.getPager(pager, sysTaskRDao.findByHqlWhereCount(hqlPack));
return new ListPager(sysTaskRDao.findByHqlWherePage(hqlPack + sysTask.orderBy(),pager),pager);
}
}
}

@ -1,126 +0,0 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskTimeExpressionService;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysRefExpressionTrigger;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTimeExpression;
import cn.estsh.i3plus.pojo.platform.repository.SysRefExpressionTriggerRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysTaskTimeExpressionRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysTaskTimeRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @Date : 2018-10-24 20:40
* @Modify :
**/
@Service
public class SysTaskTimeExpressionService implements ISysTaskTimeExpressionService {
public static final Logger LOGGER = LoggerFactory.getLogger(SysTaskTimeExpressionService.class);
@Autowired
private SysTaskTimeExpressionRepository taskTimeExpressionRDao;
@Autowired
private SysTaskTimeRepository taskTimeRDao;
@Autowired
private SysRefExpressionTriggerRepository sysRefExpressionTriggerRDao;
@Override
@ApiOperation(value = "修改数据")
public void updateSysTaskTimeExpression(SysTaskTimeExpression taskTimeExpression) {
LOGGER.info("定时任务时间表达式 TASK_TIME_EXPRESSION :{}", taskTimeExpression);
taskTimeExpressionRDao.update(taskTimeExpression);
}
@Override
@ApiOperation(value = "根据id删除数据")
public void deleteSysTaskTimeExpressionById(Long id) {
LOGGER.info("定时任务时间表达式 TASK_TIME_EXPRESSION :{}", id);
List refExpressionTriggerList = sysRefExpressionTriggerRDao.findByProperty("expressionId",id);
if(refExpressionTriggerList == null || refExpressionTriggerList.size() == 0){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("存在关联定时任务,无法删除")
.setErrorSolution("请重新选择")
.build();
}
taskTimeExpressionRDao.deleteById(id);
}
@Override
@ApiOperation(value = "新增数据")
public SysTaskTimeExpression insertSysTaskTimeExpression(SysTaskTimeExpression taskTimeExpression) {
LOGGER.info("定时任务时间表达式 TASK_TIME_EXPRESSION :{}", taskTimeExpression);
return taskTimeExpressionRDao.insert(taskTimeExpression);
}
@Override
@ApiOperation(value = "查询所有数据")
public List<SysTaskTimeExpression> listSysTaskTimeExpression() {
LOGGER.info("定时任务时间表达式 TASK_TIME_EXPRESSION list");
return taskTimeExpressionRDao.list();
}
@Override
@ApiOperation(value = "根据ID 查询任务表达式")
public SysTaskTimeExpression getSysTaskTimeExpressionById(Long id) {
LOGGER.info("定时任务时间表达式 TASK_TIME_EXPRESSION :{}" ,id);
return taskTimeExpressionRDao.getById(id);
}
@Override
@ApiOperation(value = "任务表达式查询,分页,排序")
public ListPager querySysTaskTimeExpressionByPager(SysTaskTimeExpression taskTimeExpression, Pager pager) {
LOGGER.info("文件表达式 TASK_TIME_EXPRESSION taskTimeExpression:{}Pager:{}",taskTimeExpression,pager);
if(taskTimeExpression == null) {
pager = PagerHelper.getPager(pager, taskTimeExpressionRDao.listCount());
return new ListPager(taskTimeExpressionRDao.listPager(pager),pager);
}else {
String hqlPack = CoreHqlPack.packHqlSysTaskTimeExpression(taskTimeExpression);
pager = PagerHelper.getPager(pager, taskTimeExpressionRDao.findByHqlWhereCount(hqlPack));
return new ListPager(taskTimeExpressionRDao.findByHqlWherePage(hqlPack + taskTimeExpression.orderBy(),pager),pager);
}
}
@Override
@ApiOperation(value = "任务表达式批量删除")
public void deleteSysTaskTimeExpressionByIds(Long[] ids) {
LOGGER.info("文件表达式 SYS_MENU ids:{}", ids);
long count = taskTimeRDao.findByHqlWhereCount(CoreHqlPack.packHqlIds("timeExpressionId",ids));
if(count >= 1){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("存在关联定时任务无法删除!")
.setErrorSolution("请重新操作")
.build();
}else {
taskTimeExpressionRDao.deleteByIds(ids);
}
}
@Override
@ApiOperation(value = "根据表达式id查询表达式关联任务信息",notes = "根据表达式id查询表达式关联任务信息")
public List<SysRefExpressionTrigger> findRefExpressionTriggerList(Long id) {
return sysRefExpressionTriggerRDao.findByProperty("expressionId",id);
}
}

@ -27,35 +27,35 @@ public class SysTaskTimeRecordingService implements ISysTaskTimeRecordingService
private SysTaskTimeRecordingRepository taskTimeRecordingRDao;
@Override
@ApiOperation(value = "更新任务表达式信息")
@ApiOperation(value = "更新任务周期信息")
public void updateSysTaskTimeRecording(SysLogTaskTime taskTimeRecording) {
LOGGER.info("定时任务执行记录 TASK_TIMED_RECORDING :{}", taskTimeRecording);
taskTimeRecordingRDao.update(taskTimeRecording);
}
@Override
@ApiOperation(value = "删除任务表达式信息",notes = "根据 ID 删除任务表达式信息")
@ApiOperation(value = "删除任务周期信息",notes = "根据 ID 删除任务周期信息")
public void deleteSysTaskTimeRecordingById(Long id) {
LOGGER.info("定时任务执行记录 TASK_TIMED_RECORDING Key:{}", id);
taskTimeRecordingRDao.deleteById(id);
}
@Override
@ApiOperation(value = "新增任务表达式信息")
@ApiOperation(value = "新增任务周期信息")
public SysLogTaskTime insertSysTaskTimeRecording(SysLogTaskTime taskTimeRecording) {
LOGGER.info("定时任务执行记录 TASK_TIMED_RECORDING :{}", taskTimeRecording);
return taskTimeRecordingRDao.insert(taskTimeRecording);
}
@Override
@ApiOperation(value = "查询任务表达式信息",notes = "查询所有任务表达式信息")
@ApiOperation(value = "查询任务周期信息",notes = "查询所有任务周期信息")
public List<SysLogTaskTime> findSysTaskTimeRecordingAll() {
LOGGER.info("定时任务执行记录 TASK_TIMED_RECORDING find All");
return taskTimeRecordingRDao.findAll();
}
@Override
@ApiOperation(value = "查询任务表达式信息",notes = "查询 ID 任务表达式信息")
@ApiOperation(value = "查询任务周期信息",notes = "查询 ID 任务周期信息")
public SysLogTaskTime getSysTaskTimeRecordingById(Long id) {
LOGGER.info("定时任务执行记录 TASK_TIMED_RECORDING find id:{}", id);
return taskTimeRecordingRDao.getOne(id);

Loading…
Cancel
Save