blob: 2e01b0cb1d2ae6169328178f3cf49a9da9397f20 [file] [log] [blame]
223011385e9c35a2025-06-04 15:52:45 +08001package com.example.myproject.controller;
2
3import com.example.myproject.service.TaskService;
4import org.springframework.beans.factory.annotation.Autowired;
5import org.springframework.web.bind.annotation.*;
6
7import java.util.Map;
8
9@RestController
10@RequestMapping("/echo/task/tutorial")
11public 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}