22301138 | 5e9c35a | 2025-06-04 15:52:45 +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 | //获取当前用户的新手任务列表 |
| 17 | @GetMapping("/getAllTasks") |
| 18 | public Map<String, Object> getAllTasks(@RequestBody Map<String, Object> request) { |
| 19 | Long userId = Long.parseLong(request.get("user_id").toString()); |
| 20 | return taskService.getAllTasksForUser(userId); |
| 21 | } |
| 22 | |
| 23 | @PostMapping("/updateStatus") |
| 24 | public Map<String, Object> updateTaskStatus(@RequestBody Map<String, Object> request) { |
| 25 | Long userId = Long.parseLong(request.get("user_id").toString()); |
| 26 | String taskId = request.get("task_id").toString(); |
| 27 | return taskService.updateTaskStatus(userId, taskId); |
| 28 | } |
| 29 | |
| 30 | //获取当前经验和任务奖励 |
| 31 | @GetMapping("/getExperience") |
| 32 | public Map<String, Object> getExperience(@RequestBody Map<String, Object> request) { |
| 33 | Long userId = Long.parseLong(request.get("user_id").toString()); |
| 34 | return taskService.getUserExperience(userId); |
| 35 | } |
| 36 | |
| 37 | //获取当前的指引步骤 |
| 38 | @GetMapping("/getNewStep") |
| 39 | public Map<String, Object> getNewStep(@RequestBody Map<String, Object> request) { |
| 40 | Long userId = Long.parseLong(request.get("user_id").toString()); |
| 41 | return taskService.getNewStep(userId); |
| 42 | } |
| 43 | |
| 44 | //更新进度 |
| 45 | @PostMapping("/updateProgress") |
| 46 | public Map<String, Object> updateProgress(@RequestBody Map<String, Object> request) { |
| 47 | Long userId = Long.parseLong(request.get("user_id").toString()); |
| 48 | String taskId = request.get("task_id").toString(); |
| 49 | Integer progress = Integer.parseInt(request.get("progress").toString()); |
| 50 | return taskService.updateTaskProgress(userId, taskId, progress); |
| 51 | } |
| 52 | |
| 53 | //领取任务奖励 |
| 54 | @PostMapping("/rewardClaim") |
| 55 | public Map<String, Object> rewardClaim(@RequestBody Map<String, Object> request) { |
| 56 | Long userId = Long.parseLong(request.get("user_id").toString()); |
| 57 | String taskId = request.get("task_id").toString(); |
| 58 | return taskService.claimReward(userId, taskId); |
| 59 | } |
| 60 | |
| 61 | //检查任务奖励状态 |
| 62 | @PostMapping("/rewardReview") |
| 63 | public Map<String, Object> rewardReview(@RequestBody Map<String, Object> request) { |
| 64 | Long userId = Long.parseLong(request.get("user_id").toString()); |
| 65 | String taskId = request.get("task_id").toString(); |
| 66 | return taskService.checkRewardStatus(userId, taskId); |
| 67 | } |
| 68 | } |