This commit is contained in:
2025-03-03 16:44:15 +08:00
parent 379cf19425
commit cbf60d042c
18 changed files with 422 additions and 891 deletions

View File

@@ -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));
}
}

View File

@@ -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()));
}
}

View File

@@ -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;
}
}

View File

@@ -66,4 +66,8 @@ public interface TestTaskCaseMapper
* @return
*/
public List<TestTaskCase> selectTestTaskCaseListByTaskId(Long taskId);
Long max(Long taskId);
int deleteTestTaskCase(TestTaskCase testTaskCase);
}

View File

@@ -59,4 +59,6 @@ public interface ITestTaskCaseService
* @return 结果
*/
public int deleteTestTaskCaseByTaskId(Long taskId);
int deleteTestTaskCase(TestTaskCase testTaskCase);
}

View File

@@ -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);
/**
* 查询自动化测试列表

View File

@@ -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);
}
}

View File

@@ -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("定时任务已删除或未启用,不能执行!");

View File

@@ -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>