TaskController.java 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package com.zhixingyijia.controller;
  2. import com.zhixingyijia.common.Result;
  3. import com.zhixingyijia.entity.Task;
  4. import com.zhixingyijia.service.TaskService;
  5. import io.swagger.v3.oas.annotations.Operation;
  6. import io.swagger.v3.oas.annotations.tags.Tag;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.web.bind.annotation.*;
  9. import java.util.List;
  10. import java.util.Map;
  11. /**
  12. * 任务控制� */
  13. @Tag(name = "任务接�")
  14. @RestController
  15. @RequestMapping("/tasks")
  16. public class TaskController {
  17. @Autowired
  18. private TaskService taskService;
  19. @Operation(summary = "获�今日任务")
  20. @GetMapping("/today/{childId}")
  21. public Result<List<Task>> getTodayTasks(@PathVariable Long childId) {
  22. return Result.success(taskService.getTodayTasks(childId));
  23. }
  24. @Operation(summary = "获�任务详情")
  25. @GetMapping("/{taskId}")
  26. public Result<Task> getTaskDetail(@PathVariable Long taskId) {
  27. return Result.success(taskService.findById(taskId));
  28. }
  29. @Operation(summary = "创建任务")
  30. @PostMapping
  31. public Result<Task> createTask(@RequestBody Task task) {
  32. return Result.success(taskService.createTask(task));
  33. }
  34. @Operation(summary = "完�任务")
  35. @PostMapping("/{taskId}/complete")
  36. public Result<Task> completeTask(
  37. @PathVariable Long taskId,
  38. @RequestBody(required = false) Map<String, String> params) {
  39. String photoUrl = params != null ? params.get("photoUrl") : null;
  40. String voiceUrl = params != null ? params.get("voiceUrl") : null;
  41. return Result.success(taskService.completeTask(taskId, photoUrl, voiceUrl));
  42. }
  43. @Operation(summary = "审核任务")
  44. @PostMapping("/{taskId}/review")
  45. public Result<Task> reviewTask(
  46. @PathVariable Long taskId,
  47. @RequestBody Map<String, String> params) {
  48. String result = params.get("result");
  49. String comment = params.get("comment");
  50. Long reviewerId = Long.parseLong(params.get("reviewerId"));
  51. return Result.success(taskService.reviewTask(taskId, result, comment, reviewerId));
  52. }
  53. @Operation(summary = "获�家庭任务列表")
  54. @GetMapping("/family/{familyId}")
  55. public Result<List<Task>> getFamilyTasks(@PathVariable Long familyId) {
  56. return Result.success(taskService.getFamilyTasks(familyId));
  57. }
  58. }