blob: ab4b7ea27d9ff4c8e696cb7823fe5fcce2e93290 [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(@RequestParam("user_id") Long userId) {
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(@RequestParam("user_id") Long userId) {
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);
}
}