package com.zhixingyijia.controller; import com.zhixingyijia.common.Result; import com.zhixingyijia.entity.Task; import com.zhixingyijia.service.TaskService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; /** * 任务控制å™? */ @Tag(name = "任务接口") @RestController @RequestMapping("/tasks") public class TaskController { @Autowired private TaskService taskService; @Operation(summary = "获取今日任务") @GetMapping("/today/{childId}") public Result> getTodayTasks(@PathVariable Long childId) { return Result.success(taskService.getTodayTasks(childId)); } @Operation(summary = "获取任务详情") @GetMapping("/{taskId}") public Result getTaskDetail(@PathVariable Long taskId) { return Result.success(taskService.findById(taskId)); } @Operation(summary = "创建任务") @PostMapping public Result createTask(@RequestBody Task task) { return Result.success(taskService.createTask(task)); } @Operation(summary = "完成任务") @PostMapping("/{taskId}/complete") public Result completeTask( @PathVariable Long taskId, @RequestBody(required = false) Map params) { String photoUrl = params != null ? params.get("photoUrl") : null; String voiceUrl = params != null ? params.get("voiceUrl") : null; return Result.success(taskService.completeTask(taskId, photoUrl, voiceUrl)); } @Operation(summary = "审核任务") @PostMapping("/{taskId}/review") public Result reviewTask( @PathVariable Long taskId, @RequestBody Map params) { String result = params.get("result"); String comment = params.get("comment"); Long reviewerId = Long.parseLong(params.get("reviewerId")); return Result.success(taskService.reviewTask(taskId, result, comment, reviewerId)); } @Operation(summary = "获取家庭任务列表") @GetMapping("/family/{familyId}") public Result> getFamilyTasks(@PathVariable Long familyId) { return Result.success(taskService.getFamilyTasks(familyId)); } }