From 42f8a0a136036e370bc98a7be379335854537ea3 Mon Sep 17 00:00:00 2001 From: wangys <3401275564@qq.com> Date: Fri, 24 Oct 2025 18:48:43 +0800 Subject: [PATCH] =?UTF-8?q?serv-=E6=88=90=E5=B0=B1ResultDomain=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- schoolNewsServ/.bin/mysql/sql/initAll.sql | 2 ++ .../controller/AchievementController.java | 6 +++--- .../listener/AchievementEventListener.java | 11 +++++------ .../service/impl/ACHAchievementServiceImpl.java | 12 ++++++------ .../org/xyzh/api/achievement/AchievementService.java | 12 ++++++------ 5 files changed, 22 insertions(+), 21 deletions(-) diff --git a/schoolNewsServ/.bin/mysql/sql/initAll.sql b/schoolNewsServ/.bin/mysql/sql/initAll.sql index 3171408..50207fc 100644 --- a/schoolNewsServ/.bin/mysql/sql/initAll.sql +++ b/schoolNewsServ/.bin/mysql/sql/initAll.sql @@ -35,6 +35,8 @@ SOURCE createTableAI.sql; -- 10. 创建系统配置和日志相关表 SOURCE createTableSystem.sql; +SOURCE createTableAchievement.sql; + -- ===================================================== -- 插入初始数据 -- ===================================================== diff --git a/schoolNewsServ/achievement/src/main/java/org/xyzh/achievement/controller/AchievementController.java b/schoolNewsServ/achievement/src/main/java/org/xyzh/achievement/controller/AchievementController.java index 3896215..c9ff714 100644 --- a/schoolNewsServ/achievement/src/main/java/org/xyzh/achievement/controller/AchievementController.java +++ b/schoolNewsServ/achievement/src/main/java/org/xyzh/achievement/controller/AchievementController.java @@ -164,7 +164,7 @@ public class AchievementController { * 处理成就事件(内部接口,由其他服务调用) */ @PostMapping("/event/process") - public ResultDomain> processAchievementEvent(@RequestBody AchievementEvent event) { + public ResultDomain processAchievementEvent(@RequestBody AchievementEvent event) { return achievementService.processAchievementEvent(event); } @@ -182,7 +182,7 @@ public class AchievementController { * 批量检查用户可获得的成就 */ @GetMapping("/available/{userID}") - public ResultDomain> checkAvailableAchievements(@PathVariable String userID) { + public ResultDomain checkAvailableAchievements(@PathVariable String userID) { return achievementService.checkAvailableAchievements(userID); } @@ -209,7 +209,7 @@ public class AchievementController { * 获取最近获得成就的用户 */ @GetMapping("/recent/{achievementID}") - public ResultDomain> getRecentAchievers( + public ResultDomain getRecentAchievers( @PathVariable String achievementID, @RequestParam(required = false, defaultValue = "10") Integer limit) { return achievementService.getRecentAchievers(achievementID, limit); diff --git a/schoolNewsServ/achievement/src/main/java/org/xyzh/achievement/listener/AchievementEventListener.java b/schoolNewsServ/achievement/src/main/java/org/xyzh/achievement/listener/AchievementEventListener.java index 6cd50a5..f7d8aa9 100644 --- a/schoolNewsServ/achievement/src/main/java/org/xyzh/achievement/listener/AchievementEventListener.java +++ b/schoolNewsServ/achievement/src/main/java/org/xyzh/achievement/listener/AchievementEventListener.java @@ -39,16 +39,15 @@ public class AchievementEventListener { logger.debug("接收到成就事件: {}", event); // 处理成就事件 - ResultDomain> result = achievementService.processAchievementEvent(event); - - if (result.isSuccess() && result.getData() != null && !result.getData().isEmpty()) { + ResultDomain result = achievementService.processAchievementEvent(event); + + if (result.isSuccess() && result.getDataList() != null && !result.getDataList().isEmpty()) { logger.info("用户 {} 通过事件 {} 获得 {} 个新成就", event.getUserID(), event.getEventType(), - result.getData().size()); - + result.getDataList().size()); // 这里可以添加通知逻辑,如发送消息给用户 - notifyUserAboutNewAchievements(event.getUserID(), result.getData()); + notifyUserAboutNewAchievements(event.getUserID(), result.getDataList()); } } catch (Exception e) { logger.error("处理成就事件异常: {}", e.getMessage(), e); diff --git a/schoolNewsServ/achievement/src/main/java/org/xyzh/achievement/service/impl/ACHAchievementServiceImpl.java b/schoolNewsServ/achievement/src/main/java/org/xyzh/achievement/service/impl/ACHAchievementServiceImpl.java index f2f3fef..2f68a69 100644 --- a/schoolNewsServ/achievement/src/main/java/org/xyzh/achievement/service/impl/ACHAchievementServiceImpl.java +++ b/schoolNewsServ/achievement/src/main/java/org/xyzh/achievement/service/impl/ACHAchievementServiceImpl.java @@ -449,8 +449,8 @@ public class ACHAchievementServiceImpl implements AchievementService { @Override @Transactional(rollbackFor = Exception.class) - public ResultDomain> processAchievementEvent(AchievementEvent event) { - ResultDomain> resultDomain = new ResultDomain<>(); + public ResultDomain processAchievementEvent(AchievementEvent event) { + ResultDomain resultDomain = new ResultDomain<>(); List newAchievements = new ArrayList<>(); try { @@ -545,8 +545,8 @@ public class ACHAchievementServiceImpl implements AchievementService { } @Override - public ResultDomain> checkAvailableAchievements(String userID) { - ResultDomain> resultDomain = new ResultDomain<>(); + public ResultDomain checkAvailableAchievements(String userID) { + ResultDomain resultDomain = new ResultDomain<>(); try { if (!StringUtils.hasText(userID)) { resultDomain.fail("用户ID不能为空"); @@ -634,8 +634,8 @@ public class ACHAchievementServiceImpl implements AchievementService { } @Override - public ResultDomain> getRecentAchievers(String achievementID, Integer limit) { - ResultDomain> resultDomain = new ResultDomain<>(); + public ResultDomain getRecentAchievers(String achievementID, Integer limit) { + ResultDomain resultDomain = new ResultDomain<>(); try { if (!StringUtils.hasText(achievementID)) { resultDomain.fail("成就ID不能为空"); diff --git a/schoolNewsServ/api/api-achievement/src/main/java/org/xyzh/api/achievement/AchievementService.java b/schoolNewsServ/api/api-achievement/src/main/java/org/xyzh/api/achievement/AchievementService.java index e48d3f2..f86669e 100644 --- a/schoolNewsServ/api/api-achievement/src/main/java/org/xyzh/api/achievement/AchievementService.java +++ b/schoolNewsServ/api/api-achievement/src/main/java/org/xyzh/api/achievement/AchievementService.java @@ -138,9 +138,9 @@ public interface AchievementService { /** * @description 处理成就事件(核心方法) * @param event 成就事件 - * @return ResultDomain> 本次触发的成就列表 + * @return ResultDomain 本次触发的成就列表(在dataList中) */ - ResultDomain> processAchievementEvent(AchievementEvent event); + ResultDomain processAchievementEvent(AchievementEvent event); /** * @description 检查用户是否满足成就条件 @@ -153,9 +153,9 @@ public interface AchievementService { /** * @description 批量检查用户可获得的成就 * @param userID 用户ID - * @return ResultDomain> 可获得的成就列表 + * @return ResultDomain 可获得的成就列表(在dataList中) */ - ResultDomain> checkAvailableAchievements(String userID); + ResultDomain checkAvailableAchievements(String userID); // ==================== 成就统计 ==================== @@ -177,8 +177,8 @@ public interface AchievementService { * @description 获取最近获得成就的用户 * @param achievementID 成就ID * @param limit 查询条数 - * @return ResultDomain> 用户成就列表 + * @return ResultDomain 用户成就列表(在dataList中) */ - ResultDomain> getRecentAchievers(String achievementID, Integer limit); + ResultDomain getRecentAchievers(String achievementID, Integer limit); }