package com.ruoyi.web; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.domain.TestUseCase; import com.ruoyi.domain.vo.UseCaseUrlVO; import com.ruoyi.service.TestUseCaseService; import com.ruoyi.web.request.TestUseCaseByScenarioRequest; import com.ruoyi.web.request.TestUseCaseIdListRequest; import com.ruoyi.web.request.TestUserCaseRequest; import com.ruoyi.web.response.TestUserCaseListResponse; import com.ruoyi.web.response.UseCaseResponse; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.skywalking.apm.toolkit.trace.Tag; 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.*; import java.io.IOException; import java.util.List; @Api(tags = "测试用例") @RestController @RequestMapping("/system/testCase") public class TestUserCaseController extends BaseController{ @Autowired private TestUseCaseService testUseCaseService; @ApiOperation("查询测试用例分页查询") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @RequestMapping(method = RequestMethod.POST, value = "/getList") public TableDataInfo<TestUseCase> listPage(@Validated @RequestBody TestUserCaseRequest testUserCaseRequest){ startPage(testUserCaseRequest); List<TestUseCase> list = testUseCaseService.selectseCaseList(testUserCaseRequest); return getDataTable(list); } /** * 通过车型试验ID获取所绑定的测试用例 * @param request * @return */ @ApiOperation("根据场景查询用例ID集合") @PostMapping("/getCaseIdList") public R<List<String>> getCaseIdList(@Validated @RequestBody TestUseCaseIdListRequest request) { return R.ok(testUseCaseService.selectCaseIdList(request)); } /** * 通过测试场景获取所绑定的测试用例 * @param request * @return */ @ApiOperation("根据场景查询用例ID集合(科恩)") @PostMapping("/getCaseByScenario") public R<List<String>> getCaseByScenario(@Validated @RequestBody TestUseCaseByScenarioRequest request) { return R.ok(testUseCaseService.selectCaseByScenario(request)); } /** * 根据场景查询测试用例集合 * @param request * @return * @throws IOException */ @ApiOperation("根据场景查询测试用例集合") @RequestMapping(method = RequestMethod.POST, value = "/getUseCaseListByScenario", produces="application/json;charset=UTF-8") public R<List<String>> getUseCaseListByScenario(@Validated @RequestBody String request) throws IOException { return R.ok(testUseCaseService.selectCaseListByScenario(request)); } /** * 科恩获取测试用例 * @param request * @return * @throws IOException */ @ApiOperation("查询测试用例分页查询(科恩)") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @RequestMapping(method = RequestMethod.POST, value = "/getUseCaseList", produces="application/json;charset=UTF-8") public R<TestUserCaseListResponse> getUseCaseList(@Validated @RequestBody String request) throws IOException { return R.ok(testUseCaseService.getUseCaseList(request)); } /** * 科恩获取首页信息 * @param request * @return * @throws IOException */ @ApiOperation("科恩获取首页信息") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @RequestMapping(method = RequestMethod.POST, value = "/getUseCaseMsg", produces="application/json;charset=UTF-8") public R<UseCaseResponse> getUseCaseMsg(@Validated @RequestBody String request) throws IOException { return R.ok(testUseCaseService.getUseCaseMsg(request)); } /** * 科恩根据章节查询用例列表 * @param request * @return * @throws IOException */ @ApiOperation("科恩根据章节查询用例列表") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @RequestMapping(method = RequestMethod.POST, value = "/getUseCaseByChapter", produces="application/json;charset=UTF-8") public TableDataInfo<UseCaseUrlVO> getUseCaseByChapter(@Validated @RequestBody String request) throws IOException { List<UseCaseUrlVO> list = testUseCaseService.getUseCaseByChapter(request); return getDataTable(list); } }