diff --git a/src/main/java/xuan/controller/UserController.java b/src/main/java/xuan/controller/UserController.java index a3e79fa..8aefe05 100644 --- a/src/main/java/xuan/controller/UserController.java +++ b/src/main/java/xuan/controller/UserController.java @@ -293,4 +293,30 @@ public class UserController { } return result; } + + @PostMapping("/addCoins") + public Map addCoins(@RequestBody Map params) { + Map result = new HashMap<>(); + try { + String userId = params.get("userId").toString(); + Integer amount = params.get("amount") != null ? Integer.parseInt(params.get("amount").toString()) : 1; + String type = params.get("type") != null ? params.get("type").toString() : "unknown"; + String description = params.get("description") != null ? params.get("description").toString() : "金币奖励"; + + UserInfo user = userInfoService.addCoins(userId, amount, type, description); + if (user != null) { + Map data = new HashMap<>(); + data.put("coins", user.getCoins()); + result.put("success", true); + result.put("data", data); + } else { + result.put("success", false); + result.put("error", "用户不存在"); + } + } catch (Exception e) { + result.put("success", false); + result.put("error", e.getMessage()); + } + return result; + } } diff --git a/src/main/java/xuan/service/UserInfoService.java b/src/main/java/xuan/service/UserInfoService.java index 07148a3..65e22e7 100644 --- a/src/main/java/xuan/service/UserInfoService.java +++ b/src/main/java/xuan/service/UserInfoService.java @@ -55,7 +55,7 @@ public class UserInfoService { return null; } - public UserInfo addCoins(String userId, Integer amount) { + public UserInfo addCoins(String userId, Integer amount, String type, String description) { if (amount == null || amount <= 0) { throw new IllegalArgumentException("金币数量必须大于0"); } diff --git a/xuan-deduct-uniapp/src/pages/mine/coins.vue b/xuan-deduct-uniapp/src/pages/mine/coins.vue index 3984e83..e779767 100644 --- a/xuan-deduct-uniapp/src/pages/mine/coins.vue +++ b/xuan-deduct-uniapp/src/pages/mine/coins.vue @@ -100,10 +100,12 @@