| package com.example.myproject.controller; |
| |
| import com.example.myproject.service.TaskService; |
| import org.springframework.beans.factory.annotation.Autowired; |
| import org.springframework.web.bind.annotation.*; |
| |
| import java.util.Map; |
| |
| @RestController |
| @RequestMapping("/echo/task/tutorial") |
| public class TaskController { |
| |
| @Autowired |
| private TaskService taskService; |
| |
| @GetMapping("/getAllTasks") |
| public Map<String, Object> getAllTasks(@RequestParam("user_id") Long userId) { |
| return taskService.getAllTasksForUser(userId); |
| } |
| |
| |
| @PostMapping("/updateStatus") |
| public Map<String, Object> updateTaskStatus(@RequestBody Map<String, Object> request) { |
| Long userId = Long.parseLong(request.get("user_id").toString()); |
| String taskId = request.get("task_id").toString(); |
| return taskService.updateTaskStatus(userId, taskId); |
| } |
| |
| //获取当前经验和任务奖励 |
| @GetMapping("/getExperience") |
| public Map<String, Object> getExperience(@RequestBody Map<String, Object> request) { |
| Long userId = Long.parseLong(request.get("user_id").toString()); |
| return taskService.getUserExperience(userId); |
| } |
| |
| //获取当前的指引步骤 |
| @GetMapping("/getNewStep") |
| public Map<String, Object> getNewStep(@RequestParam("user_id") Long userId) { |
| return taskService.getNewStep(userId); |
| } |
| |
| |
| //更新进度 |
| @PostMapping("/updateProgress") |
| public Map<String, Object> updateProgress(@RequestBody Map<String, Object> request) { |
| Long userId = Long.parseLong(request.get("user_id").toString()); |
| String taskId = request.get("task_id").toString(); |
| Integer progress = Integer.parseInt(request.get("progress").toString()); |
| return taskService.updateTaskProgress(userId, taskId, progress); |
| } |
| |
| //领取任务奖励 |
| @PostMapping("/rewardClaim") |
| public Map<String, Object> rewardClaim(@RequestBody Map<String, Object> request) { |
| Long userId = Long.parseLong(request.get("user_id").toString()); |
| String taskId = request.get("task_id").toString(); |
| return taskService.claimReward(userId, taskId); |
| } |
| |
| //检查任务奖励状态 |
| @PostMapping("/rewardReview") |
| public Map<String, Object> rewardReview(@RequestBody Map<String, Object> request) { |
| Long userId = Long.parseLong(request.get("user_id").toString()); |
| String taskId = request.get("task_id").toString(); |
| return taskService.checkRewardStatus(userId, taskId); |
| } |
| } |