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.common.utils.bean.BeanUtils; import com.ruoyi.domain.Task; import com.ruoyi.domain.TaskSampleRelation; import com.ruoyi.domain.TaskUserRelation; import com.ruoyi.service.TaskSampleRelationService; import com.ruoyi.service.TaskService; import com.ruoyi.service.TaskUserRelationService; import com.ruoyi.web.request.*; import com.ruoyi.web.response.TaskFindResponse; import com.ruoyi.web.response.TaskGetInfoResponse; 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; import java.util.List; @Api(tags = "总任务") @RestController @RequestMapping("/task") public class TaskController extends BaseController { @Autowired private TaskService taskService; @Autowired private TaskUserRelationService taskUserRelationService; @Autowired private TaskSampleRelationService taskSampleRelationService; @ApiOperation("查询任务列表") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @RequestMapping(method = RequestMethod.POST, value = "/findList") public TableDataInfo<Task> findList(@Validated @RequestBody TaskListRequest request) { startPage(request); return getDataTable(taskService.findList(request)); } @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> createTask(@Validated @RequestBody TaskCreateRequest request) { taskService.createTask(request); return R.ok(); } @ApiOperation("暂存任务") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @Log(title = "总任务", businessType = BusinessType.INSERT) @RequestMapping(method = RequestMethod.POST, value = "/temporaryStorage") public R<String> temporaryStorage(@Validated @RequestBody TaskCreateRequest request) { taskService.temporaryStorageTask(request); return R.ok(); } @ApiOperation("查看暂存任务详情") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @RequestMapping(method = RequestMethod.POST, value = "/getTemporaryStorage") public R<TaskGetInfoResponse> getTemporaryStorage() { TaskGetInfoResponse response = taskService.getByUserId(getUserId()); return R.ok(response); } @ApiOperation("查看任务详情") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @RequestMapping(method = RequestMethod.POST, value = "/getById") public R<TaskGetInfoResponse> getInfo(@Validated @RequestBody TaskGetInfoRequest request) { TaskGetInfoResponse response = taskService.getInfo(request); return R.ok(response); } @ApiOperation("用户发布的任务") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @RequestMapping(method = RequestMethod.POST, value = "/findCreate") public TableDataInfo<TaskFindResponse> findCreate(@Validated @RequestBody TaskFindRequest request) { startPage(request); return getDataTable(taskService.findCreate(request,getUserId())); } @ApiOperation("查询处理中的任务") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @RequestMapping(method = RequestMethod.POST, value = "/findPending") public TableDataInfo<TaskFindResponse> findPending(@Validated @RequestBody TaskFindPendingRequest request) { startPage(request); return getDataTable(taskService.findPending(request)); } @ApiOperation("查询已归档任务") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @RequestMapping(method = RequestMethod.POST, value = "/findFinish") public TableDataInfo<Task> findFinish(@Validated @RequestBody TaskFindFinishRequest request) { startPage(request); return getDataTable(taskService.findFinish(request)); } @ApiOperation("查询已办任务") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @RequestMapping(method = RequestMethod.POST, value = "/findUserFinish") public TableDataInfo<Task> findUserFinish(@Validated @RequestBody TaskFindFinishRequest request) { startPage(request); return getDataTable(taskService.findUserFinish(request,getUserId())); } @ApiOperation("编辑任务") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @Log(title = "编辑任务", businessType = BusinessType.UPDATE) @RequestMapping(method = RequestMethod.POST, value = "/edit") public R<String> editTask(@Validated @RequestBody TaskEditRequest request) { taskService.editTask(request); return R.ok(); } @ApiOperation("删除任务") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @Log(title = "删除任务", businessType = BusinessType.DELETE) @RequestMapping(method = RequestMethod.POST, value = "/remove") public R<String> deleteTask(@Validated @RequestBody TaskDeleteRequest request) { taskService.deleteTask(request); return R.ok(); } @ApiOperation("开始任务") @Trace @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @Log(title = "开始任务", businessType = BusinessType.UPDATE) @RequestMapping(method = RequestMethod.POST, value = "/startTask") public R<String> startTask(@Validated @RequestBody TaskStartRequest request) { taskService.startTask(request); return R.ok(); } }