diff --git a/test-test/src/main/java/com/test/test/domain/TestTaskLog.java b/test-test/src/main/java/com/test/test/domain/TestTaskLog.java new file mode 100644 index 0000000..9effee0 --- /dev/null +++ b/test-test/src/main/java/com/test/test/domain/TestTaskLog.java @@ -0,0 +1,48 @@ +package com.test.test.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.test.common.annotation.Excel; +import com.test.common.core.domain.BaseEntity; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +import java.util.Date; + +/** + * 自动化测试任务日志对象 test_task_log + * + * @author test + * @date 2025-02-25 + */ +@Setter +@Getter +@ToString +public class TestTaskLog extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 日志id */ + private Long id; + + /** 任务id */ + @Excel(name = "任务id") + private Long taskId; + + /** 操作类别 */ + @Excel(name = "操作类别") + private String operType; + + /** 操作详情 */ + @Excel(name = "操作详情") + private String operDetail; + + /** 操作人员 */ + @Excel(name = "操作人员") + private String operUser; + + /** 操作时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date operTime; +} diff --git a/test-test/src/main/java/com/test/test/mapper/TestTaskLogMapper.java b/test-test/src/main/java/com/test/test/mapper/TestTaskLogMapper.java new file mode 100644 index 0000000..9174f1c --- /dev/null +++ b/test-test/src/main/java/com/test/test/mapper/TestTaskLogMapper.java @@ -0,0 +1,62 @@ +package com.test.test.mapper; + +import com.test.test.domain.TestTaskLog; + +import java.util.List; + +/** + * 自动化测试日志Mapper接口 + * + * @author test + * @date 2025-02-25 + */ +public interface TestTaskLogMapper +{ + /** + * 查询自动化测试日志 + * + * @param id 自动化测试日志主键 + * @return 自动化测试日志 + */ + public TestTaskLog selectTestTaskLogById(Long id); + + /** + * 查询自动化测试日志列表 + * + * @param testTaskLog 自动化测试日志 + * @return 自动化测试日志集合 + */ + public List selectTestTaskLogList(TestTaskLog testTaskLog); + + /** + * 新增自动化测试日志 + * + * @param testTaskLog 自动化测试日志 + * @return 结果 + */ + public int insertTestTaskLog(TestTaskLog testTaskLog); + + /** + * 修改自动化测试日志 + * + * @param testTaskLog 自动化测试日志 + * @return 结果 + */ + public int updateTestTaskLog(TestTaskLog testTaskLog); + + /** + * 删除自动化测试日志 + * + * @param id 自动化测试日志主键 + * @return 结果 + */ + public int deleteTestTaskLogById(Long id); + + /** + * 批量删除自动化测试日志 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteTestTaskLogByIds(Long[] ids); +} diff --git a/test-test/src/main/java/com/test/test/service/ITestTaskLogService.java b/test-test/src/main/java/com/test/test/service/ITestTaskLogService.java new file mode 100644 index 0000000..0d2e34b --- /dev/null +++ b/test-test/src/main/java/com/test/test/service/ITestTaskLogService.java @@ -0,0 +1,62 @@ +package com.test.test.service; + +import com.test.test.domain.TestTaskLog; + +import java.util.List; + +/** + * 自动化测试日志Service接口 + * + * @author test + * @date 2025-02-25 + */ +public interface ITestTaskLogService +{ + /** + * 查询自动化测试日志 + * + * @param id 自动化测试日志主键 + * @return 自动化测试日志 + */ + public TestTaskLog selectTestTaskLogById(Long id); + + /** + * 查询自动化测试日志列表 + * + * @param testTaskLog 自动化测试日志 + * @return 自动化测试日志集合 + */ + public List selectTestTaskLogList(TestTaskLog testTaskLog); + + /** + * 新增自动化测试日志 + * + * @param testTaskLog 自动化测试日志 + * @return 结果 + */ + public int insertTestTaskLog(TestTaskLog testTaskLog); + + /** + * 修改自动化测试日志 + * + * @param testTaskLog 自动化测试日志 + * @return 结果 + */ + public int updateTestTaskLog(TestTaskLog testTaskLog); + + /** + * 批量删除自动化测试日志 + * + * @param ids 需要删除的自动化测试日志主键集合 + * @return 结果 + */ + public int deleteTestTaskLogByIds(Long[] ids); + + /** + * 删除自动化测试日志信息 + * + * @param id 自动化测试日志主键 + * @return 结果 + */ + public int deleteTestTaskLogById(Long id); +} diff --git a/test-test/src/main/java/com/test/test/service/ITestTaskService.java b/test-test/src/main/java/com/test/test/service/ITestTaskService.java index 8752624..a07ee25 100644 --- a/test-test/src/main/java/com/test/test/service/ITestTaskService.java +++ b/test-test/src/main/java/com/test/test/service/ITestTaskService.java @@ -45,7 +45,8 @@ public interface ITestTaskService { * @param triggerType 触发方式:1-定时任务;2-手动 * @param environment 环境 * @param jmeterHomePath jmeter安装路径 + * @param operUser 操作人 * @return 是否成功 */ - boolean executeTestTaskById(Long id, Integer triggerType, String environment, String jmeterHomePath); + boolean executeTestTaskById(Long id, Integer triggerType, String environment, String jmeterHomePath, String operUser); } diff --git a/test-test/src/main/java/com/test/test/service/impl/TestTaskLogServiceImpl.java b/test-test/src/main/java/com/test/test/service/impl/TestTaskLogServiceImpl.java new file mode 100644 index 0000000..6ff6035 --- /dev/null +++ b/test-test/src/main/java/com/test/test/service/impl/TestTaskLogServiceImpl.java @@ -0,0 +1,94 @@ +package com.test.test.service.impl; + +import com.test.test.domain.TestTaskLog; +import com.test.test.mapper.TestTaskLogMapper; +import com.test.test.service.ITestTaskLogService; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 自动化测试日志Service业务层处理 + * + * @author test + * @date 2025-02-25 + */ +@Service +public class TestTaskLogServiceImpl implements ITestTaskLogService +{ + @Resource + private TestTaskLogMapper testTaskLogMapper; + + /** + * 查询自动化测试日志 + * + * @param id 自动化测试日志主键 + * @return 自动化测试日志 + */ + @Override + public TestTaskLog selectTestTaskLogById(Long id) + { + return testTaskLogMapper.selectTestTaskLogById(id); + } + + /** + * 查询自动化测试日志列表 + * + * @param testTaskLog 自动化测试日志 + * @return 自动化测试日志 + */ + @Override + public List selectTestTaskLogList(TestTaskLog testTaskLog) + { + return testTaskLogMapper.selectTestTaskLogList(testTaskLog); + } + + /** + * 新增自动化测试日志 + * + * @param testTaskLog 自动化测试日志 + * @return 结果 + */ + @Override + public int insertTestTaskLog(TestTaskLog testTaskLog) + { + return testTaskLogMapper.insertTestTaskLog(testTaskLog); + } + + /** + * 修改自动化测试日志 + * + * @param testTaskLog 自动化测试日志 + * @return 结果 + */ + @Override + public int updateTestTaskLog(TestTaskLog testTaskLog) + { + return testTaskLogMapper.updateTestTaskLog(testTaskLog); + } + + /** + * 批量删除自动化测试日志 + * + * @param ids 需要删除的自动化测试日志主键 + * @return 结果 + */ + @Override + public int deleteTestTaskLogByIds(Long[] ids) + { + return testTaskLogMapper.deleteTestTaskLogByIds(ids); + } + + /** + * 删除自动化测试日志信息 + * + * @param id 自动化测试日志主键 + * @return 结果 + */ + @Override + public int deleteTestTaskLogById(Long id) + { + return testTaskLogMapper.deleteTestTaskLogById(id); + } +} diff --git a/test-test/src/main/java/com/test/test/service/impl/TestTaskServiceImpl.java b/test-test/src/main/java/com/test/test/service/impl/TestTaskServiceImpl.java index 7b5136b..ae9b3cb 100644 --- a/test-test/src/main/java/com/test/test/service/impl/TestTaskServiceImpl.java +++ b/test-test/src/main/java/com/test/test/service/impl/TestTaskServiceImpl.java @@ -3,10 +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.mapper.TestCaseMapper; -import com.test.test.mapper.TestCaseStepMapper; -import com.test.test.mapper.TestTaskCaseMapper; -import com.test.test.mapper.TestTaskMapper; +import com.test.test.mapper.*; import com.test.test.service.ITestTaskService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; @@ -35,6 +32,9 @@ public class TestTaskServiceImpl implements ITestTaskService { @Resource private TestCaseStepMapper testCaseStepMapper; + @Resource + private TestTaskLogMapper testTaskLogMapper; + @Autowired private TaskManagerService taskManagerService; @@ -93,16 +93,24 @@ public class TestTaskServiceImpl implements ITestTaskService { * @param triggerType 触发方式:1-定时任务;2-手动 * @param environment 环境 * @param jmeterHomePath jmeter安装路径 + * @param operUser 操作人 * @return 是否执行完成(注:是否成功得看任务结果表) */ @Override - public boolean executeTestTaskById(Long id, Integer triggerType, String environment, String jmeterHomePath) { + public boolean executeTestTaskById(Long id, Integer triggerType, String environment, String jmeterHomePath, String operUser) { TestTask testTask = this.selectTestTaskById(id); if (testTask == null || testTask.getStatus() == null || testTask.getStatus() > 0 || "2".equals(testTask.getDelFlag())) { log.error("定时任务已删除或未启用,不能执行!"); return false; } + TestTaskLog testTaskLog = new TestTaskLog(); + testTaskLog.setTaskId(id); + testTaskLog.setOperType("执行"); + testTaskLog.setOperDetail("操作人:" + operUser + "提交执行了【" + testTask.getName() + "】定时任务测试用例"); + testTaskLog.setOperUser(operUser); + testTaskLog.setOperTime(DateUtils.getNowDate()); + testTaskLogMapper.insertTestTaskLog(testTaskLog); TestTaskResult testTaskResult = new TestTaskResult(); testTaskResult.setTaskId(id); testTaskResult.setTriggerTime(DateUtils.getNowDate()); diff --git a/test-test/src/main/resources/mapper/test/TestTaskLogMapper.xml b/test-test/src/main/resources/mapper/test/TestTaskLogMapper.xml new file mode 100644 index 0000000..93eeeff --- /dev/null +++ b/test-test/src/main/resources/mapper/test/TestTaskLogMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + select id, task_id, oper_type, oper_detail, oper_user, oper_time from test_task_log + + + + + + + + insert into test_task_log + + task_id, + oper_type, + oper_detail, + oper_user, + oper_time, + + + #{taskId}, + #{operType}, + #{operDetail}, + #{operUser}, + #{operTime}, + + + + + update test_task_log + + task_id = #{taskId}, + oper_type = #{operType}, + oper_detail = #{operDetail}, + oper_user = #{operUser}, + oper_time = #{operTime}, + + where id = #{id} + + + + delete from test_task_log where id = #{id} + + + + delete from test_task_log where id in + + #{id} + + +