Files
lpt-be/src/main/java/com/guo/learningprogresstracker/controller/TaskController.java
T

65 lines
2.4 KiB
Java

package com.guo.learningprogresstracker.controller;
import cn.dev33.satoken.stp.StpUtil;
import com.guo.learningprogresstracker.common.Ops;
import com.guo.learningprogresstracker.entity.CommonResult;
import com.guo.learningprogresstracker.dto.request.TaskRequest;
import com.guo.learningprogresstracker.service.TasksService;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.rmi.ServerException;
/**
* 任务控制层
* @author guo
*/
@RestController
@Validated
@RequiredArgsConstructor
public class TaskController {
private final TasksService tasksService;
@PostMapping("/tasks")
@Operation(summary = "添加新任务")
public CommonResult addTask(@RequestBody @Validated({Ops.CreateG.class}) TaskRequest taskRequest) {
System.out.println("Token: " + StpUtil.getTokenValue());
return CommonResult.success(tasksService.addTask(taskRequest));
}
@Operation(summary = "任务详情API-未完成")
@GetMapping("/tasks/{taskId}")
public CommonResult getTask(@PathVariable("taskId") String taskId) {
return CommonResult.success(tasksService.getTask(taskId));
}
@PutMapping("/tasks/{taskId}")
@Operation(summary = "更新任务详情")
public CommonResult updateTask(@PathVariable("taskId") String taskId,@Validated(Ops.UpdateG.class) @RequestBody TaskRequest updatedTask) {
tasksService.updateTask(taskId, updatedTask);
return CommonResult.success();
}
@DeleteMapping("/tasks/{taskId}")
@Operation(summary = "删除指定任务")
public CommonResult deleteTask(@PathVariable("taskId") String taskId) throws ServerException {
tasksService.deleteTask(taskId);
return CommonResult.success();
}
@GetMapping("/tasks")
@Operation(summary = "获取所有任务列表")
public CommonResult tasksList() {
return CommonResult.success(tasksService.taskList());
}
}