| package com.example.myproject.controller; |
| |
| import com.example.myproject.service.LevelService; |
| import org.springframework.beans.factory.annotation.Autowired; |
| import org.springframework.web.bind.annotation.*; |
| |
| import java.util.Map; |
| |
| @RequestMapping("/echo/level") |
| @RestController |
| public class LevelController { |
| |
| @Autowired |
| private LevelService levelService; |
| |
| @GetMapping("/getExperience") |
| public Map<String, Object> getExperience(@RequestParam Long user_id) { |
| return levelService.getUserExperience(user_id); |
| } |
| |
| @PostMapping("/updateExperience") |
| public Map<String, Object> updateExperience(@RequestBody Map<String, Object> params) { |
| Long userId = Long.valueOf(params.get("user_id").toString()); |
| Integer experience = Integer.valueOf(params.get("experience").toString()); |
| String source = params.get("source").toString(); |
| |
| return levelService.updateExperience(userId, experience, source); |
| } |
| |
| // 检查用户是否满足升级条件 |
| @GetMapping("/upgrade-check") |
| public Map<String, Object> checkUpgrade(@RequestParam Long user_id) { |
| return levelService.checkUpgrade(user_id); |
| } |
| |
| @PostMapping("/upgrades") |
| public Map<String, Object> upgradeUserLevel(@RequestBody Map<String, Object> request) { |
| Long userId = Long.valueOf(request.get("user_id").toString()); |
| Boolean canUpgrade = (Boolean) request.get("can_upgrade"); |
| return levelService.upgradeUserLevel(userId, canUpgrade); |
| } |
| } |