Commit 2857e132 authored by 黎博's avatar 黎博

优化场景报告列表接口

parent b14357ad
...@@ -56,8 +56,8 @@ public class TestReportController { ...@@ -56,8 +56,8 @@ public class TestReportController {
* @return * @return
*/ */
@GetMapping("/scene/batch/list") @GetMapping("/scene/batch/list")
public JsonResult getSceneTestcaseReportBatchList(String namespace, Integer projectId, @RequestParam Integer pageNum, @RequestParam Integer pageSize) { public JsonResult getSceneTestcaseReportBatchList(String namespace, Integer projectId, Integer sceneId, String sceneName, @RequestParam Integer pageNum, @RequestParam Integer pageSize) {
IPage<Map<String, Object>> sceneTestcaseReportIPage = sceneTestcaseReportService.getSceneTestcaseReportGroupByBatch(namespace, projectId, pageNum, pageSize); IPage<Map<String, Object>> sceneTestcaseReportIPage = sceneTestcaseReportService.getSceneTestcaseReportGroupByBatch(namespace, projectId, sceneId, sceneName, pageNum, pageSize);
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("total", sceneTestcaseReportIPage.getTotal()); map.put("total", sceneTestcaseReportIPage.getTotal());
map.put("list", sceneTestcaseReportIPage.getRecords()); map.put("list", sceneTestcaseReportIPage.getRecords());
......
...@@ -7,5 +7,5 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -7,5 +7,5 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.Map; import java.util.Map;
public interface SceneTestcaseReportMapper extends BaseMapper<SceneTestcaseReport> { public interface SceneTestcaseReportMapper extends BaseMapper<SceneTestcaseReport> {
IPage<Map<String, Object>> getSceneTestcaseReportGroupByBatch(String namespace, Integer projectId, IPage<Map<String, Object>> page); IPage<Map<String, Object>> getSceneTestcaseReportGroupByBatch(String namespace, Integer projectId, Integer sceneId, String sceneName, IPage<Map<String, Object>> page);
} }
...@@ -10,5 +10,5 @@ public interface SceneTestcaseReportService extends IService<SceneTestcaseReport ...@@ -10,5 +10,5 @@ public interface SceneTestcaseReportService extends IService<SceneTestcaseReport
Map<String, Object> getSceneTestcaseReportListByNamespace(String namespace, Integer moduleId, Integer pageNum, Integer pageSize); Map<String, Object> getSceneTestcaseReportListByNamespace(String namespace, Integer moduleId, Integer pageNum, Integer pageSize);
IPage<Map<String, Object>> getSceneTestcaseReportGroupByBatch(String namespace, Integer projectId, Integer pageNum, Integer pageSize); IPage<Map<String, Object>> getSceneTestcaseReportGroupByBatch(String namespace, Integer projectId, Integer sceneId, String sceneName, Integer pageNum, Integer pageSize);
} }
...@@ -40,8 +40,8 @@ public class SceneTestcaseReportServiceImpl extends ServiceImpl<SceneTestcaseRep ...@@ -40,8 +40,8 @@ public class SceneTestcaseReportServiceImpl extends ServiceImpl<SceneTestcaseRep
} }
@Override @Override
public IPage<Map<String, Object>> getSceneTestcaseReportGroupByBatch(String namespace, Integer projectId, Integer pageNum, Integer pageSize) { public IPage<Map<String, Object>> getSceneTestcaseReportGroupByBatch(String namespace, Integer projectId, Integer sceneId, String sceneName, Integer pageNum, Integer pageSize) {
IPage<Map<String, Object>> page = new Page<>(pageNum, pageSize); IPage<Map<String, Object>> page = new Page<>(pageNum, pageSize);
return sceneTestcaseReportMapper.getSceneTestcaseReportGroupByBatch(namespace, projectId, page); return sceneTestcaseReportMapper.getSceneTestcaseReportGroupByBatch(namespace, projectId, sceneId, sceneName, page);
} }
} }
...@@ -3,14 +3,31 @@ ...@@ -3,14 +3,31 @@
<mapper namespace="cn.qg.holmes.mapper.auto.SceneTestcaseReportMapper"> <mapper namespace="cn.qg.holmes.mapper.auto.SceneTestcaseReportMapper">
<select id="getSceneTestcaseReportGroupByBatch" resultType="java.util.Map"> <select id="getSceneTestcaseReportGroupByBatch" resultType="java.util.Map">
SELECT st.`scene_id` as sceneId, st.`batch`, st.`namespace`, st.`project_id` as projectId, pro.`name` as projectName, st.`create_time` as createTime from `scene_testcase_report` st SELECT st.`scene_id` as sceneId,
left join `auto_project` pro on st.`project_id` = pro.`id` WHERE 1=1 st.`batch`,
st.`namespace`,
st.`project_id` as projectId,
pro.`name` as projectName,
sc.`name` as sceneName,
st.`create_time` as createTime
FROM `scene_testcase_report` st
INNER JOIN `auto_project` pro
ON st.`project_id` = pro.`id`
INNER JOIN `scene` sc
ON st.`scene_id` = sc.id
WHERE 1=1
<if test="projectId != null and projectId !=''"> <if test="projectId != null and projectId !=''">
AND st.`project_id` = #{projectId} AND st.`project_id` = #{projectId}
</if> </if>
<if test="namespace != null and namespace != ''"> <if test="namespace != null and namespace != ''">
AND st.`namespace` = #{namespace} AND st.`namespace` = #{namespace}
</if> </if>
<if test="sceneId != null and sceneId != ''">
AND st.`scene_id` = #{sceneId}
</if>
<if test="sceneName != null and sceneName != ''">
AND sc.`name` LIKE CONCAT('%', #{sceneName}, '%')
</if>
GROUP BY st.`batch` GROUP BY st.`batch`
</select> </select>
......
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