serv-成就ResultDomain修改
This commit is contained in:
@@ -35,6 +35,8 @@ SOURCE createTableAI.sql;
|
|||||||
-- 10. 创建系统配置和日志相关表
|
-- 10. 创建系统配置和日志相关表
|
||||||
SOURCE createTableSystem.sql;
|
SOURCE createTableSystem.sql;
|
||||||
|
|
||||||
|
SOURCE createTableAchievement.sql;
|
||||||
|
|
||||||
-- =====================================================
|
-- =====================================================
|
||||||
-- 插入初始数据
|
-- 插入初始数据
|
||||||
-- =====================================================
|
-- =====================================================
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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不能为空");
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user