fix guild
parent
cf006d2184
commit
be43c5af87
|
|
@ -4,6 +4,7 @@ import com.ljsd.jieling.core.GlobalsDef;
|
|||
import com.ljsd.jieling.db.redis.RedisKey;
|
||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
|
@ -20,7 +21,7 @@ public class GuildInfo {
|
|||
|
||||
private int joinType ; //加入类型 0:直接加入 1:申请加入 2:禁止加入
|
||||
|
||||
private Map<Integer, Set<Integer>> members = new ConcurrentHashMap();
|
||||
private Map<Integer, Set<Integer>> members ;
|
||||
|
||||
private long createTime;
|
||||
|
||||
|
|
@ -28,6 +29,10 @@ public class GuildInfo {
|
|||
this.id = ((Long)RedisUtil.getInstence().increment(RedisKey.FAMILY_ID)).intValue();
|
||||
this.name = name;
|
||||
this.announce = announce;
|
||||
members = new ConcurrentHashMap();
|
||||
if(!members.containsKey(GlobalsDef.CHAIRMAN)){
|
||||
members.put(GlobalsDef.CHAIRMAN,new HashSet<>());
|
||||
}
|
||||
members.get(GlobalsDef.CHAIRMAN).add(creator);
|
||||
this.createTime = System.currentTimeMillis();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,73 @@
|
|||
package com.ljsd.jieling.logic.family;
|
||||
|
||||
import com.ljsd.jieling.config.SGuildSetting;
|
||||
import com.ljsd.jieling.globals.BIReason;
|
||||
import com.ljsd.jieling.logic.dao.GuilidManager;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.GuildInfo;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.Family;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import com.ljsd.jieling.util.ShieldedWordUtils;
|
||||
import com.ljsd.jieling.util.StringUtil;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public class GuildLogic {
|
||||
|
||||
public static void createFamily(ISession session,String familyName,String announce) throws Exception {
|
||||
int uid = session.getUid();
|
||||
User user = UserManager.getUser(uid);
|
||||
int msgId = MessageTypeProto.MessageType.FAMILY_CREATE_RESPONSE_VALUE;
|
||||
String err = checkForCreateGuild(user, familyName, announce);
|
||||
if(!"".equals(err)){
|
||||
MessageUtil.sendErrorResponse(session,0,msgId,err);
|
||||
return;
|
||||
}
|
||||
GuildInfo guildInfo = new GuildInfo(user.getId(),familyName,announce);
|
||||
GuilidManager.addGuildInfo(guildInfo);
|
||||
MessageUtil.sendMessage(session,1,msgId,null,true);
|
||||
}
|
||||
|
||||
public static String checkForCreateGuild( User user,String familyName,String announce) throws Exception {
|
||||
if(StringUtil.isEmpty(familyName)){
|
||||
return "名字不能为空";
|
||||
}
|
||||
boolean result = ShieldedWordUtils.checkName(familyName,false);
|
||||
if (!result) {
|
||||
return "包含敏感字";
|
||||
}
|
||||
if(!StringUtil.isEmpty(announce)){
|
||||
result = ShieldedWordUtils.checkName(announce,false);
|
||||
if (!result) {
|
||||
return "包含敏感字";
|
||||
}
|
||||
}
|
||||
boolean enough= ItemUtil.itemCost(user, SGuildSetting.sGuildSetting.getCreatCost(), BIReason.CREATE_GUILD_CONSUME, 0);
|
||||
if(!enough){
|
||||
return "道具不足";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
public static void recommendFamily(ISession session) 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();
|
||||
for(GuildInfo guildInfo : guildInfos){
|
||||
builder.addFamilyBaseInfo(CommonProto.FamilyBaseInfo.newBuilder().setId(guildInfo.getId()).setLevle(1).setAnnouce(guildInfo.getAnnounce()).setName(guildInfo.getName()));
|
||||
}
|
||||
MessageUtil.sendMessage(session,1,msgId,builder.build(),true);
|
||||
}
|
||||
|
||||
public static void applyFamily(ISession session){
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue