123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- 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<GroupDto> 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<GroupDto> groupList = groupsService.getList();
- groupList.forEach(group -> {
- groupMemberCache.updateGroupMembers(group.getGroupId(), group.getUid());
- });
- log.info("群成员缓存刷新完成,共 {} 个群", groupList.size());
- } catch (Exception e) {
- log.error("群成员缓存刷新失败", e);
- }
- }
- }
|