Commit f2ab4aa6 authored by yuanshuo's avatar yuanshuo

添加新接口查询所有用例/review/scene/change/task/getUseCaseList

parent 95360a3d
......@@ -46,4 +46,9 @@ public interface ReviewStandardMapper extends BaseMapper<ReviewStandard> {
* 标准内容库新界面接口
* */
List<ReviewStandardChapterListResponse> findChaptersByStandard(@Param("request") StandardListNewRequest request);
ReviewStandardResponseNew selectReviewStandardById(@Param("key") Long key);
List<Long> getIdList(@Param("getUseCaseRequestNew") GetUseCaseRequestNew getUseCaseRequestNew);
}
......@@ -2,10 +2,25 @@ package com.ruoyi.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.domain.ReviewUsecase;
import com.ruoyi.web.request.GetUseCaseRequest;
import com.ruoyi.web.request.ReviewKeyPointListRequest;
import com.ruoyi.web.response.UseCaseResponseDTO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface ReviewUsecaseMapper extends BaseMapper<ReviewUsecase> {
ReviewUsecase getById(Long reviewUsecaseId);
/*
* 查询所有测试用例
* */
List<UseCaseResponseDTO> getUseCaseList();
List<UseCaseResponseDTO> getUseCaseListByIdList(@Param("idList") List<Long> idList);
}
......@@ -88,4 +88,5 @@ public interface ReviewStandardService extends IService<ReviewStandard> {
* */
ReviewStandardListNewResponse getListNew(StandardListNewRequest request);
List<Long> getIdList(GetUseCaseRequestNew getUseCaseRequestNew);
}
package com.ruoyi.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.web.request.GetUseCaseRequest;
import com.ruoyi.web.request.ReviewKeyPointListRequest;
import com.ruoyi.web.response.GetUseCaseResponse;
import com.ruoyi.web.response.UseCaseResponseDTO;
import org.springframework.stereotype.Service;
import java.util.List;
public interface ReviewUsecaseService {
/*
* 查询所有测试用例
* */
List<GetUseCaseResponse> getUseCaseList();
/*
* 查询所有测试用例
* */
/*List<GetUseCaseResponse> getUseCaseListByIds(List<Long> idList);*/
}
......@@ -97,11 +97,23 @@ public class ReviewStandardServiceImpl extends ServiceImpl<ReviewStandardMapper,
// 查询审查要点
List<ReviewKeyPoint> reviewKeyPointList = reviewKeyPointService.findByStandardList(reviewStandardList);
if (reviewKeyPointList.size() == 0){
return ReviewStandardInspectionContentResponse.builder().keyPointList(new ArrayList<>()).build();
}
// 查询审查细则
List<ReviewDetails> reivewDetailsList = reviewDetailsService.findByKeyPointsList(reviewKeyPointList);
if (reivewDetailsList.size() == 0){
List<ReviewKeyPoint> keyPoints = buildKeyPoint(reviewKeyPointList, new ArrayList<>());
return ReviewStandardInspectionContentResponse.builder().keyPointList(keyPoints).build();
}
// 查询审查场景
List<ReviewScene> reviewSceneList = reviewSceneService.findByDetailsList(reivewDetailsList);
if (reviewSceneList.size() == 0){
List<ReviewDetails> reviewDetails = buildDetails(reivewDetailsList, reviewSceneList);
List<ReviewKeyPoint> keyPoints = buildKeyPoint(reviewKeyPointList, reviewDetails);
ReviewStandardInspectionContentResponse response = ReviewStandardInspectionContentResponse.builder().keyPointList(keyPoints).build();
return response;
}
// 调用方法把数据变为树状结构
List<ReviewDetails> reviewDetails = buildDetails(reivewDetailsList, reviewSceneList);
List<ReviewKeyPoint> keyPoints = buildKeyPoint(reviewKeyPointList, reviewDetails);
......@@ -491,4 +503,9 @@ public class ReviewStandardServiceImpl extends ServiceImpl<ReviewStandardMapper,
return response;
}
@Override
public List<Long> getIdList(GetUseCaseRequestNew getUseCaseRequestNew) {
return reviewStandardMapper.getIdList(getUseCaseRequestNew);
}
}
package com.ruoyi.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.mapper.ReviewStandardMapper;
import com.ruoyi.mapper.ReviewUsecaseMapper;
import com.ruoyi.service.ReviewUsecaseService;
import com.ruoyi.web.request.GetUseCaseRequest;
import com.ruoyi.web.request.ReviewKeyPointListRequest;
import com.ruoyi.web.response.GetUseCaseResponse;
import com.ruoyi.web.response.ReviewStandardResponse;
import com.ruoyi.web.response.ReviewStandardResponseNew;
import com.ruoyi.web.response.UseCaseResponseDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class ReviewUsecaseServiceImpl implements ReviewUsecaseService {
@Autowired
private ReviewUsecaseMapper reviewUsecaseMapper;
@Autowired
private ReviewStandardMapper reviewStandardMapper;
/*
* 查询所有测试用例
* */
@Override
public List<GetUseCaseResponse> getUseCaseList() {
//获取所有用例列表
List<UseCaseResponseDTO> useCaseResponseDTOList = reviewUsecaseMapper.getUseCaseList();
// 按照 standardId 对用例进行分组
Map<Long, List<UseCaseResponseDTO>> groupedUseCases = useCaseResponseDTOList.stream()
.collect(Collectors.groupingBy(UseCaseResponseDTO::getReviewStandardId));
// 将分组后的数据封装到 GetUseCaseResponse 列表中
List<GetUseCaseResponse> getUseCaseResponseList = new ArrayList<>();
for (Map.Entry<Long, List<UseCaseResponseDTO>> entry : groupedUseCases.entrySet()) {
// 获取标准信息
ReviewStandardResponseNew reviewStandardResponse = reviewStandardMapper.selectReviewStandardById(entry.getKey());
System.out.println(reviewStandardResponse+"==========");
// 创建 GetUseCaseResponse 对象
GetUseCaseResponse getUseCaseResponse = new GetUseCaseResponse();
getUseCaseResponse.setText(reviewStandardResponse.getText());
getUseCaseResponse.setStandardId(reviewStandardResponse.getStandardId()); // 设置标准ID
getUseCaseResponse.setStandardNo(reviewStandardResponse.getStandardNo()); // 设置标准编号
getUseCaseResponse.setUseCaseResponseDTOList(entry.getValue()); // 设置用例列表
// 添加到返回列表
getUseCaseResponseList.add(getUseCaseResponse);
}
return getUseCaseResponseList;
}
/* @Override
public List<GetUseCaseResponse> getUseCaseListByIds(List<Long> idList) {
//获取所有测试用例
List<UseCaseResponseDTO> useCaseResponseDTOList = reviewUsecaseMapper.getUseCaseListByIdList(idList);
// 按 reviewStandardId 分组
Map<Long, List<UseCaseResponseDTO>> groupedUseCases = useCaseResponseDTOList.stream()
.collect(Collectors.groupingBy(UseCaseResponseDTO::getReviewStandardId));
// 创建返回结果列表
List<GetUseCaseResponse> getUseCaseResponseList = new ArrayList<>();
for (Map.Entry<Long, List<UseCaseResponseDTO>> entry : groupedUseCases.entrySet()) {
// 获取标准信息
ReviewStandardResponse reviewStandardResponse = reviewStandardMapper.selectReviewStandardById(entry.getKey());
// 处理标准信息为 null 的情况
if (reviewStandardResponse == null) {
// 如果标准信息为 null,则跳过该条记录,或者根据需求处理
continue;
}
// 组装 GetUseCaseResponse 对象
GetUseCaseResponse getUseCaseResponse = new GetUseCaseResponse();
getUseCaseResponse.setStandardId(reviewStandardResponse.getStandardId());
getUseCaseResponse.setStandardNo(reviewStandardResponse.getStandardNo());
getUseCaseResponse.setUseCaseResponseDTOList(entry.getValue());
// 获取第一个 UseCaseResponseDTO 作为示例,来填充其他字段
UseCaseResponseDTO exampleDTO = entry.getValue().get(0);
getUseCaseResponse.setId(exampleDTO.getId());
getUseCaseResponse.setText(exampleDTO.getUsecaseDescribe());
// 添加到返回列表
getUseCaseResponseList.add(getUseCaseResponse);
}
return null;
}*/
}
......@@ -9,7 +9,10 @@ import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.domain.ReviewKeyPoint;
import com.ruoyi.domain.ReviewSceneChangeTask;
import com.ruoyi.mapper.ReviewUsecaseMapper;
import com.ruoyi.service.ReviewSceneChangeTaskService;
import com.ruoyi.service.ReviewStandardService;
import com.ruoyi.service.ReviewUsecaseService;
import com.ruoyi.web.request.ReviewSceneChangeTaskCreateRequest;
import com.ruoyi.web.request.ReviewSceneChangeTaskPassRequest;
import com.ruoyi.web.response.*;
......@@ -22,10 +25,7 @@ import org.apache.skywalking.apm.toolkit.trace.Tags;
import org.apache.skywalking.apm.toolkit.trace.Trace;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
......@@ -37,6 +37,12 @@ public class ReviewSceneChangeTaskController extends BaseController {
@Autowired
private ReviewSceneChangeTaskService reviewSceneChangeTaskService;
@Autowired
private ReviewUsecaseService reviewUsecaseService;
@Autowired
private ReviewStandardService reviewStandardService;
@ApiOperation("新建场景变更任务")
@Trace
@Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")})
......@@ -231,4 +237,38 @@ public class ReviewSceneChangeTaskController extends BaseController {
Long id = Long.parseLong(request.getId());
return R.ok(reviewSceneChangeTaskService.getReviewerOpinion(id));
}
/*
* 查询所有测试用例
* */
@ApiOperation("查询所有测试用例")
@Trace
@Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")})
@Log(title = "查询所有测试用例", businessType = BusinessType.UPDATE)
@RequestMapping(method = RequestMethod.POST, value = "/getUseCaseList")
public R<List<GetUseCaseResponse>> getUseCaseList(){
List<GetUseCaseResponse> getUseCaseResponseList = reviewUsecaseService.getUseCaseList();
return R.ok(getUseCaseResponseList);
}
/*
* 查询测试用例
* */
/*@ApiOperation("查询所有测试用例")
@Trace
@Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")})
@Log(title = "查询所有测试用例", businessType = BusinessType.UPDATE)
@RequestMapping(method = RequestMethod.POST, value = "/getUseCaseListAll")
public R<List<GetUseCaseResponse>> getUseCaseListAll(@RequestBody GetUseCaseRequestNew GetUseCaseRequestNew){
List<Long> idList = reviewStandardService.getIdList(GetUseCaseRequestNew);
List<GetUseCaseResponse> getUseCaseResponseList = reviewUsecaseService.getUseCaseListByIds(idList);
return R.ok();
}*/
/*
* 新增细则按钮
* */
/*public R<List<AddDetailsResponse>> getDetailsListNew(){
return R.ok();
}*/
}
package com.ruoyi.web.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "GetUseCaseRequest" ,description = "获取测试用例列表请求request")
public class GetUseCaseRequest {
@ApiModelProperty("标准id")
private String reviewStandardId;
}
package com.ruoyi.web.request;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@Data
@ApiModel(value = "GetUseCaseRequestNew" ,description = "获取测试用例列表请求request")
public class GetUseCaseRequestNew {
private Long standardId;
private String standardNo;
private String type;
}
package com.ruoyi.web.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@ApiModel(value = "AddDetailsResponse", description = "新增细则按钮响应数据")
@Data
public class AddDetailsResponse {
@ApiModelProperty("章节")
private String chapter;
@ApiModelProperty("标准内容")
private String text;
@ApiModelProperty("标准id")
private Long standardId;
@ApiModelProperty("标准编号")
private String standardNo;
@ApiModelProperty("标准下keypoint集合")
private List<KeypointList> keypointList;
}
package com.ruoyi.web.response;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.List;
@ApiModel(value = "GetUseCaseResponse", description = "查询测试用例")
@Data
public class GetUseCaseResponse {
private Long id;
private String text;
private Long standardId;
private String standardNo;
private List<UseCaseResponseDTO> useCaseResponseDTOList;
}
package com.ruoyi.web.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "KeypointList", description = "要点列表")
@Data
public class KeypointList {
@ApiModelProperty("要点id")
private Long id;
@ApiModelProperty("要点内容")
private String text;
@ApiModelProperty("标准id")
private Long reviewStandardId;
}
package com.ruoyi.web.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel
public class ReviewStandardResponseNew {
@ApiModelProperty("ID")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;
/**
* 章节
*/
@ApiModelProperty("章节")
private String chapter;
/**
* 文本内容
*/
@ApiModelProperty("文本内容")
private String text;
/**
* 测试方法(车型试验专有)
*/
@ApiModelProperty("测试方法(车型试验专有)")
private String testMethod;
@ApiModelProperty("标准名称")
private String name;
@ApiModelProperty("标准号")
private String standardNo;
@ApiModelProperty("标准id")
private Long standardId;
}
package com.ruoyi.web.response;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@ApiModel(value = "UseCaseResponseDTO", description = "测试用例DTO")
@Data
public class UseCaseResponseDTO {
private Long id;
private String usecaseId;
private String usecaseDescribe;
private Long reviewStandardId;
}
......@@ -58,8 +58,12 @@
<if test="name != null and text != ''">and name like concat('%',#{name}, '%')</if>
<if test="standardNo != null and standardNo != ''">and standard_no like concat('%',#{standardNo},'%')</if>
</where>
/*ORDER BY
chapter*/
ORDER BY
chapter
CAST(SUBSTRING_INDEX(chapter, '.', 1) AS UNSIGNED),
CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(chapter, '.', 2), '.', -1) AS UNSIGNED),
CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(chapter, '.', 3), '.', -1) AS UNSIGNED)
</select>
<select id="selectTestInspectionContent"
......@@ -114,7 +118,16 @@
WHERE standard_no = #{request.standardNo}
AND standard_id = #{request.standardId}
</select>
<select id="selectReviewStandardById" resultType="com.ruoyi.web.response.ReviewStandardResponseNew">
select standard_id,standard_no,text
from t_review_standard
where id = #{key}
</select>
<select id="getIdList" resultType="java.lang.Long">
select id
from t_review_standard
where standard_no = #{getUseCaseRequestNew.standardNo} and type = #{getUseCaseRequestNew.type} and standard_id = #{getUseCaseRequestNew.standardId}
</select>
</mapper>
......@@ -14,4 +14,23 @@
from t_review_usecase
where id = #{id}
</select>
<select id="getUseCaseList" resultType="com.ruoyi.web.response.UseCaseResponseDTO">
select *
from t_review_usecase
</select>
<select id="getUseCaseListByIdList" resultType="com.ruoyi.web.response.UseCaseResponseDTO">
SELECT
u.id,
u.usecase_id AS usecaseId,
u.usecase_describe AS usecaseDescribe,
u.review_standard_id AS reviewStandardId
FROM
t_review_usecase u
WHERE
u.review_standard_id IN
<foreach item="id" collection="idList" open="(" separator="," close=")">
#{id}
</foreach>
</select>
</mapper>
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