serv-成就ResultDomain修改
This commit is contained in:
@@ -35,6 +35,8 @@ SOURCE createTableAI.sql;
|
||||
-- 10. 创建系统配置和日志相关表
|
||||
SOURCE createTableSystem.sql;
|
||||
|
||||
SOURCE createTableAchievement.sql;
|
||||
|
||||
-- =====================================================
|
||||
-- 插入初始数据
|
||||
-- =====================================================
|
||||
|
||||
@@ -164,7 +164,7 @@ public class AchievementController {
|
||||
* 处理成就事件(内部接口,由其他服务调用)
|
||||
*/
|
||||
@PostMapping("/event/process")
|
||||
public ResultDomain<List<TbUserAchievement>> processAchievementEvent(@RequestBody AchievementEvent event) {
|
||||
public ResultDomain<TbUserAchievement> processAchievementEvent(@RequestBody AchievementEvent event) {
|
||||
return achievementService.processAchievementEvent(event);
|
||||
}
|
||||
|
||||
@@ -182,7 +182,7 @@ public class AchievementController {
|
||||
* 批量检查用户可获得的成就
|
||||
*/
|
||||
@GetMapping("/available/{userID}")
|
||||
public ResultDomain<List<TbAchievement>> checkAvailableAchievements(@PathVariable String userID) {
|
||||
public ResultDomain<TbAchievement> checkAvailableAchievements(@PathVariable String userID) {
|
||||
return achievementService.checkAvailableAchievements(userID);
|
||||
}
|
||||
|
||||
@@ -209,7 +209,7 @@ public class AchievementController {
|
||||
* 获取最近获得成就的用户
|
||||
*/
|
||||
@GetMapping("/recent/{achievementID}")
|
||||
public ResultDomain<List<TbUserAchievement>> getRecentAchievers(
|
||||
public ResultDomain<TbUserAchievement> getRecentAchievers(
|
||||
@PathVariable String achievementID,
|
||||
@RequestParam(required = false, defaultValue = "10") Integer limit) {
|
||||
return achievementService.getRecentAchievers(achievementID, limit);
|
||||
|
||||
@@ -39,16 +39,15 @@ public class AchievementEventListener {
|
||||
logger.debug("接收到成就事件: {}", event);
|
||||
|
||||
// 处理成就事件
|
||||
ResultDomain<List<TbUserAchievement>> result = achievementService.processAchievementEvent(event);
|
||||
|
||||
if (result.isSuccess() && result.getData() != null && !result.getData().isEmpty()) {
|
||||
ResultDomain<TbUserAchievement> 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);
|
||||
|
||||
@@ -449,8 +449,8 @@ public class ACHAchievementServiceImpl implements AchievementService {
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ResultDomain<List<TbUserAchievement>> processAchievementEvent(AchievementEvent event) {
|
||||
ResultDomain<List<TbUserAchievement>> resultDomain = new ResultDomain<>();
|
||||
public ResultDomain<TbUserAchievement> processAchievementEvent(AchievementEvent event) {
|
||||
ResultDomain<TbUserAchievement> resultDomain = new ResultDomain<>();
|
||||
List<TbUserAchievement> newAchievements = new ArrayList<>();
|
||||
|
||||
try {
|
||||
@@ -545,8 +545,8 @@ public class ACHAchievementServiceImpl implements AchievementService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<List<TbAchievement>> checkAvailableAchievements(String userID) {
|
||||
ResultDomain<List<TbAchievement>> resultDomain = new ResultDomain<>();
|
||||
public ResultDomain<TbAchievement> checkAvailableAchievements(String userID) {
|
||||
ResultDomain<TbAchievement> resultDomain = new ResultDomain<>();
|
||||
try {
|
||||
if (!StringUtils.hasText(userID)) {
|
||||
resultDomain.fail("用户ID不能为空");
|
||||
@@ -634,8 +634,8 @@ public class ACHAchievementServiceImpl implements AchievementService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<List<TbUserAchievement>> getRecentAchievers(String achievementID, Integer limit) {
|
||||
ResultDomain<List<TbUserAchievement>> resultDomain = new ResultDomain<>();
|
||||
public ResultDomain<TbUserAchievement> getRecentAchievers(String achievementID, Integer limit) {
|
||||
ResultDomain<TbUserAchievement> resultDomain = new ResultDomain<>();
|
||||
try {
|
||||
if (!StringUtils.hasText(achievementID)) {
|
||||
resultDomain.fail("成就ID不能为空");
|
||||
|
||||
@@ -138,9 +138,9 @@ public interface AchievementService {
|
||||
/**
|
||||
* @description 处理成就事件(核心方法)
|
||||
* @param event 成就事件
|
||||
* @return ResultDomain<List<TbUserAchievement>> 本次触发的成就列表
|
||||
* @return ResultDomain<TbUserAchievement> 本次触发的成就列表(在dataList中)
|
||||
*/
|
||||
ResultDomain<List<TbUserAchievement>> processAchievementEvent(AchievementEvent event);
|
||||
ResultDomain<TbUserAchievement> processAchievementEvent(AchievementEvent event);
|
||||
|
||||
/**
|
||||
* @description 检查用户是否满足成就条件
|
||||
@@ -153,9 +153,9 @@ public interface AchievementService {
|
||||
/**
|
||||
* @description 批量检查用户可获得的成就
|
||||
* @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 获取最近获得成就的用户
|
||||
* @param achievementID 成就ID
|
||||
* @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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user