公会任命bug

back_recharge
zhangshanxue 2020-11-14 05:59:44 +08:00
parent ac33f41267
commit aa985f2a7f
2 changed files with 40 additions and 6 deletions

View File

@ -694,8 +694,28 @@ public class GuildLogic {
if(guildId == 0){ if(guildId == 0){
throw new ErrorCodeException(ErrorCode.FAMILY_NO); throw new ErrorCodeException(ErrorCode.FAMILY_NO);
} }
GuildInfo guildInfo = GuilidManager.guildInfoMap.get(guildId); User targetUser = UserManager.getUser(targetUid);
int targetUserGuildId = targetUser.getPlayerInfoManager().getGuildId();
if(targetUserGuildId == 0){
throw new ErrorCodeException(ErrorCode.FAMILY_NO);
}
if(guildId!=targetUserGuildId){
throw new ErrorCodeException(ErrorCode.FAMILY_NO_ACCESS);
}
GuildInfo guildInfo = GuilidManager.guildInfoMap.get(targetUserGuildId);
int uidType = getMemberType(uid, guildInfo.getMembers()); int uidType = getMemberType(uid, guildInfo.getMembers());
boolean isIn=false;
for(Set<Integer> memberEntry : guildInfo.getMembers().values()){
if(memberEntry.contains(targetUid)){
isIn =true;
break;
}
}
if(!isIn){
throw new ErrorCodeException(ErrorCode.FAMILY_NO_ACCESS);
}
int targetType = getMemberType(targetUid, guildInfo.getMembers()); int targetType = getMemberType(targetUid, guildInfo.getMembers());
if(uidType>1 || uidType>targetType){ if(uidType>1 || uidType>targetType){
throw new ErrorCodeException(ErrorCode.FAMILY_NO_ACCESS); throw new ErrorCodeException(ErrorCode.FAMILY_NO_ACCESS);
@ -715,7 +735,7 @@ public class GuildLogic {
// RedisUtil.getInstence().putMapEntry(RedisKey.PLAYER_INFO_CACHE,"",String.valueOf(uid),cache); // RedisUtil.getInstence().putMapEntry(RedisKey.PLAYER_INFO_CACHE,"",String.valueOf(uid),cache);
PlayerLogic.getInstance().playerInfoUpdate(UserManager.getUser(targetUid)); PlayerLogic.getInstance().playerInfoUpdate(UserManager.getUser(targetUid));
sendPositionChange(targetUid,position); sendPositionChange(targetUid,position);
User targetUser = UserManager.getUser(targetUid);
if(position == GlobalsDef.CHAIRMAN){ if(position == GlobalsDef.CHAIRMAN){
guildInfo.removeMember(GlobalsDef.CHAIRMAN,uid); guildInfo.removeMember(GlobalsDef.CHAIRMAN,uid);
PlayerLogic.getInstance().playerInfoUpdate(user); PlayerLogic.getInstance().playerInfoUpdate(user);

View File

@ -402,12 +402,13 @@ public class PlayerLogic {
public void flushUserdataEvery(User user, PlayerInfoProto.FivePlayerUpdateIndication.Builder fBuilder) throws Exception { public void flushUserdataEvery(User user, PlayerInfoProto.FivePlayerUpdateIndication.Builder fBuilder) throws Exception {
//跟新签到天数 //跟新签到天数
if (!TimeUtils.isSameMonthFiveWithNow(user.getPlayerInfoManager().getOffLineTime())) { PlayerManager playerInfoManager = user.getPlayerInfoManager();
user.getPlayerInfoManager().getPhoneBindInfo().setState(0); if (!TimeUtils.isSameMonthFiveWithNow(playerInfoManager.getOffLineTime())) {
playerInfoManager.getPhoneBindInfo().setState(0);
} }
user.getPlayerInfoManager().setMonthCardDailyTake(new HashSet<>());//刷新月卡信息 playerInfoManager.setMonthCardDailyTake(new HashSet<>());//刷新月卡信息
if(null!=fBuilder){ if(null!=fBuilder){
PhoneBindInfo phoneBindInfo = user.getPlayerInfoManager().getPhoneBindInfo(); PhoneBindInfo phoneBindInfo =playerInfoManager.getPhoneBindInfo();
fBuilder.setPlayerBindPhone(CommonProto.PlayerBindPhone.newBuilder().setPhoneNum(phoneBindInfo.getPhoneNum()).setState(phoneBindInfo.getState()).build()); fBuilder.setPlayerBindPhone(CommonProto.PlayerBindPhone.newBuilder().setPhoneNum(phoneBindInfo.getPhoneNum()).setState(phoneBindInfo.getState()).build());
} }
@ -419,6 +420,19 @@ public class PlayerLogic {
ItemUtil.itemCost(user, dailyScore, BIReason.DAILY_SCORE_CONSUME, 1); ItemUtil.itemCost(user, dailyScore, BIReason.DAILY_SCORE_CONSUME, 1);
} }
//退出公会 隔天清空援助信息
if(playerInfoManager.getGuildId()==0){
GuildMyInfo guildMyInfo = user.getGuildMyInfo();
if(guildMyInfo.getGuidHelpInfo().size()!=0||guildMyInfo.getGuidHelpHadTakeInfo().size()!=0){
guildMyInfo.setGuidHelpInfo(new HashMap<>());
guildMyInfo.setGuidHelpHadTakeInfo(new HashMap<>());
guildMyInfo.setGuildHelpSendTime(0);
guildMyInfo.setGuildHelpReward(false);
guildMyInfo.setGuildHelpTime(0);
}
}
} }
public void modifyDecoration(ISession session, int type,int decorationId,MessageTypeProto.MessageType messageType) throws Exception { public void modifyDecoration(ISession session, int type,int decorationId,MessageTypeProto.MessageType messageType) throws Exception {