Compare commits

...

2 Commits

Author SHA1 Message Date
liangdaliang
e8038a8d57 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	test-test/src/main/java/com/test/test/domain/TestTask.java
#	test-test/src/main/java/com/test/test/mapper/TestTaskMapper.java
#	test-test/src/main/java/com/test/test/service/ITestTaskService.java
#	test-test/src/main/java/com/test/test/service/impl/TestTaskServiceImpl.java
#	test-test/src/main/resources/mapper/test/TestTaskMapper.xml
2025-02-21 15:18:01 +08:00
liangdaliang
0e611817a7 定时任务dao层提交 2025-02-21 15:15:15 +08:00
15 changed files with 850 additions and 76 deletions

View File

@@ -1,74 +1,59 @@
package com.test.test.domain;
import com.test.common.annotation.Excel;
import com.test.common.core.domain.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import com.test.common.annotation.Excel;
/**
* 自动化测试对象 test_task
*
* @author liangdl
* @date 2025-02-21
*/
@Getter
@Setter
@Getter
@ToString
public class TestTask extends BaseEntity {
public class TestTask extends BaseEntity
{
private static final long serialVersionUID = 1L;
/**
* 任务id
*/
/** 任务id */
private Long id;
/**
* 任务名称
*/
/** 任务名称 */
@Excel(name = "任务名称")
private String name;
/**
* 节点id
*/
/** 节点id */
@Excel(name = "节点id")
private Long groupId;
/**
* 项目id
*/
/** 项目id */
@Excel(name = "项目id")
private Long projectId;
/**
* crontab表达式
*/
/** crontab表达式 */
@Excel(name = "crontab表达式")
private String crontab;
/**
* 定时任务开关
*/
/** 定时任务开关 */
@Excel(name = "定时任务开关")
private Integer status;
/**
* 失败重试开关
*/
/** 失败重试开关 */
@Excel(name = "失败重试开关")
private Integer retry;
/**
* 失败重试次数
*/
/** 失败重试次数 */
@Excel(name = "失败重试次数")
private Long retryCount;
/**
* 并行开关
*/
/** 并行开关 */
@Excel(name = "并行开关")
private Integer async;
/**
* 删除标志0代表存在 2代表删除
*/
/** 删除标志0代表存在 2代表删除 */
private String delFlag;
}

View File

@@ -0,0 +1,31 @@
package com.test.test.domain;
import com.test.common.annotation.Excel;
import com.test.common.core.domain.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
/**
* 自动化测试和用例关联对象 test_task_case
*
* @author liangdl
* @date 2025-02-21
*/
@Setter
@Getter
@ToString
public class TestTaskCase extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 任务id */
private Long taskId;
/** 用例id */
private Long caseId;
/** 执行顺序 */
@Excel(name = "执行顺序")
private Long sort;
}

View File

@@ -0,0 +1,73 @@
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_result
*
* @author liangdl
* @date 2025-02-21
*/
@Setter
@Getter
@ToString
public class TestTaskResult extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 报告id */
private Long id;
/** 任务id */
@Excel(name = "任务id")
private Long taskId;
/** 执行时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "执行时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date triggerTime;
/** 执行时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "执行时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date startTime;
/** 触发方式1-定时任务2-手动 */
@Excel(name = "触发方式1-定时任务2-手动")
private Long triggerType;
/** 环境 */
@Excel(name = "环境")
private String environment;
/** 定时任务执行状态1成功2失败 */
@Excel(name = "定时任务执行状态", readConverterExp = "1=成功2失败")
private Long status;
/** 发送状态0未发送1已发送 */
@Excel(name = "发送状态", readConverterExp = "0=未发送1已发送")
private Long sendStatus;
/** 执行耗时毫秒 */
@Excel(name = "执行耗时毫秒")
private Long costTime;
/** 用例数量 */
@Excel(name = "用例数量")
private Long caseCount;
/** 用例步骤数量 */
@Excel(name = "用例步骤数量")
private Long caseStepCount;
/** 结果描述 */
@Excel(name = "结果描述")
private String resultDesc;
}

View File

@@ -0,0 +1,62 @@
package com.test.test.mapper;
import com.test.test.domain.TestTaskCase;
import java.util.List;
/**
* 自动化测试和用例关联Mapper接口
*
* @author liangdl
* @date 2025-02-21
*/
public interface TestTaskCaseMapper
{
/**
* 查询自动化测试和用例关联
*
* @param taskId 自动化测试和用例关联主键
* @return 自动化测试和用例关联
*/
public TestTaskCase selectTestTaskCaseByTaskId(Long taskId);
/**
* 查询自动化测试和用例关联列表
*
* @param testTaskCase 自动化测试和用例关联
* @return 自动化测试和用例关联集合
*/
public List<TestTaskCase> selectTestTaskCaseList(TestTaskCase testTaskCase);
/**
* 新增自动化测试和用例关联
*
* @param testTaskCase 自动化测试和用例关联
* @return 结果
*/
public int insertTestTaskCase(TestTaskCase testTaskCase);
/**
* 修改自动化测试和用例关联
*
* @param testTaskCase 自动化测试和用例关联
* @return 结果
*/
public int updateTestTaskCase(TestTaskCase testTaskCase);
/**
* 删除自动化测试和用例关联
*
* @param taskId 自动化测试和用例关联主键
* @return 结果
*/
public int deleteTestTaskCaseByTaskId(Long taskId);
/**
* 批量删除自动化测试和用例关联
*
* @param taskIds 需要删除的数据主键集合
* @return 结果
*/
public int deleteTestTaskCaseByTaskIds(Long[] taskIds);
}

View File

@@ -1,41 +1,62 @@
package com.test.test.mapper;
import com.test.test.domain.TestTask;
import java.util.List;
import com.test.test.domain.TestTask;
import com.test.test.domain.qo.GroupIdQO;
/**
* 自动化测试Mapper接口
*
* @author liangdl
* @date 2025-02-21
*/
public interface TestTaskMapper {
public interface TestTaskMapper
{
/**
* 查询自动化测试
*
* @param id 自动化测试主键
* @return 自动化测试
*/
TestTask selectTestTaskById(Long id);
public TestTask selectTestTaskById(Long id);
/**
* 查询自动化测试列表
*
* @param testTask 自动化测试
* @return 自动化测试集合
*/
List<TestTask> selectTestTaskList(GroupIdQO testTask);
public List<TestTask> selectTestTaskList(TestTask testTask);
/**
* 新增自动化测试
*
* @param testTask 自动化测试
* @return 结果
*/
int insertTestTask(TestTask testTask);
public int insertTestTask(TestTask testTask);
/**
* 修改自动化测试
*
* @param testTask 自动化测试
* @return 结果
*/
int updateTestTask(TestTask testTask);
public int updateTestTask(TestTask testTask);
/**
* 删除自动化测试
*
* @param id 自动化测试主键
* @return 结果
*/
int deleteTestTaskById(Long id);
public int deleteTestTaskById(Long id);
/**
* 批量删除自动化测试
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
int deleteTestTaskByIds(Long[] ids);
public int deleteTestTaskByIds(Long[] ids);
}

View File

@@ -0,0 +1,62 @@
package com.test.test.mapper;
import com.test.test.domain.TestTaskResult;
import java.util.List;
/**
* 自动化测试执行报告Mapper接口
*
* @author liangdl
* @date 2025-02-21
*/
public interface TestTaskResultMapper
{
/**
* 查询自动化测试执行报告
*
* @param id 自动化测试执行报告主键
* @return 自动化测试执行报告
*/
public TestTaskResult selectTestTaskResultById(Long id);
/**
* 查询自动化测试执行报告列表
*
* @param testTaskResult 自动化测试执行报告
* @return 自动化测试执行报告集合
*/
public List<TestTaskResult> selectTestTaskResultList(TestTaskResult testTaskResult);
/**
* 新增自动化测试执行报告
*
* @param testTaskResult 自动化测试执行报告
* @return 结果
*/
public int insertTestTaskResult(TestTaskResult testTaskResult);
/**
* 修改自动化测试执行报告
*
* @param testTaskResult 自动化测试执行报告
* @return 结果
*/
public int updateTestTaskResult(TestTaskResult testTaskResult);
/**
* 删除自动化测试执行报告
*
* @param id 自动化测试执行报告主键
* @return 结果
*/
public int deleteTestTaskResultById(Long id);
/**
* 批量删除自动化测试执行报告
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteTestTaskResultByIds(Long[] ids);
}

View File

@@ -0,0 +1,62 @@
package com.test.test.service;
import com.test.test.domain.TestTaskCase;
import java.util.List;
/**
* 自动化测试和用例关联Service接口
*
* @author test
* @date 2025-02-21
*/
public interface ITestTaskCaseService
{
/**
* 查询自动化测试和用例关联
*
* @param taskId 自动化测试和用例关联主键
* @return 自动化测试和用例关联
*/
public TestTaskCase selectTestTaskCaseByTaskId(Long taskId);
/**
* 查询自动化测试和用例关联列表
*
* @param testTaskCase 自动化测试和用例关联
* @return 自动化测试和用例关联集合
*/
public List<TestTaskCase> selectTestTaskCaseList(TestTaskCase testTaskCase);
/**
* 新增自动化测试和用例关联
*
* @param testTaskCase 自动化测试和用例关联
* @return 结果
*/
public int insertTestTaskCase(TestTaskCase testTaskCase);
/**
* 修改自动化测试和用例关联
*
* @param testTaskCase 自动化测试和用例关联
* @return 结果
*/
public int updateTestTaskCase(TestTaskCase testTaskCase);
/**
* 批量删除自动化测试和用例关联
*
* @param taskIds 需要删除的自动化测试和用例关联主键集合
* @return 结果
*/
public int deleteTestTaskCaseByTaskIds(Long[] taskIds);
/**
* 删除自动化测试和用例关联信息
*
* @param taskId 自动化测试和用例关联主键
* @return 结果
*/
public int deleteTestTaskCaseByTaskId(Long taskId);
}

View File

@@ -0,0 +1,62 @@
package com.test.test.service;
import com.test.test.domain.TestTaskResult;
import java.util.List;
/**
* 自动化测试执行报告Service接口
*
* @author test
* @date 2025-02-21
*/
public interface ITestTaskResultService
{
/**
* 查询自动化测试执行报告
*
* @param id 自动化测试执行报告主键
* @return 自动化测试执行报告
*/
public TestTaskResult selectTestTaskResultById(Long id);
/**
* 查询自动化测试执行报告列表
*
* @param testTaskResult 自动化测试执行报告
* @return 自动化测试执行报告集合
*/
public List<TestTaskResult> selectTestTaskResultList(TestTaskResult testTaskResult);
/**
* 新增自动化测试执行报告
*
* @param testTaskResult 自动化测试执行报告
* @return 结果
*/
public int insertTestTaskResult(TestTaskResult testTaskResult);
/**
* 修改自动化测试执行报告
*
* @param testTaskResult 自动化测试执行报告
* @return 结果
*/
public int updateTestTaskResult(TestTaskResult testTaskResult);
/**
* 批量删除自动化测试执行报告
*
* @param ids 需要删除的自动化测试执行报告主键集合
* @return 结果
*/
public int deleteTestTaskResultByIds(Long[] ids);
/**
* 删除自动化测试执行报告信息
*
* @param id 自动化测试执行报告主键
* @return 结果
*/
public int deleteTestTaskResultById(Long id);
}

View File

@@ -1,41 +1,62 @@
package com.test.test.service;
import java.util.List;
import com.test.test.domain.TestTask;
import com.test.test.domain.qo.GroupIdQO;
import java.util.List;
/**
* 自动化测试Service接口
*
* @author test
* @date 2025-02-21
*/
public interface ITestTaskService
{
/**
* 查询自动化测试
*
* @param id 自动化测试主键
* @return 自动化测试
*/
TestTask selectTestTaskById(Long id);
public TestTask selectTestTaskById(Long id);
/**
* 查询自动化测试列表
*
* @param testTask 自动化测试
* @return 自动化测试集合
*/
List<TestTask> selectTestTaskList(GroupIdQO testTask);
public List<TestTask> selectTestTaskList(TestTask testTask);
/**
* 新增自动化测试
*
* @param testTask 自动化测试
* @return 结果
*/
int insertTestTask(TestTask testTask);
public int insertTestTask(TestTask testTask);
/**
* 修改自动化测试
*
* @param testTask 自动化测试
* @return 结果
*/
int updateTestTask(TestTask testTask);
public int updateTestTask(TestTask testTask);
/**
* 批量删除自动化测试
*
* @param ids 需要删除的自动化测试主键集合
* @return 结果
*/
int deleteTestTaskByIds(Long[] ids);
public int deleteTestTaskByIds(Long[] ids);
/**
* 删除自动化测试信息
*
* @param id 自动化测试主键
* @return 结果
*/
int deleteTestTaskById(Long id);
public int deleteTestTaskById(Long id);
}

View File

@@ -0,0 +1,94 @@
package com.test.test.service.impl;
import com.test.test.domain.TestTaskCase;
import com.test.test.mapper.TestTaskCaseMapper;
import com.test.test.service.ITestTaskCaseService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 自动化测试和用例关联Service业务层处理
*
* @author liangdl
* @date 2025-02-21
*/
@Service
public class TestTaskCaseServiceImpl implements ITestTaskCaseService
{
@Resource
private TestTaskCaseMapper testTaskCaseMapper;
/**
* 查询自动化测试和用例关联
*
* @param taskId 自动化测试和用例关联主键
* @return 自动化测试和用例关联
*/
@Override
public TestTaskCase selectTestTaskCaseByTaskId(Long taskId)
{
return testTaskCaseMapper.selectTestTaskCaseByTaskId(taskId);
}
/**
* 查询自动化测试和用例关联列表
*
* @param testTaskCase 自动化测试和用例关联
* @return 自动化测试和用例关联
*/
@Override
public List<TestTaskCase> selectTestTaskCaseList(TestTaskCase testTaskCase)
{
return testTaskCaseMapper.selectTestTaskCaseList(testTaskCase);
}
/**
* 新增自动化测试和用例关联
*
* @param testTaskCase 自动化测试和用例关联
* @return 结果
*/
@Override
public int insertTestTaskCase(TestTaskCase testTaskCase)
{
return testTaskCaseMapper.insertTestTaskCase(testTaskCase);
}
/**
* 修改自动化测试和用例关联
*
* @param testTaskCase 自动化测试和用例关联
* @return 结果
*/
@Override
public int updateTestTaskCase(TestTaskCase testTaskCase)
{
return testTaskCaseMapper.updateTestTaskCase(testTaskCase);
}
/**
* 批量删除自动化测试和用例关联
*
* @param taskIds 需要删除的自动化测试和用例关联主键
* @return 结果
*/
@Override
public int deleteTestTaskCaseByTaskIds(Long[] taskIds)
{
return testTaskCaseMapper.deleteTestTaskCaseByTaskIds(taskIds);
}
/**
* 删除自动化测试和用例关联信息
*
* @param taskId 自动化测试和用例关联主键
* @return 结果
*/
@Override
public int deleteTestTaskCaseByTaskId(Long taskId)
{
return testTaskCaseMapper.deleteTestTaskCaseByTaskId(taskId);
}
}

View File

@@ -0,0 +1,96 @@
package com.test.test.service.impl;
import com.test.common.utils.DateUtils;
import com.test.test.domain.TestTaskResult;
import com.test.test.mapper.TestTaskResultMapper;
import com.test.test.service.ITestTaskResultService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 自动化测试执行报告Service业务层处理
*
* @author test
* @date 2025-02-21
*/
@Service
public class TestTaskResultServiceImpl implements ITestTaskResultService
{
@Resource
private TestTaskResultMapper testTaskResultMapper;
/**
* 查询自动化测试执行报告
*
* @param id 自动化测试执行报告主键
* @return 自动化测试执行报告
*/
@Override
public TestTaskResult selectTestTaskResultById(Long id)
{
return testTaskResultMapper.selectTestTaskResultById(id);
}
/**
* 查询自动化测试执行报告列表
*
* @param testTaskResult 自动化测试执行报告
* @return 自动化测试执行报告
*/
@Override
public List<TestTaskResult> selectTestTaskResultList(TestTaskResult testTaskResult)
{
return testTaskResultMapper.selectTestTaskResultList(testTaskResult);
}
/**
* 新增自动化测试执行报告
*
* @param testTaskResult 自动化测试执行报告
* @return 结果
*/
@Override
public int insertTestTaskResult(TestTaskResult testTaskResult)
{
testTaskResult.setCreateTime(DateUtils.getNowDate());
return testTaskResultMapper.insertTestTaskResult(testTaskResult);
}
/**
* 修改自动化测试执行报告
*
* @param testTaskResult 自动化测试执行报告
* @return 结果
*/
@Override
public int updateTestTaskResult(TestTaskResult testTaskResult)
{
return testTaskResultMapper.updateTestTaskResult(testTaskResult);
}
/**
* 批量删除自动化测试执行报告
*
* @param ids 需要删除的自动化测试执行报告主键
* @return 结果
*/
@Override
public int deleteTestTaskResultByIds(Long[] ids)
{
return testTaskResultMapper.deleteTestTaskResultByIds(ids);
}
/**
* 删除自动化测试执行报告信息
*
* @param id 自动化测试执行报告主键
* @return 结果
*/
@Override
public int deleteTestTaskResultById(Long id)
{
return testTaskResultMapper.deleteTestTaskResultById(id);
}
}

View File

@@ -1,70 +1,97 @@
package com.test.test.service.impl;
import com.test.common.utils.DateUtils;
import com.test.test.domain.TestTask;
import com.test.test.mapper.TestTaskMapper;
import com.test.test.service.ITestTaskService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import java.util.List;
import com.test.common.utils.DateUtils;
import com.test.test.domain.qo.GroupIdQO;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import com.test.test.mapper.TestTaskMapper;
import com.test.test.domain.TestTask;
import com.test.test.service.ITestTaskService;
/**
* 自动化测试Service业务层处理
*
* @author test
* @date 2025-02-21
*/
@Service
public class TestTaskServiceImpl implements ITestTaskService {
public class TestTaskServiceImpl implements ITestTaskService
{
@Resource
private TestTaskMapper testTaskMapper;
/**
* 查询自动化测试
*
* @param id 自动化测试主键
* @return 自动化测试
*/
@Override
public TestTask selectTestTaskById(Long id) {
public TestTask selectTestTaskById(Long id)
{
return testTaskMapper.selectTestTaskById(id);
}
/**
* 查询自动化测试列表
*
* @param testTask 自动化测试
* @return 自动化测试
*/
@Override
public List<TestTask> selectTestTaskList(GroupIdQO qo) {
return testTaskMapper.selectTestTaskList(qo);
public List<TestTask> selectTestTaskList(TestTask testTask)
{
return testTaskMapper.selectTestTaskList(testTask);
}
/**
* 新增自动化测试
*
* @param testTask 自动化测试
* @return 结果
*/
@Override
public int insertTestTask(TestTask testTask) {
public int insertTestTask(TestTask testTask)
{
testTask.setCreateTime(DateUtils.getNowDate());
return testTaskMapper.insertTestTask(testTask);
}
/**
* 修改自动化测试
*
* @param testTask 自动化测试
* @return 结果
*/
@Override
public int updateTestTask(TestTask testTask) {
public int updateTestTask(TestTask testTask)
{
testTask.setUpdateTime(DateUtils.getNowDate());
return testTaskMapper.updateTestTask(testTask);
}
/**
* 批量删除自动化测试
*
* @param ids 需要删除的自动化测试主键
* @return 结果
*/
@Override
public int deleteTestTaskByIds(Long[] ids) {
public int deleteTestTaskByIds(Long[] ids)
{
return testTaskMapper.deleteTestTaskByIds(ids);
}
/**
* 删除自动化测试信息
*
* @param id 自动化测试主键
* @return 结果
*/
@Override
public int deleteTestTaskById(Long id) {
public int deleteTestTaskById(Long id)
{
return testTaskMapper.deleteTestTaskById(id);
}
}

View File

@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.test.test.mapper.TestTaskCaseMapper">
<resultMap type="TestTaskCase" id="TestTaskCaseResult">
<result property="taskId" column="task_id" />
<result property="caseId" column="case_id" />
<result property="sort" column="sort" />
</resultMap>
<sql id="selectTestTaskCaseVo">
select task_id, case_id, sort from test_task_case
</sql>
<select id="selectTestTaskCaseList" parameterType="TestTaskCase" resultMap="TestTaskCaseResult">
<include refid="selectTestTaskCaseVo"/>
<where>
<if test="sort != null "> and sort = #{sort}</if>
</where>
</select>
<select id="selectTestTaskCaseByTaskId" parameterType="Long" resultMap="TestTaskCaseResult">
<include refid="selectTestTaskCaseVo"/>
where task_id = #{taskId}
</select>
<insert id="insertTestTaskCase" parameterType="TestTaskCase">
insert into test_task_case
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="taskId != null">task_id,</if>
<if test="caseId != null">case_id,</if>
<if test="sort != null">sort,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="taskId != null">#{taskId},</if>
<if test="caseId != null">#{caseId},</if>
<if test="sort != null">#{sort},</if>
</trim>
</insert>
<update id="updateTestTaskCase" parameterType="TestTaskCase">
update test_task_case
<trim prefix="SET" suffixOverrides=",">
<if test="caseId != null">case_id = #{caseId},</if>
<if test="sort != null">sort = #{sort},</if>
</trim>
where task_id = #{taskId}
</update>
<delete id="deleteTestTaskCaseByTaskId" parameterType="Long">
delete from test_task_case where task_id = #{taskId}
</delete>
<delete id="deleteTestTaskCaseByTaskIds" parameterType="String">
delete from test_task_case where task_id in
<foreach item="taskId" collection="array" open="(" separator="," close=")">
#{taskId}
</foreach>
</delete>
</mapper>

View File

@@ -25,12 +25,18 @@
select id, name, group_id, project_id, crontab, status, retry, retry_count, async, del_flag, create_by, create_time, update_by, update_time from test_task
</sql>
<select id="selectTestTaskList" parameterType="GroupIdQO" resultMap="TestTaskResult">
<select id="selectTestTaskList" parameterType="TestTask" resultMap="TestTaskResult">
<include refid="selectTestTaskVo"/>
<where>
group_id = #{groupId}
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
<if test="groupId != null "> and group_id = #{groupId}</if>
<if test="projectId != null "> and project_id = #{projectId}</if>
<if test="crontab != null and crontab != ''"> and crontab = #{crontab}</if>
<if test="status != null "> and status = #{status}</if>
<if test="retry != null "> and retry = #{retry}</if>
<if test="retryCount != null "> and retry_count = #{retryCount}</if>
<if test="async != null "> and async = #{async}</if>
</where>
order by create_time desc
</select>
<select id="selectTestTaskById" parameterType="Long" resultMap="TestTaskResult">

View File

@@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.test.test.mapper.TestTaskResultMapper">
<resultMap type="TestTaskResult" id="TestTaskResultResult">
<result property="id" column="id" />
<result property="taskId" column="task_id" />
<result property="triggerTime" column="trigger_time" />
<result property="startTime" column="start_time" />
<result property="triggerType" column="trigger_type" />
<result property="environment" column="environment" />
<result property="status" column="status" />
<result property="sendStatus" column="send_status" />
<result property="costTime" column="cost_time" />
<result property="caseCount" column="case_count" />
<result property="caseStepCount" column="case_step_count" />
<result property="resultDesc" column="result_desc" />
<result property="createTime" column="create_time" />
</resultMap>
<sql id="selectTestTaskResultVo">
select id, task_id, trigger_time, start_time, trigger_type, environment, status, send_status, cost_time, case_count, case_step_count, result_desc, create_time from test_task_result
</sql>
<select id="selectTestTaskResultList" parameterType="TestTaskResult" resultMap="TestTaskResultResult">
<include refid="selectTestTaskResultVo"/>
<where>
<if test="taskId != null "> and task_id = #{taskId}</if>
<if test="triggerTime != null "> and trigger_time = #{triggerTime}</if>
<if test="startTime != null "> and start_time = #{startTime}</if>
<if test="triggerType != null "> and trigger_type = #{triggerType}</if>
<if test="environment != null and environment != ''"> and environment = #{environment}</if>
<if test="status != null "> and status = #{status}</if>
<if test="sendStatus != null "> and send_status = #{sendStatus}</if>
<if test="costTime != null "> and cost_time = #{costTime}</if>
<if test="caseCount != null "> and case_count = #{caseCount}</if>
<if test="caseStepCount != null "> and case_step_count = #{caseStepCount}</if>
<if test="resultDesc != null and resultDesc != ''"> and result_desc = #{resultDesc}</if>
</where>
</select>
<select id="selectTestTaskResultById" parameterType="Long" resultMap="TestTaskResultResult">
<include refid="selectTestTaskResultVo"/>
where id = #{id}
</select>
<insert id="insertTestTaskResult" parameterType="TestTaskResult" useGeneratedKeys="true" keyProperty="id">
insert into test_task_result
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="taskId != null">task_id,</if>
<if test="triggerTime != null">trigger_time,</if>
<if test="startTime != null">start_time,</if>
<if test="triggerType != null">trigger_type,</if>
<if test="environment != null">environment,</if>
<if test="status != null">status,</if>
<if test="sendStatus != null">send_status,</if>
<if test="costTime != null">cost_time,</if>
<if test="caseCount != null">case_count,</if>
<if test="caseStepCount != null">case_step_count,</if>
<if test="resultDesc != null">result_desc,</if>
<if test="createTime != null">create_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="taskId != null">#{taskId},</if>
<if test="triggerTime != null">#{triggerTime},</if>
<if test="startTime != null">#{startTime},</if>
<if test="triggerType != null">#{triggerType},</if>
<if test="environment != null">#{environment},</if>
<if test="status != null">#{status},</if>
<if test="sendStatus != null">#{sendStatus},</if>
<if test="costTime != null">#{costTime},</if>
<if test="caseCount != null">#{caseCount},</if>
<if test="caseStepCount != null">#{caseStepCount},</if>
<if test="resultDesc != null">#{resultDesc},</if>
<if test="createTime != null">#{createTime},</if>
</trim>
</insert>
<update id="updateTestTaskResult" parameterType="TestTaskResult">
update test_task_result
<trim prefix="SET" suffixOverrides=",">
<if test="taskId != null">task_id = #{taskId},</if>
<if test="triggerTime != null">trigger_time = #{triggerTime},</if>
<if test="startTime != null">start_time = #{startTime},</if>
<if test="triggerType != null">trigger_type = #{triggerType},</if>
<if test="environment != null">environment = #{environment},</if>
<if test="status != null">status = #{status},</if>
<if test="sendStatus != null">send_status = #{sendStatus},</if>
<if test="costTime != null">cost_time = #{costTime},</if>
<if test="caseCount != null">case_count = #{caseCount},</if>
<if test="caseStepCount != null">case_step_count = #{caseStepCount},</if>
<if test="resultDesc != null">result_desc = #{resultDesc},</if>
<if test="createTime != null">create_time = #{createTime},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteTestTaskResultById" parameterType="Long">
delete from test_task_result where id = #{id}
</delete>
<delete id="deleteTestTaskResultByIds" parameterType="String">
delete from test_task_result where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>