package com.ruoyi.web; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.domain.CarReviewTask; import com.ruoyi.service.CarReviewTaskService; import com.ruoyi.web.request.*; import com.ruoyi.web.response.CarReviewTaskViewResponse; import com.ruoyi.web.response.SystemReviewTaskViewResponse; 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.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @Api(tags = {"车辆审查任务"}) @RestController @RequestMapping("/car/review/task") public class CarReviewTaskController extends BaseController { @Autowired private CarReviewTaskService carReviewTaskService; @ApiOperation("创建车辆审查任务") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @Log(title = "车辆审查任务", businessType = BusinessType.INSERT) @RequestMapping(method = RequestMethod.POST, value = "/add") public R<String> create(@Validated @RequestBody CarReviewTaskCreateRequest request) { carReviewTaskService.createTask(request); return R.ok(); } @ApiOperation("查看车辆问卷审查任务详情") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @RequestMapping(method = RequestMethod.POST, value = "/getById") public R<CarReviewTaskViewResponse> view(@Validated @RequestBody CarReviewTaskViewRequest request) { CarReviewTaskViewResponse carReviewTaskViewResponse = carReviewTaskService.viewReviewTask(request.getTaskId()); return R.ok(carReviewTaskViewResponse); } @ApiOperation("启动车辆问卷审查任务") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @RequestMapping(method = RequestMethod.POST, value = "/startReview") public R<String> startReview(@Validated @RequestBody CarReviewTaskStartRequest request) { carReviewTaskService.startReviewTask(request); return R.ok(); } @ApiOperation("确认车辆问卷审查任务") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @RequestMapping(method = RequestMethod.POST, value = "/confirmReview") public R<String> confirmReview(@Validated @RequestBody CarReviewTaskConfirmRequest request) { carReviewTaskService.confirmReviewTask(request); return R.ok(); } @ApiOperation("提交车辆问卷审查任务") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @RequestMapping(method = RequestMethod.POST, value = "/submitReview") public R<String> submitReview(@Validated @RequestBody CarReviewTaskSubmitRequest request) { carReviewTaskService.submitReviewTask(request); return R.ok(); } @ApiOperation("查询处理中的任务") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @RequestMapping(method = RequestMethod.POST, value = "/findPending") public TableDataInfo<CarReviewTask> findPending(@Validated @RequestBody CarReviewTaskFindPendingRequest request) { startPage(request); return getDataTable(carReviewTaskService.findListByStatus(CarReviewTask.TASK_STATUS_PENDING)); } @ApiOperation("查询处理完成的任务") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @RequestMapping(method = RequestMethod.POST, value = "/findFinish") public TableDataInfo<CarReviewTask> findFinish(@Validated @RequestBody CarReviewTaskFindFinishRequest request) { startPage(request); return getDataTable(carReviewTaskService.findListByStatus(CarReviewTask.TASK_STATUS_FINISH)); } }