task
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
package com.test.test.controller;
|
||||
|
||||
import com.test.common.annotation.Log;
|
||||
import com.test.common.core.controller.BaseController;
|
||||
import com.test.common.core.domain.AjaxResult;
|
||||
import com.test.common.core.page.TableDataInfo;
|
||||
import com.test.common.enums.BusinessType;
|
||||
import com.test.common.utils.DateUtils;
|
||||
import com.test.test.domain.TestTask;
|
||||
import com.test.test.domain.TestTaskCase;
|
||||
import com.test.test.domain.qo.GroupIdQO;
|
||||
import com.test.test.domain.qo.IDQO;
|
||||
import com.test.test.service.ITestTaskCaseService;
|
||||
import com.test.test.service.ITestTaskService;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 定时任务用例关联Controller
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/test/taskCase")
|
||||
public class TestTaskCaseController extends BaseController {
|
||||
@Resource
|
||||
private ITestTaskCaseService testTaskCaseService;
|
||||
|
||||
/**
|
||||
* 新增定时任务用例关联
|
||||
*/
|
||||
@Log(title = "定时任务用例关联", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/add")
|
||||
public AjaxResult add(@RequestBody TestTaskCase testTaskCase) {
|
||||
return toAjax(testTaskCaseService.insertTestTaskCase(testTaskCase));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除定时任务用例关联
|
||||
*/
|
||||
@Log(title = "定时任务用例关联", businessType = BusinessType.DELETE)
|
||||
@PostMapping("/del")
|
||||
public AjaxResult remove(@RequestBody TestTaskCase testTaskCase) {
|
||||
return toAjax(testTaskCaseService.deleteTestTaskCase(testTaskCase));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
package com.test.test.controller;
|
||||
|
||||
import com.test.common.annotation.Log;
|
||||
import com.test.common.core.controller.BaseController;
|
||||
import com.test.common.core.domain.AjaxResult;
|
||||
import com.test.common.core.page.TableDataInfo;
|
||||
import com.test.common.enums.BusinessType;
|
||||
import com.test.common.utils.DateUtils;
|
||||
import com.test.test.domain.TestCase;
|
||||
import com.test.test.domain.TestTask;
|
||||
import com.test.test.domain.qo.GroupIdQO;
|
||||
import com.test.test.domain.qo.IDQO;
|
||||
import com.test.test.service.ITestTaskService;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 定时任务Controller
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/test/task")
|
||||
public class TestTaskController extends BaseController {
|
||||
@Resource
|
||||
private ITestTaskService testTaskService;
|
||||
|
||||
/**
|
||||
* 查询定时任务列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(@Validated GroupIdQO qo) {
|
||||
startPage();
|
||||
List<TestTask> list = testTaskService.selectTestTaskList(qo);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取定时任务详细信息
|
||||
*/
|
||||
@PostMapping(value = "/detail")
|
||||
public AjaxResult getInfo(@RequestBody IDQO qo) {
|
||||
return success(testTaskService.selectTestTaskById(qo.getId()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增定时任务
|
||||
*/
|
||||
@Log(title = "定时任务", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/add")
|
||||
public AjaxResult add(@RequestBody TestTask testTask) {
|
||||
testTask.setCreateBy(getLoginUser().getUsername());
|
||||
testTask.setCreateTime(DateUtils.getNowDate());
|
||||
return toAjax(testTaskService.insertTestTask(testTask));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改定时任务
|
||||
*/
|
||||
@Log(title = "定时任务", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("/edit")
|
||||
public AjaxResult edit(@RequestBody TestTask testTask) {
|
||||
return toAjax(testTaskService.updateTestTask(testTask));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除定时任务
|
||||
*/
|
||||
@Log(title = "定时任务", businessType = BusinessType.DELETE)
|
||||
@PostMapping("/del")
|
||||
public AjaxResult remove(@RequestBody IDQO qo) {
|
||||
return toAjax(testTaskService.deleteTestTaskById(qo.getId()));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.test.test.domain.vo;
|
||||
|
||||
import com.test.test.domain.TestCase;
|
||||
import com.test.test.domain.TestTask;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class TestTaskDetailVO {
|
||||
private TestTask task;
|
||||
private List<TestCaseVo> caseList;
|
||||
|
||||
@Data
|
||||
public static class TestCaseVo {
|
||||
private TestCase testCase;
|
||||
private Long sort;
|
||||
}
|
||||
}
|
||||
@@ -66,4 +66,8 @@ public interface TestTaskCaseMapper
|
||||
* @return
|
||||
*/
|
||||
public List<TestTaskCase> selectTestTaskCaseListByTaskId(Long taskId);
|
||||
|
||||
Long max(Long taskId);
|
||||
|
||||
int deleteTestTaskCase(TestTaskCase testTaskCase);
|
||||
}
|
||||
|
||||
@@ -59,4 +59,6 @@ public interface ITestTaskCaseService
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteTestTaskCaseByTaskId(Long taskId);
|
||||
|
||||
int deleteTestTaskCase(TestTaskCase testTaskCase);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.test.test.service;
|
||||
|
||||
import com.test.test.domain.TestTask;
|
||||
import com.test.test.domain.qo.GroupIdQO;
|
||||
import com.test.test.domain.vo.TestTaskDetailVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -12,7 +13,7 @@ public interface ITestTaskService {
|
||||
/**
|
||||
* 查询自动化测试
|
||||
*/
|
||||
TestTask selectTestTaskById(Long id);
|
||||
TestTaskDetailVO selectTestTaskById(Long id);
|
||||
|
||||
/**
|
||||
* 查询自动化测试列表
|
||||
|
||||
@@ -15,8 +15,7 @@ import java.util.List;
|
||||
* @date 2025-02-21
|
||||
*/
|
||||
@Service
|
||||
public class TestTaskCaseServiceImpl implements ITestTaskCaseService
|
||||
{
|
||||
public class TestTaskCaseServiceImpl implements ITestTaskCaseService {
|
||||
@Resource
|
||||
private TestTaskCaseMapper testTaskCaseMapper;
|
||||
|
||||
@@ -27,8 +26,7 @@ public class TestTaskCaseServiceImpl implements ITestTaskCaseService
|
||||
* @return 自动化测试和用例关联
|
||||
*/
|
||||
@Override
|
||||
public TestTaskCase selectTestTaskCaseByTaskId(Long taskId)
|
||||
{
|
||||
public TestTaskCase selectTestTaskCaseByTaskId(Long taskId) {
|
||||
return testTaskCaseMapper.selectTestTaskCaseByTaskId(taskId);
|
||||
}
|
||||
|
||||
@@ -39,8 +37,7 @@ public class TestTaskCaseServiceImpl implements ITestTaskCaseService
|
||||
* @return 自动化测试和用例关联
|
||||
*/
|
||||
@Override
|
||||
public List<TestTaskCase> selectTestTaskCaseList(TestTaskCase testTaskCase)
|
||||
{
|
||||
public List<TestTaskCase> selectTestTaskCaseList(TestTaskCase testTaskCase) {
|
||||
return testTaskCaseMapper.selectTestTaskCaseList(testTaskCase);
|
||||
}
|
||||
|
||||
@@ -51,8 +48,8 @@ public class TestTaskCaseServiceImpl implements ITestTaskCaseService
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertTestTaskCase(TestTaskCase testTaskCase)
|
||||
{
|
||||
public int insertTestTaskCase(TestTaskCase testTaskCase) {
|
||||
testTaskCase.setSort(testTaskCaseMapper.max(testTaskCase.getTaskId()) + 1);
|
||||
return testTaskCaseMapper.insertTestTaskCase(testTaskCase);
|
||||
}
|
||||
|
||||
@@ -63,8 +60,7 @@ public class TestTaskCaseServiceImpl implements ITestTaskCaseService
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateTestTaskCase(TestTaskCase testTaskCase)
|
||||
{
|
||||
public int updateTestTaskCase(TestTaskCase testTaskCase) {
|
||||
return testTaskCaseMapper.updateTestTaskCase(testTaskCase);
|
||||
}
|
||||
|
||||
@@ -75,8 +71,7 @@ public class TestTaskCaseServiceImpl implements ITestTaskCaseService
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteTestTaskCaseByTaskIds(Long[] taskIds)
|
||||
{
|
||||
public int deleteTestTaskCaseByTaskIds(Long[] taskIds) {
|
||||
return testTaskCaseMapper.deleteTestTaskCaseByTaskIds(taskIds);
|
||||
}
|
||||
|
||||
@@ -87,8 +82,12 @@ public class TestTaskCaseServiceImpl implements ITestTaskCaseService
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteTestTaskCaseByTaskId(Long taskId)
|
||||
{
|
||||
public int deleteTestTaskCaseByTaskId(Long taskId) {
|
||||
return testTaskCaseMapper.deleteTestTaskCaseByTaskId(taskId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteTestTaskCase(TestTaskCase testTaskCase) {
|
||||
return testTaskCaseMapper.deleteTestTaskCase(testTaskCase);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.test.test.service.impl;
|
||||
import com.test.common.utils.DateUtils;
|
||||
import com.test.test.domain.*;
|
||||
import com.test.test.domain.qo.GroupIdQO;
|
||||
import com.test.test.domain.vo.TestTaskDetailVO;
|
||||
import com.test.test.mapper.*;
|
||||
import com.test.test.service.ITestTaskService;
|
||||
import jakarta.annotation.Resource;
|
||||
@@ -42,8 +43,18 @@ public class TestTaskServiceImpl implements ITestTaskService {
|
||||
* 查询自动化测试
|
||||
*/
|
||||
@Override
|
||||
public TestTask selectTestTaskById(Long id) {
|
||||
return testTaskMapper.selectTestTaskById(id);
|
||||
public TestTaskDetailVO selectTestTaskById(Long id) {
|
||||
TestTaskDetailVO testTaskDetailVO = new TestTaskDetailVO();
|
||||
testTaskDetailVO.setTask(testTaskMapper.selectTestTaskById(id));
|
||||
List<TestTaskDetailVO.TestCaseVo> caseList = new ArrayList<>();
|
||||
testTaskCaseMapper.selectTestTaskCaseListByTaskId(id).forEach(testTaskCase -> {
|
||||
TestTaskDetailVO.TestCaseVo testCase = new TestTaskDetailVO.TestCaseVo();
|
||||
testCase.setSort(testTaskCase.getSort());
|
||||
testCase.setTestCase(testCaseMapper.selectTestCaseById(testTaskCase.getCaseId()));
|
||||
caseList.add(testCase);
|
||||
});
|
||||
testTaskDetailVO.setCaseList(caseList);
|
||||
return testTaskDetailVO;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -98,7 +109,7 @@ public class TestTaskServiceImpl implements ITestTaskService {
|
||||
*/
|
||||
@Override
|
||||
public boolean executeTestTaskById(Long id, Integer triggerType, String environment, String jmeterHomePath, String operUser) {
|
||||
TestTask testTask = this.selectTestTaskById(id);
|
||||
TestTask testTask = testTaskMapper.selectTestTaskById(id);
|
||||
if (testTask == null || testTask.getStatus() == null
|
||||
|| testTask.getStatus() > 0 || "2".equals(testTask.getDelFlag())) {
|
||||
log.error("定时任务已删除或未启用,不能执行!");
|
||||
|
||||
@@ -60,9 +60,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<delete id="deleteTestTaskCase" parameterType="TestTaskCase">
|
||||
delete from test_task_case where case_id = #{caseId} and task_id = #{taskId}
|
||||
</delete>
|
||||
|
||||
<select id="selectTestTaskCaseListByTaskId" parameterType="Long" resultMap="TestTaskCaseResult">
|
||||
<include refid="selectTestTaskCaseVo"/>
|
||||
where task_id = #{taskId}
|
||||
ORDER BY sort
|
||||
</select>
|
||||
|
||||
<select id="max" parameterType="Long" resultType="Long">
|
||||
select max(sort) from test_task_case where task_id = #{taskId}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user