12 changed files with 1631 additions and 335 deletions
@ -0,0 +1,36 @@ |
|||||||
|
package net.sopod.soim.das.group.api.model.dto; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
import lombok.experimental.Accessors; |
||||||
|
|
||||||
|
import java.io.Serializable; |
||||||
|
import java.util.Date; |
||||||
|
|
||||||
|
/** |
||||||
|
* GroupView |
||||||
|
* |
||||||
|
* @author tmy |
||||||
|
* @date 2022-06-06 21:04 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@Accessors(chain = true) |
||||||
|
public class GroupView implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = -9110996998635374890L; |
||||||
|
|
||||||
|
private Long gid; |
||||||
|
|
||||||
|
/** 群主id */ |
||||||
|
private Long masterUid; |
||||||
|
|
||||||
|
private String gName; |
||||||
|
|
||||||
|
private Integer userLimit; |
||||||
|
|
||||||
|
private Integer userNum; |
||||||
|
|
||||||
|
private Integer unreadNum; |
||||||
|
|
||||||
|
private Date createTime; |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,46 @@ |
|||||||
|
package net.sopod.soim.entry.handlers.group; |
||||||
|
|
||||||
|
import com.google.protobuf.MessageLite; |
||||||
|
import net.sopod.soim.das.group.api.model.dto.GroupView; |
||||||
|
import net.sopod.soim.data.msg.group.Group; |
||||||
|
import net.sopod.soim.entry.server.handler.AccountMessageHandler; |
||||||
|
import net.sopod.soim.entry.server.handler.ImContext; |
||||||
|
import net.sopod.soim.entry.server.session.Account; |
||||||
|
import net.sopod.soim.logic.api.group.service.ImGroupService; |
||||||
|
import org.apache.dubbo.config.annotation.DubboReference; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
/** |
||||||
|
* ReqUserGroupsHandler |
||||||
|
* |
||||||
|
* @author tmy |
||||||
|
* @date 2022-06-06 21:18 |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
public class ReqUserGroupsHandler extends AccountMessageHandler<Group.ReqUserGroups> { |
||||||
|
|
||||||
|
@DubboReference |
||||||
|
private ImGroupService imGroupService; |
||||||
|
|
||||||
|
@Override |
||||||
|
public MessageLite handle(ImContext ctx, Account account, Group.ReqUserGroups req) { |
||||||
|
List<GroupView> groupViews = imGroupService.listUserGroups(account.getUid()); |
||||||
|
List<Group.GroupInfo> groupInfos = groupViews.stream().map(g -> Group.GroupInfo.newBuilder() |
||||||
|
.setGid(g.getGid()) |
||||||
|
.setGroupName(g.getGName()) |
||||||
|
.setUserLimit(g.getUserLimit()) |
||||||
|
.setUserNum(g.getUserNum()) |
||||||
|
.setMasterUid(g.getMasterUid()) |
||||||
|
.setCreateTime(g.getCreateTime() == null ? 0L : g.getCreateTime().getTime()) |
||||||
|
.build() |
||||||
|
).collect(Collectors.toList()); |
||||||
|
|
||||||
|
return Group.ResUserGroups.newBuilder() |
||||||
|
.addAllGroups(groupInfos) |
||||||
|
.build(); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
File diff suppressed because it is too large
Load Diff
@ -1,28 +1,30 @@ |
|||||||
net.sopod.soim.data.msg.user.Friend$ResFriendList=10000 |
net.sopod.soim.data.msg.group.Group$ReqUserGroups=10000 |
||||||
net.sopod.soim.data.msg.group.Group$ResSearchGroup=10001 |
net.sopod.soim.data.msg.group.Group$GroupInfo=10001 |
||||||
net.sopod.soim.data.msg.user.AccountSearch$ResAccountSearch=10002 |
net.sopod.soim.data.msg.group.Group$ResSearchGroup=10002 |
||||||
net.sopod.soim.data.msg.common.Res$ResState=10003 |
net.sopod.soim.data.msg.hello.HelloPB$Hello=10003 |
||||||
net.sopod.soim.data.msg.user.Friend$ReqAddFriend=10004 |
net.sopod.soim.data.msg.user.Friend$ReqAddFriend=10004 |
||||||
net.sopod.soim.data.msg.user.AccountSearch$ReqAccountSearch=10005 |
net.sopod.soim.data.msg.auth.Auth$ResTokenAuth=10005 |
||||||
net.sopod.soim.data.msg.user.UserGroup$ResOnlineUserList=10006 |
net.sopod.soim.data.msg.chat.Chat$TextChat=10006 |
||||||
net.sopod.soim.data.msg.user.Friend$ReqFriendList=10007 |
net.sopod.soim.data.msg.user.AccountSearch$ReqAccountSearch=10007 |
||||||
net.sopod.soim.data.msg.auth.Auth$ResTokenAuth=10008 |
net.sopod.soim.data.msg.net.HeartBeat$Pong=10008 |
||||||
net.sopod.soim.data.msg.user.UserGroup$ReqOnlineUserList=10009 |
net.sopod.soim.data.msg.auth.Auth$ReqTokenAuth=10009 |
||||||
net.sopod.soim.data.msg.group.Group$ReqSearchGroup=10010 |
net.sopod.soim.data.msg.group.Group$ReqGroupUsers=10010 |
||||||
net.sopod.soim.data.msg.chat.Chat$TextChat=10011 |
net.sopod.soim.data.msg.user.UserGroup$ResOnlineUserList=10011 |
||||||
net.sopod.soim.data.msg.hello.HelloPB$World=10012 |
net.sopod.soim.data.msg.user.AccountSearch$ResAccountSearch=10012 |
||||||
net.sopod.soim.data.msg.hello.HelloPB$Hello=10013 |
net.sopod.soim.data.msg.group.Group$ReqCreateGroup=10013 |
||||||
net.sopod.soim.data.msg.group.Group$ResGroupMessage=10014 |
net.sopod.soim.data.msg.user.Friend$ResFriendList=10014 |
||||||
net.sopod.soim.data.msg.net.HeartBeat$Pong=10015 |
net.sopod.soim.data.msg.group.Group$ReqSearchGroup=10015 |
||||||
net.sopod.soim.data.msg.group.Group$ReqJoinGroup=10016 |
net.sopod.soim.data.msg.group.Group$ReqGroupMessage=10016 |
||||||
net.sopod.soim.data.msg.group.Group$ReqCreateGroup=10017 |
net.sopod.soim.data.msg.group.Group$ResGroupUsers=10017 |
||||||
net.sopod.soim.data.msg.group.Group$UserInfo=10018 |
net.sopod.soim.data.msg.hello.HelloPB$World=10018 |
||||||
net.sopod.soim.data.msg.auth.Auth$ReqTokenAuth=10019 |
net.sopod.soim.data.msg.group.Group$ReqJoinGroup=10019 |
||||||
net.sopod.soim.data.msg.group.Group$ReqGroupMessage=10020 |
net.sopod.soim.data.msg.user.UserGroup$ReqOnlineUserList=10020 |
||||||
net.sopod.soim.data.msg.group.Group$ReqGroupUsers=10021 |
net.sopod.soim.data.msg.group.Group$UserInfo=10021 |
||||||
net.sopod.soim.data.msg.group.Group$ResGroupUsers=10022 |
net.sopod.soim.data.msg.group.Group$ResGroupMessage=10022 |
||||||
net.sopod.soim.data.msg.net.HeartBeat$Ping=10023 |
net.sopod.soim.data.msg.user.UserMsg$UserInfo=10023 |
||||||
net.sopod.soim.data.msg.task.Tasks$NetUserDelayCloseTask=10024 |
net.sopod.soim.data.msg.group.Group$ResUserGroups=10024 |
||||||
net.sopod.soim.data.msg.user.UserMsg$UserInfo=10025 |
net.sopod.soim.data.msg.user.Friend$ResAddFriend=10025 |
||||||
net.sopod.soim.data.msg.user.Friend$ResAddFriend=10026 |
net.sopod.soim.data.msg.net.HeartBeat$Ping=10026 |
||||||
net.sopod.soim.data.msg.group.Group$GroupInfo=10027 |
net.sopod.soim.data.msg.task.Tasks$NetUserDelayCloseTask=10027 |
||||||
|
net.sopod.soim.data.msg.user.Friend$ReqFriendList=10028 |
||||||
|
net.sopod.soim.data.msg.common.Res$ResState=10029 |
||||||
|
|||||||
Loading…
Reference in new issue