公会推荐分页

back_recharge
duhui 2021-08-27 16:00:31 +08:00
parent 3c15f4b049
commit 605b2e9952
2 changed files with 19 additions and 15 deletions

View File

@ -4,18 +4,19 @@ import com.ljsd.jieling.handler.BaseHandler;
import com.ljsd.jieling.logic.family.GuildLogic; import com.ljsd.jieling.logic.family.GuildLogic;
import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.netty.cocdex.PacketNetData;
import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.network.session.ISession;
import rpc.protocols.Family;
import rpc.protocols.MessageTypeProto; import rpc.protocols.MessageTypeProto;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Component @Component
public class FamilyRecommandHandler extends BaseHandler { public class FamilyRecommandHandler extends BaseHandler<Family.FamilyRecommandRequest> {
@Override @Override
public MessageTypeProto.MessageType getMessageCode() { public MessageTypeProto.MessageType getMessageCode() {
return MessageTypeProto.MessageType.FAMILY_RECOMEND_REQUEST; return MessageTypeProto.MessageType.FAMILY_RECOMEND_REQUEST;
} }
@Override @Override
public void process(ISession iSession, PacketNetData netData) throws Exception { public void processWithProto(ISession session, Family.FamilyRecommandRequest proto) throws Exception {
GuildLogic.recommendFamily(iSession); GuildLogic.recommendFamily(session,proto);
} }
} }

View File

@ -1,5 +1,6 @@
package com.ljsd.jieling.logic.family; package com.ljsd.jieling.logic.family;
import com.google.common.collect.Lists;
import com.google.protobuf.GeneratedMessage; import com.google.protobuf.GeneratedMessage;
import com.google.protobuf.Message; import com.google.protobuf.Message;
import com.ljsd.GameApplication; import com.ljsd.GameApplication;
@ -235,10 +236,10 @@ public class GuildLogic {
* @param session * @param session
* @throws Exception * @throws Exception
*/ */
public static void recommendFamily(ISession session) throws Exception { public static void recommendFamily(ISession session,Family.FamilyRecommandRequest proto) throws Exception {
int uid = session.getUid(); int uid = session.getUid();
User user = UserManager.getUser(uid); User user = UserManager.getUser(uid);
int msgId = MessageTypeProto.MessageType.FAMILY_RECOMEND_RESPONSE_VALUE;
Collection<GuildInfo> guildInfos = GuilidManager.recommandGuild(user); Collection<GuildInfo> guildInfos = GuilidManager.recommandGuild(user);
Family.FamilyRecommandResponse.Builder builder = Family.FamilyRecommandResponse.newBuilder(); Family.FamilyRecommandResponse.Builder builder = Family.FamilyRecommandResponse.newBuilder();
Map<Integer, GuildApply> applyGuildInfos = GuilidManager.getApplyGuildInfos(uid, 1); Map<Integer, GuildApply> applyGuildInfos = GuilidManager.getApplyGuildInfos(uid, 1);
@ -255,18 +256,20 @@ public class GuildLogic {
} }
} }
//工会临时改成推荐20个 下个版本改成分页
int i = 0; int page = proto.getPage();
for(GuildInfo guildInfo : guildInfos){ List<List<GuildInfo>> partition = Lists.partition(new ArrayList<>(guildInfos), 10);
if(i >= 20){ // 防止超出下标
break; if (page <= partition.size()){
} for(GuildInfo guildInfo : partition.get(page-1)){
builder.addFamilyRecomandInfo(Family.FamilyRecomandInfo.newBuilder(). builder.addFamilyRecomandInfo(Family.FamilyRecomandInfo.newBuilder().
setFamilyBaseInfo(CBean2Proto.getFamilyBaseInfo(guildInfo)) setFamilyBaseInfo(CBean2Proto.getFamilyBaseInfo(guildInfo))
.setIsApply(applyGuildInfos.containsKey(guildInfo.getId())?1:0) .setIsApply(applyGuildInfos.containsKey(guildInfo.getId())?1:0)
.build()); .build());
i++;
} }
}
// 返回信息
int msgId = MessageTypeProto.MessageType.FAMILY_RECOMEND_RESPONSE_VALUE;
MessageUtil.sendMessage(session,1,msgId,builder.build(),true); MessageUtil.sendMessage(session,1,msgId,builder.build(),true);
} }