This commit is contained in:
Jane 2023-12-26 20:32:33 +08:00
parent c639590744
commit c674440585
5 changed files with 113 additions and 7 deletions

View File

@ -34,6 +34,11 @@ public class ScheduleJobEntity implements Serializable {
*/ */
private String jobName; private String jobName;
/**
* 任务类型
*/
private String jobType;
/** /**
* bean名称 * bean名称
*/ */

View File

@ -1,10 +1,12 @@
package cn.datax.service.data.quality.controller; package cn.datax.service.data.quality.controller;
import cn.datax.common.base.BaseController;
import cn.datax.common.core.JsonPage; import cn.datax.common.core.JsonPage;
import cn.datax.common.core.R; import cn.datax.common.core.R;
import cn.datax.common.validate.ValidationGroups;
import cn.datax.service.data.quality.api.entity.ScheduleJobEntity; import cn.datax.service.data.quality.api.entity.ScheduleJobEntity;
import cn.datax.service.data.quality.api.vo.ScheduleJobVo;
import cn.datax.service.data.quality.api.query.ScheduleJobQuery; import cn.datax.service.data.quality.api.query.ScheduleJobQuery;
import cn.datax.service.data.quality.api.vo.ScheduleJobVo;
import cn.datax.service.data.quality.mapstruct.ScheduleJobMapper; import cn.datax.service.data.quality.mapstruct.ScheduleJobMapper;
import cn.datax.service.data.quality.service.ScheduleJobService; import cn.datax.service.data.quality.service.ScheduleJobService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -15,10 +17,9 @@ import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import cn.datax.common.base.BaseController;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -74,6 +75,61 @@ public class ScheduleJobController extends BaseController {
return R.ok().setData(jsonPage); return R.ok().setData(jsonPage);
} }
/**
* 添加
* @param scheduleJob
* @return
*/
@ApiOperation(value = "添加信息", notes = "根据checkRule对象添加信息")
@ApiImplicitParam(name = "scheduleJob", value = "详细实体scheduleJob", required = true, dataType = "scheduleJob")
@PostMapping()
public R saveScheduleJob(@RequestBody @Validated({ValidationGroups.Insert.class}) ScheduleJobEntity scheduleJob) {
ScheduleJobEntity scheduleJobEntity = scheduleJobService.saveScheduleJob(scheduleJob);
return R.ok().setData(scheduleJobEntity);
}
/**
* 修改
* @param scheduleJob
* @return
*/
@ApiOperation(value = "修改信息", notes = "根据url的id来指定修改对象并根据传过来的信息来修改详细信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String", paramType = "path"),
@ApiImplicitParam(name = "scheduleJob", value = "详细实体scheduleJob", required = true, dataType = "scheduleJob")
})
@PutMapping("/{id}")
public R updateScheduleJob(@PathVariable String id, @RequestBody @Validated({ValidationGroups.Update.class}) ScheduleJobEntity scheduleJob) {
ScheduleJobEntity scheduleJobEntity = scheduleJobService.updateScheduleJob(scheduleJob);
return R.ok().setData(scheduleJobEntity);
}
/**
* 删除
* @param id
* @return
*/
@ApiOperation(value = "删除", notes = "根据url的id来指定删除对象")
@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String", paramType = "path")
@DeleteMapping("/{id}")
public R deleteScheduleJobById(@PathVariable String id) {
scheduleJobService.deleteScheduleJobById(id);
return R.ok();
}
/**
* 批量删除
* @param ids
* @return
*/
@ApiOperation(value = "批量删除", notes = "根据url的ids来批量删除对象")
@ApiImplicitParam(name = "ids", value = "ID集合", required = true, dataType = "List", paramType = "path")
@DeleteMapping("/batch/{ids}")
public R deleteCheckRuleBatch(@PathVariable List<String> ids) {
scheduleJobService.deleteScheduleJobBatch(ids);
return R.ok();
}
/** /**
* 暂停任务 * 暂停任务
* @param id * @param id

View File

@ -1,8 +1,12 @@
package cn.datax.service.data.quality.service; package cn.datax.service.data.quality.service;
import cn.datax.service.data.quality.api.dto.CheckRuleDto;
import cn.datax.service.data.quality.api.entity.CheckRuleEntity;
import cn.datax.service.data.quality.api.entity.ScheduleJobEntity; import cn.datax.service.data.quality.api.entity.ScheduleJobEntity;
import cn.datax.common.base.BaseService; import cn.datax.common.base.BaseService;
import java.util.List;
/** /**
* <p> * <p>
* 数据质量监控任务信息表 服务类 * 数据质量监控任务信息表 服务类
@ -15,6 +19,14 @@ public interface ScheduleJobService extends BaseService<ScheduleJobEntity> {
ScheduleJobEntity getScheduleJobById(String id); ScheduleJobEntity getScheduleJobById(String id);
ScheduleJobEntity saveScheduleJob(ScheduleJobEntity scheduleJob);
ScheduleJobEntity updateScheduleJob(ScheduleJobEntity scheduleJob);
void deleteScheduleJobById(String id);
void deleteScheduleJobBatch(List<String> ids);
void pauseScheduleJobById(String id); void pauseScheduleJobById(String id);
void resumeScheduleJobById(String id); void resumeScheduleJobById(String id);

View File

@ -1,19 +1,22 @@
package cn.datax.service.data.quality.service.impl; package cn.datax.service.data.quality.service.impl;
import cn.datax.common.base.BaseServiceImpl;
import cn.datax.common.core.DataConstant; import cn.datax.common.core.DataConstant;
import cn.datax.service.data.quality.api.entity.CheckRuleEntity;
import cn.datax.service.data.quality.api.entity.ScheduleJobEntity; import cn.datax.service.data.quality.api.entity.ScheduleJobEntity;
import cn.datax.service.data.quality.dao.ScheduleJobDao;
import cn.datax.service.data.quality.mapstruct.ScheduleJobMapper;
import cn.datax.service.data.quality.schedule.CronTaskRegistrar; import cn.datax.service.data.quality.schedule.CronTaskRegistrar;
import cn.datax.service.data.quality.schedule.SchedulingRunnable; import cn.datax.service.data.quality.schedule.SchedulingRunnable;
import cn.datax.service.data.quality.service.ScheduleJobService; import cn.datax.service.data.quality.service.ScheduleJobService;
import cn.datax.service.data.quality.mapstruct.ScheduleJobMapper;
import cn.datax.service.data.quality.dao.ScheduleJobDao;
import cn.datax.common.base.BaseServiceImpl;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/** /**
* <p> * <p>
* 数据质量监控任务信息表 服务实现类 * 数据质量监控任务信息表 服务实现类
@ -29,6 +32,9 @@ public class ScheduleJobServiceImpl extends BaseServiceImpl<ScheduleJobDao, Sche
@Autowired @Autowired
private ScheduleJobDao scheduleJobDao; private ScheduleJobDao scheduleJobDao;
@Autowired
private ScheduleJobMapper scheduleJobMapper;
@Autowired @Autowired
private CronTaskRegistrar cronTaskRegistrar; private CronTaskRegistrar cronTaskRegistrar;
@ -38,6 +44,32 @@ public class ScheduleJobServiceImpl extends BaseServiceImpl<ScheduleJobDao, Sche
return scheduleJobEntity; return scheduleJobEntity;
} }
@Override
@Transactional(rollbackFor = Exception.class)
public ScheduleJobEntity saveScheduleJob(ScheduleJobEntity scheduleJob) {
scheduleJobDao.insert(scheduleJob);
return scheduleJob;
}
@Override
@Transactional(rollbackFor = Exception.class)
public ScheduleJobEntity updateScheduleJob(ScheduleJobEntity scheduleJob) {
scheduleJobDao.updateById(scheduleJob);
return scheduleJob;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteScheduleJobById(String id) {
scheduleJobDao.deleteById(id);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteScheduleJobBatch(List<String> ids) {
scheduleJobDao.deleteBatchIds(ids);
}
@Override @Override
public void pauseScheduleJobById(String id) { public void pauseScheduleJobById(String id) {
ScheduleJobEntity scheduleJobEntity = super.getById(id); ScheduleJobEntity scheduleJobEntity = super.getById(id);

View File

@ -7,6 +7,7 @@
<result column="id" property="id" /> <result column="id" property="id" />
<result column="status" property="status" /> <result column="status" property="status" />
<result column="job_name" property="jobName" /> <result column="job_name" property="jobName" />
<result column="job_type" property="jobType" />
<result column="bean_name" property="beanName" /> <result column="bean_name" property="beanName" />
<result column="method_name" property="methodName" /> <result column="method_name" property="methodName" />
<result column="method_params" property="methodParams" /> <result column="method_params" property="methodParams" />
@ -17,7 +18,7 @@
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, id,
status, status,
job_name, bean_name, method_name, method_params, cron_expression job_name, job_type, bean_name, method_name, method_params, cron_expression
</sql> </sql>
</mapper> </mapper>