Commit 7937a21b authored by 黎博's avatar 黎博

Merge branch 'auto' into mock

parents 54efe9ee 8e076c1e
......@@ -34,20 +34,33 @@ public class InterfaceController {
* @param moduleId 非必传
* @param pageNum 第几页
* @param pageSize 每页数量
* @param interfaceName 接口名称
* @return
*/
@GetMapping("/list")
public JsonResult getInterfaceList(Integer projectId,
Integer moduleId,
String interfaceName,
@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize) {
IPage<Interface> interfaceIPageEntity = interfaceService.getInterfaceList(projectId, moduleId, pageNum, pageSize);
IPage<Interface> interfaceIPageEntity = interfaceService.getInterfaceList(projectId, moduleId, interfaceName, pageNum, pageSize);
Map<String, Object> map = new HashMap<>();
map.put("total", interfaceIPageEntity.getTotal());
map.put("list", interfaceIPageEntity.getRecords());
return JsonResult.buildSuccessResult(map);
}
/**
* 获取接口详情
* @param interfaceId 接口id
* @return
*/
@GetMapping("/detail")
public JsonResult getInterfaceDetail(Integer interfaceId) {
Interface anInterface = interfaceService.getById(interfaceId);
return JsonResult.buildSuccessResult(anInterface);
}
/**
* 新增接口
* @param interfaceEntity 接口类实体
......
......@@ -29,24 +29,18 @@ public class SceneController {
AutoProjectService autoProjectService;
/**
* 获取场景列表
* @param projectId 项目id
* @param sceneName 场景名称
* @param pageNum 第几页
* @param pageSize 每页多少个
* @return
*/
@GetMapping("/list")
public JsonResult getSceneList(Integer projectId,
String sceneName,
@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize) {
IPage<Scene> page = new Page<>(pageNum, pageSize);
IPage<Scene> sceneIPage;
if (projectId == null) {
sceneIPage = sceneService.page(page);
} else {
QueryWrapper<Scene> sceneQueryWrapper = new QueryWrapper<>();
sceneQueryWrapper.eq("project_id", projectId);
sceneIPage = sceneService.page(page, sceneQueryWrapper);
}
IPage<Scene> sceneIPage = sceneService.getSceneList(projectId, sceneName, pageNum, pageSize);
Map<String, Object> map = new HashMap<>();
map.put("list", sceneIPage.getRecords());
map.put("total", sceneIPage.getTotal());
......
......@@ -5,7 +5,6 @@ import cn.qg.holmes.entity.auto.Testcase;
import cn.qg.holmes.service.auto.TestcaseService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -33,23 +32,28 @@ public class TestcaseController {
*/
@GetMapping("/list")
public JsonResult getTestcaseList(Integer moduleId,
String testcaseName,
@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize) {
IPage<Testcase> page = new Page<>(pageNum, pageSize);
IPage<Testcase> testcaseIPageEntity;
if (moduleId != null) {
QueryWrapper<Testcase> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("module_id", moduleId);
testcaseIPageEntity = testcaseService.page(page, queryWrapper);
} else {
testcaseIPageEntity = testcaseService.page(page);
}
IPage<Testcase> testcaseIPageEntity = testcaseService.getTestcaseList(moduleId, testcaseName, pageNum, pageSize);
Map<String, Object> map = new HashMap<>();
map.put("total", testcaseIPageEntity.getTotal());
map.put("list", testcaseIPageEntity.getRecords());
return JsonResult.buildSuccessResult(map);
}
/**
* 根据接口id获取对应的用例列表
* @param interfaceId 接口id
* @return
*/
@GetMapping("/byInterface")
public JsonResult getTestcaseListByInterface(Integer interfaceId) {
QueryWrapper<Testcase> testcaseQueryWrapper = new QueryWrapper<>();
testcaseQueryWrapper.eq("interface_id", interfaceId);
return JsonResult.buildSuccessResult(testcaseService.list(testcaseQueryWrapper));
}
/**
* 新增单接口用例
* @param testcase
......
package cn.qg.holmes.entity.auto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
......@@ -23,4 +24,6 @@ public class Scene {
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
@TableField(exist = false)
private String projectName;
}
package cn.qg.holmes.entity.auto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
......@@ -31,4 +32,8 @@ public class Testcase {
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
@TableField(exist = false)
private String interfaceName;
@TableField(exist = false)
private String moduleName;
}
......@@ -5,5 +5,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
public interface InterfaceMapper extends BaseMapper<Interface> {
IPage<Interface> getInterfaceList(IPage<Interface> page, Integer projectId, Integer moduleId);
IPage<Interface> getInterfaceList(IPage<Interface> page, Integer projectId, Integer moduleId, String interfaceName);
}
......@@ -2,6 +2,8 @@ package cn.qg.holmes.mapper.auto;
import cn.qg.holmes.entity.auto.Scene;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
public interface SceneMapper extends BaseMapper<Scene> {
IPage<Scene> getSceneList(IPage<Scene> page, Integer projectId, String sceneName);
}
......@@ -2,6 +2,8 @@ package cn.qg.holmes.mapper.auto;
import cn.qg.holmes.entity.auto.Testcase;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
public interface TestcaseMapper extends BaseMapper<Testcase> {
IPage<Testcase> getTestcaseList(IPage<Testcase> page, Integer moduleId, String testcaseName);
}
......@@ -5,5 +5,5 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
public interface InterfaceService extends IService<Interface> {
IPage<Interface> getInterfaceList(Integer projectId, Integer moduleId, Integer pageNum, Integer pageSize);
IPage<Interface> getInterfaceList(Integer projectId, Integer moduleId, String interfaceName, Integer pageNum, Integer pageSize);
}
package cn.qg.holmes.service.auto;
import cn.qg.holmes.entity.auto.Scene;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
public interface SceneService extends IService<Scene> {
IPage<Scene> getSceneList(Integer projectId, String sceneName, Integer pageNum, Integer pageSize);
}
package cn.qg.holmes.service.auto;
import cn.qg.holmes.entity.auto.Testcase;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
public interface TestcaseService extends IService<Testcase> {
IPage<Testcase> getTestcaseList(Integer moduleId, String testcaseName, Integer pageNum, Integer pageSize);
String singleTestcaseExecutor(String namespace, Integer testcaseId, String batch);
String executeTestcaseByModuleId(String namespace, Integer moduleId, String batch);
......
......@@ -21,9 +21,9 @@ public class InterfaceServiceImpl extends ServiceImpl<InterfaceMapper, Interface
InterfaceMapper interfaceMapper;
@Override
public IPage<Interface> getInterfaceList(Integer projectId, Integer moduleId, Integer pageNum, Integer pageSize) {
public IPage<Interface> getInterfaceList(Integer projectId, Integer moduleId, String interfaceName, Integer pageNum, Integer pageSize) {
IPage<Interface> page = new Page<>(pageNum, pageSize);
IPage<Interface> interfaceIPage = interfaceMapper.getInterfaceList(page, projectId, moduleId);
IPage<Interface> interfaceIPage = interfaceMapper.getInterfaceList(page, projectId, moduleId, interfaceName);
return interfaceIPage;
}
}
......@@ -3,10 +3,21 @@ package cn.qg.holmes.service.auto.impl;
import cn.qg.holmes.entity.auto.Scene;
import cn.qg.holmes.mapper.auto.SceneMapper;
import cn.qg.holmes.service.auto.SceneService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class SceneServiceImpl extends ServiceImpl<SceneMapper, Scene> implements SceneService {
@Autowired
SceneMapper sceneMapper;
@Override
public IPage<Scene> getSceneList(Integer projectId, String sceneName, Integer pageNum, Integer pageSize) {
IPage<Scene> page = new Page<>(pageNum, pageSize);
return sceneMapper.getSceneList(page, projectId, sceneName);
}
}
......@@ -9,6 +9,8 @@ import cn.qg.holmes.service.auto.*;
import cn.qg.holmes.utils.HttpClientUtils;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -42,6 +44,12 @@ public class TestcaseServiceImpl extends ServiceImpl<TestcaseMapper, Testcase> i
@Autowired
TestcaseReportService testcaseReportService;
@Override
public IPage<Testcase> getTestcaseList(Integer moduleId, String testcaseName, Integer pageNum, Integer pageSize) {
IPage<Testcase> page = new Page<>(pageNum, pageSize);
return testcaseMapper.getTestcaseList(page, moduleId, testcaseName);
}
/**
* 执行单接口用例
* @param namespace 环境
......
......@@ -14,5 +14,8 @@
<if test="moduleId != null and moduleId != ''">
AND am.`id` = #{moduleId}
</if>
<if test="interfaceName != null and interfaceName != ''">
AND it.`name` like CONCAT('%', #{interfaceName}, '%')
</if>
</select>
</mapper>
\ No newline at end of file
<?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="cn.qg.holmes.mapper.auto.SceneMapper">
<select id="getSceneList" resultType="cn.qg.holmes.entity.auto.Scene">
SELECT sc.*, ap.name as projectName
FROM `scene` as sc
INNER JOIN `auto_project` as ap
ON sc.`project_id` = ap.`id`
WHERE 1=1
<if test="projectId != null and projectId != ''">
AND sc.`project_id` = #{projectId}
</if>
<if test="sceneName != null and sceneName !=''">
AND sc.`name` like CONCAT('%', #{sceneName}, '%')
</if>
</select>
</mapper>
\ No newline at end of file
<?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="cn.qg.holmes.mapper.auto.TestcaseMapper">
<select id="getTestcaseList" resultType="cn.qg.holmes.entity.auto.Testcase">
SELECT tc.*, am.`name` as moduleName, it.`name` as interfaceName
FROM `testcase` as tc
INNER JOIN `auto_module` as am ON tc.`module_id` = am.`id`
INNER JOIN `interface` as it ON tc.`interface_id` = it.`id`
WHERE 1=1
<if test="moduleId != null and moduleId !=''">
AND tc.`module_id` = #{moduleId}
</if>
<if test="testcaseName != null and testcaseName !=''">
AND tc.`name` LIKE CONCAT('%', #{testcaseName}, '%')
</if>
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment