22301138 | 1c35910 | 2025-06-03 15:19:59 +0800 | [diff] [blame^] | 1 | package com.example.myproject.controller; |
| 2 | |
| 3 | import com.example.myproject.service.TaskService; |
| 4 | import org.springframework.beans.factory.annotation.Autowired; |
| 5 | import org.springframework.web.bind.annotation.*; |
| 6 | |
| 7 | import java.util.Map; |
| 8 | |
| 9 | @RestController |
| 10 | @RequestMapping("/echo/task/tutorial") |
| 11 | public class TaskController { |
| 12 | |
| 13 | @Autowired |
| 14 | private TaskService taskService; |
| 15 | |
| 16 | @GetMapping("/getAllTasks") |
| 17 | public Map<String, Object> getAllTasks(@RequestParam("user_id") Long userId) { |
| 18 | return taskService.getAllTasksForUser(userId); |
| 19 | } |
| 20 | |
| 21 | |
| 22 | @PostMapping("/updateStatus") |
| 23 | public Map<String, Object> updateTaskStatus(@RequestBody Map<String, Object> request) { |
| 24 | Long userId = Long.parseLong(request.get("user_id").toString()); |
| 25 | String taskId = request.get("task_id").toString(); |
| 26 | return taskService.updateTaskStatus(userId, taskId); |
| 27 | } |
| 28 | |
| 29 | //获取当前经验和任务奖励 |
| 30 | @GetMapping("/getExperience") |
| 31 | public Map<String, Object> getExperience(@RequestBody Map<String, Object> request) { |
| 32 | Long userId = Long.parseLong(request.get("user_id").toString()); |
| 33 | return taskService.getUserExperience(userId); |
| 34 | } |
| 35 | |
| 36 | //获取当前的指引步骤 |
| 37 | @GetMapping("/getNewStep") |
| 38 | public Map<String, Object> getNewStep(@RequestParam("user_id") Long userId) { |
| 39 | return taskService.getNewStep(userId); |
| 40 | } |
| 41 | |
| 42 | |
| 43 | //更新进度 |
| 44 | @PostMapping("/updateProgress") |
| 45 | public Map<String, Object> updateProgress(@RequestBody Map<String, Object> request) { |
| 46 | Long userId = Long.parseLong(request.get("user_id").toString()); |
| 47 | String taskId = request.get("task_id").toString(); |
| 48 | Integer progress = Integer.parseInt(request.get("progress").toString()); |
| 49 | return taskService.updateTaskProgress(userId, taskId, progress); |
| 50 | } |
| 51 | |
| 52 | //领取任务奖励 |
| 53 | @PostMapping("/rewardClaim") |
| 54 | public Map<String, Object> rewardClaim(@RequestBody Map<String, Object> request) { |
| 55 | Long userId = Long.parseLong(request.get("user_id").toString()); |
| 56 | String taskId = request.get("task_id").toString(); |
| 57 | return taskService.claimReward(userId, taskId); |
| 58 | } |
| 59 | |
| 60 | //检查任务奖励状态 |
| 61 | @PostMapping("/rewardReview") |
| 62 | public Map<String, Object> rewardReview(@RequestBody Map<String, Object> request) { |
| 63 | Long userId = Long.parseLong(request.get("user_id").toString()); |
| 64 | String taskId = request.get("task_id").toString(); |
| 65 | return taskService.checkRewardStatus(userId, taskId); |
| 66 | } |
| 67 | } |