blob: 2e01b0cb1d2ae6169328178f3cf49a9da9397f20 [file] [log] [blame]
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(@RequestBody Map<String, Object> request) {
Long userId = Long.parseLong(request.get("user_id").toString());
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(@RequestBody Map<String, Object> request) {
Long userId = Long.parseLong(request.get("user_id").toString());
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);
}
}