package com.zhentao.information.service; import com.zhentao.groups.dto.GroupDto; import com.zhentao.groups.service.GroupsService; import com.zhentao.information.cache.GroupMemberCache; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; import javax.annotation.Resource; import java.util.List; /** * 群聊初始化服务 * 用于初始化群成员缓存 */ @Slf4j @Service public class GroupInitService { @Resource private GroupsService groupsService; @Resource private GroupMemberCache groupMemberCache; /** * 在应用启动时初始化群成员缓存 */ @PostConstruct public void init() { try { List groupList = groupsService.getList(); groupList.forEach(group -> { groupMemberCache.updateGroupMembers(group.getGroupId(), group.getUid()); }); log.info("群成员缓存初始化完成,共 {} 个群", groupList.size()); } catch (Exception e) { log.error("群成员缓存初始化失败", e); } } /** * 刷新群成员缓存 */ public void refreshGroupMemberCache() { try { List groupList = groupsService.getList(); groupList.forEach(group -> { groupMemberCache.updateGroupMembers(group.getGroupId(), group.getUid()); }); log.info("群成员缓存刷新完成,共 {} 个群", groupList.size()); } catch (Exception e) { log.error("群成员缓存刷新失败", e); } } }