serv-成就ResultDomain修改

This commit is contained in:
2025-10-24 18:48:43 +08:00
parent d593a554fc
commit 42f8a0a136
5 changed files with 22 additions and 21 deletions

View File

@@ -35,6 +35,8 @@ SOURCE createTableAI.sql;
-- 10. 创建系统配置和日志相关表 -- 10. 创建系统配置和日志相关表
SOURCE createTableSystem.sql; SOURCE createTableSystem.sql;
SOURCE createTableAchievement.sql;
-- ===================================================== -- =====================================================
-- 插入初始数据 -- 插入初始数据
-- ===================================================== -- =====================================================

View File

@@ -164,7 +164,7 @@ public class AchievementController {
* 处理成就事件(内部接口,由其他服务调用) * 处理成就事件(内部接口,由其他服务调用)
*/ */
@PostMapping("/event/process") @PostMapping("/event/process")
public ResultDomain<List<TbUserAchievement>> processAchievementEvent(@RequestBody AchievementEvent event) { public ResultDomain<TbUserAchievement> processAchievementEvent(@RequestBody AchievementEvent event) {
return achievementService.processAchievementEvent(event); return achievementService.processAchievementEvent(event);
} }
@@ -182,7 +182,7 @@ public class AchievementController {
* 批量检查用户可获得的成就 * 批量检查用户可获得的成就
*/ */
@GetMapping("/available/{userID}") @GetMapping("/available/{userID}")
public ResultDomain<List<TbAchievement>> checkAvailableAchievements(@PathVariable String userID) { public ResultDomain<TbAchievement> checkAvailableAchievements(@PathVariable String userID) {
return achievementService.checkAvailableAchievements(userID); return achievementService.checkAvailableAchievements(userID);
} }
@@ -209,7 +209,7 @@ public class AchievementController {
* 获取最近获得成就的用户 * 获取最近获得成就的用户
*/ */
@GetMapping("/recent/{achievementID}") @GetMapping("/recent/{achievementID}")
public ResultDomain<List<TbUserAchievement>> getRecentAchievers( public ResultDomain<TbUserAchievement> getRecentAchievers(
@PathVariable String achievementID, @PathVariable String achievementID,
@RequestParam(required = false, defaultValue = "10") Integer limit) { @RequestParam(required = false, defaultValue = "10") Integer limit) {
return achievementService.getRecentAchievers(achievementID, limit); return achievementService.getRecentAchievers(achievementID, limit);

View File

@@ -39,16 +39,15 @@ public class AchievementEventListener {
logger.debug("接收到成就事件: {}", event); logger.debug("接收到成就事件: {}", event);
// 处理成就事件 // 处理成就事件
ResultDomain<List<TbUserAchievement>> result = achievementService.processAchievementEvent(event); ResultDomain<TbUserAchievement> result = achievementService.processAchievementEvent(event);
if (result.isSuccess() && result.getData() != null && !result.getData().isEmpty()) { if (result.isSuccess() && result.getDataList() != null && !result.getDataList().isEmpty()) {
logger.info("用户 {} 通过事件 {} 获得 {} 个新成就", logger.info("用户 {} 通过事件 {} 获得 {} 个新成就",
event.getUserID(), event.getUserID(),
event.getEventType(), event.getEventType(),
result.getData().size()); result.getDataList().size());
// 这里可以添加通知逻辑,如发送消息给用户 // 这里可以添加通知逻辑,如发送消息给用户
notifyUserAboutNewAchievements(event.getUserID(), result.getData()); notifyUserAboutNewAchievements(event.getUserID(), result.getDataList());
} }
} catch (Exception e) { } catch (Exception e) {
logger.error("处理成就事件异常: {}", e.getMessage(), e); logger.error("处理成就事件异常: {}", e.getMessage(), e);

View File

@@ -449,8 +449,8 @@ public class ACHAchievementServiceImpl implements AchievementService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public ResultDomain<List<TbUserAchievement>> processAchievementEvent(AchievementEvent event) { public ResultDomain<TbUserAchievement> processAchievementEvent(AchievementEvent event) {
ResultDomain<List<TbUserAchievement>> resultDomain = new ResultDomain<>(); ResultDomain<TbUserAchievement> resultDomain = new ResultDomain<>();
List<TbUserAchievement> newAchievements = new ArrayList<>(); List<TbUserAchievement> newAchievements = new ArrayList<>();
try { try {
@@ -545,8 +545,8 @@ public class ACHAchievementServiceImpl implements AchievementService {
} }
@Override @Override
public ResultDomain<List<TbAchievement>> checkAvailableAchievements(String userID) { public ResultDomain<TbAchievement> checkAvailableAchievements(String userID) {
ResultDomain<List<TbAchievement>> resultDomain = new ResultDomain<>(); ResultDomain<TbAchievement> resultDomain = new ResultDomain<>();
try { try {
if (!StringUtils.hasText(userID)) { if (!StringUtils.hasText(userID)) {
resultDomain.fail("用户ID不能为空"); resultDomain.fail("用户ID不能为空");
@@ -634,8 +634,8 @@ public class ACHAchievementServiceImpl implements AchievementService {
} }
@Override @Override
public ResultDomain<List<TbUserAchievement>> getRecentAchievers(String achievementID, Integer limit) { public ResultDomain<TbUserAchievement> getRecentAchievers(String achievementID, Integer limit) {
ResultDomain<List<TbUserAchievement>> resultDomain = new ResultDomain<>(); ResultDomain<TbUserAchievement> resultDomain = new ResultDomain<>();
try { try {
if (!StringUtils.hasText(achievementID)) { if (!StringUtils.hasText(achievementID)) {
resultDomain.fail("成就ID不能为空"); resultDomain.fail("成就ID不能为空");

View File

@@ -138,9 +138,9 @@ public interface AchievementService {
/** /**
* @description 处理成就事件(核心方法) * @description 处理成就事件(核心方法)
* @param event 成就事件 * @param event 成就事件
* @return ResultDomain<List<TbUserAchievement>> 本次触发的成就列表 * @return ResultDomain<TbUserAchievement> 本次触发的成就列表在dataList中
*/ */
ResultDomain<List<TbUserAchievement>> processAchievementEvent(AchievementEvent event); ResultDomain<TbUserAchievement> processAchievementEvent(AchievementEvent event);
/** /**
* @description 检查用户是否满足成就条件 * @description 检查用户是否满足成就条件
@@ -153,9 +153,9 @@ public interface AchievementService {
/** /**
* @description 批量检查用户可获得的成就 * @description 批量检查用户可获得的成就
* @param userID 用户ID * @param userID 用户ID
* @return ResultDomain<List<TbAchievement>> 可获得的成就列表 * @return ResultDomain<TbAchievement> 可获得的成就列表在dataList中
*/ */
ResultDomain<List<TbAchievement>> checkAvailableAchievements(String userID); ResultDomain<TbAchievement> checkAvailableAchievements(String userID);
// ==================== 成就统计 ==================== // ==================== 成就统计 ====================
@@ -177,8 +177,8 @@ public interface AchievementService {
* @description 获取最近获得成就的用户 * @description 获取最近获得成就的用户
* @param achievementID 成就ID * @param achievementID 成就ID
* @param limit 查询条数 * @param limit 查询条数
* @return ResultDomain<List<TbUserAchievement>> 用户成就列表 * @return ResultDomain<TbUserAchievement> 用户成就列表在dataList中
*/ */
ResultDomain<List<TbUserAchievement>> getRecentAchievers(String achievementID, Integer limit); ResultDomain<TbUserAchievement> getRecentAchievers(String achievementID, Integer limit);
} }