blob: ab4b7ea27d9ff4c8e696cb7823fe5fcce2e93290 [file] [log] [blame]
223011381c359102025-06-03 15:19:59 +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 @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}