公会推荐分页
parent
3c15f4b049
commit
605b2e9952
|
@ -4,18 +4,19 @@ import com.ljsd.jieling.handler.BaseHandler;
|
|||
import com.ljsd.jieling.logic.family.GuildLogic;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import rpc.protocols.Family;
|
||||
import rpc.protocols.MessageTypeProto;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class FamilyRecommandHandler extends BaseHandler {
|
||||
public class FamilyRecommandHandler extends BaseHandler<Family.FamilyRecommandRequest> {
|
||||
@Override
|
||||
public MessageTypeProto.MessageType getMessageCode() {
|
||||
return MessageTypeProto.MessageType.FAMILY_RECOMEND_REQUEST;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(ISession iSession, PacketNetData netData) throws Exception {
|
||||
GuildLogic.recommendFamily(iSession);
|
||||
public void processWithProto(ISession session, Family.FamilyRecommandRequest proto) throws Exception {
|
||||
GuildLogic.recommendFamily(session,proto);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.ljsd.jieling.logic.family;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.protobuf.GeneratedMessage;
|
||||
import com.google.protobuf.Message;
|
||||
import com.ljsd.GameApplication;
|
||||
|
@ -235,10 +236,10 @@ public class GuildLogic {
|
|||
* @param session
|
||||
* @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();
|
||||
User user = UserManager.getUser(uid);
|
||||
int msgId = MessageTypeProto.MessageType.FAMILY_RECOMEND_RESPONSE_VALUE;
|
||||
|
||||
Collection<GuildInfo> guildInfos = GuilidManager.recommandGuild(user);
|
||||
Family.FamilyRecommandResponse.Builder builder = Family.FamilyRecommandResponse.newBuilder();
|
||||
Map<Integer, GuildApply> applyGuildInfos = GuilidManager.getApplyGuildInfos(uid, 1);
|
||||
|
@ -255,18 +256,20 @@ public class GuildLogic {
|
|||
|
||||
}
|
||||
}
|
||||
//工会临时改成推荐20个 下个版本改成分页
|
||||
int i = 0;
|
||||
for(GuildInfo guildInfo : guildInfos){
|
||||
if(i >= 20){
|
||||
break;
|
||||
|
||||
int page = proto.getPage();
|
||||
List<List<GuildInfo>> partition = Lists.partition(new ArrayList<>(guildInfos), 10);
|
||||
// 防止超出下标
|
||||
if (page <= partition.size()){
|
||||
for(GuildInfo guildInfo : partition.get(page-1)){
|
||||
builder.addFamilyRecomandInfo(Family.FamilyRecomandInfo.newBuilder().
|
||||
setFamilyBaseInfo(CBean2Proto.getFamilyBaseInfo(guildInfo))
|
||||
.setIsApply(applyGuildInfos.containsKey(guildInfo.getId())?1:0)
|
||||
.build());
|
||||
}
|
||||
builder.addFamilyRecomandInfo(Family.FamilyRecomandInfo.newBuilder().
|
||||
setFamilyBaseInfo(CBean2Proto.getFamilyBaseInfo(guildInfo))
|
||||
.setIsApply(applyGuildInfos.containsKey(guildInfo.getId())?1:0)
|
||||
.build());
|
||||
i++;
|
||||
}
|
||||
// 返回信息
|
||||
int msgId = MessageTypeProto.MessageType.FAMILY_RECOMEND_RESPONSE_VALUE;
|
||||
MessageUtil.sendMessage(session,1,msgId,builder.build(),true);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue