好友友情点修改

back_recharge
lvxinran 2020-03-13 14:26:45 +08:00
parent 50110c8723
commit 566fc26e6d
2 changed files with 24 additions and 52 deletions

View File

@ -527,11 +527,11 @@ public class FriendLogic {
throw new ErrorCodeException(ErrorCode.FRIENDS_SEMD_YET);
}
friendManager.updateGiveMap(friendId,1);
boolean check = PlayerLogic.getInstance().checkAndUpdate(user,STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getMaxEnergyGet(), 1);
if(check){
friendManager1.updateHaveRewardMap(uid,1);
sendFriendStatedication(uid,friendId,2);
}
// boolean check = PlayerLogic.getInstance().checkAndUpdate(user,STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getMaxEnergyGet(), 1);
// if(check){
friendManager1.updateHaveRewardMap(uid,1);
sendFriendStatedication(uid,friendId,2);
// }
times++;
}else{ //赠送全部好友
for (Integer friendUserId : friends) {
@ -545,11 +545,11 @@ public class FriendLogic {
continue;
}
friendManager.updateGiveMap(friendUserId,1);
boolean check = PlayerLogic.getInstance().checkAndUpdate(user,STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getMaxEnergyGet(), 1);
if(check){
friendManager1.updateHaveRewardMap(uid,1);
sendFriendStatedication(uid,friendUserId,2);
}
// boolean check = PlayerLogic.getInstance().checkAndUpdate(user,STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getMaxEnergyGet(), 1);
// if(check){
friendManager1.updateHaveRewardMap(uid,1);
sendFriendStatedication(uid,friendUserId,2);
// }
times++;
}
}
@ -571,7 +571,7 @@ public class FriendLogic {
List<Integer> friends = friendManager.getFriends();
Map<Integer, Integer> haveRewardMap = friendManager.getHaveRewardMap();
PlayerManager playerInfoManager = user.getPlayerInfoManager();
boolean check = PlayerLogic.getInstance().checkAndUpdate(user,STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getMaxEnergyGet(), 1);
boolean check = PlayerLogic.getInstance().check(user,STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getMaxEnergyGet(), 1);
Set<Integer> receieveFriends = new HashSet<>();
if(!check){
throw new ErrorCodeException(ErrorCode.FRIENDS_GET_MAX);
@ -594,7 +594,6 @@ public class FriendLogic {
takeTimes++;
rewardStr = reward.toString();
}else{
int i=0;
for (Integer friend : friends) {
if (!haveRewardMap.containsKey(friend)) {
continue;
@ -602,13 +601,11 @@ public class FriendLogic {
if (haveRewardMap.containsKey(friend) && haveRewardMap.get(friend) != 1) {
continue;
}
if(i++>0){
check = PlayerLogic.getInstance().checkAndUpdate(user,STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getMaxEnergyGet(), 1);
if(!check){
break;
}
check = PlayerLogic.getInstance().checkAndUpdate(user,STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getMaxEnergyGet(), 1);
if(!check){
break;
}
playerInfoManager.updateVipPrivilage(STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getMaxEnergyGet(),1);
friendManager.updateHaveRewardMap(friend,2);
reward.append(SSpecialConfig.getStringValue(SSpecialConfig.Friend_Gift)).append("|");
receieveFriends.add(friend);

View File

@ -749,41 +749,13 @@ public class PlayerLogic {
user.getPlayerInfoManager().setRideLevel(rideLevel+1);
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
}
public boolean checkAndUpdate(User user, int privilageTypeId, int updateNum){
Map<Integer, VipInfo> vipInfo = user.getPlayerInfoManager().getVipInfo();
if(privilageTypeId == 0){
return true;
}
List<SPrivilegeTypeConfig> sPrivilegeTypeConfigs = SPrivilegeTypeConfig.privilegeByType.get(privilageTypeId);
List<Integer> typePrivileges = new ArrayList<>();
for(SPrivilegeTypeConfig config:sPrivilegeTypeConfigs){
if(!vipInfo.containsKey(config.getId())){
continue;
}
typePrivileges.add(config.getId());
}
if(typePrivileges.isEmpty()){
return false;
}
for(Integer privilageId:typePrivileges){
VipInfo info = vipInfo.get(privilageId);
if(info.getEffectTime()!=0&&TimeUtils.now()/1000>info.getEffectTime()){
continue;
}
int mCount = getMaxCountByPrivilege(user,privilageId);
if(mCount==-1){
return true;
}
if((info.getCount()+updateNum>mCount)|| (info.getEffectTime()!=0&&TimeUtils.now()/1000>info.getEffectTime())){
continue;
}
user.getPlayerInfoManager().updateVipPrivilage(privilageId, updateNum);
return true;
}
return false;
}
public boolean check(User user, int privilageTypeId, int checkNum){
return priviliageCheck(user,privilageTypeId,checkNum,false);
}
public boolean checkAndUpdate(User user, int privilageTypeId, int updateNum){
return priviliageCheck(user,privilageTypeId,updateNum,true);
}
private boolean priviliageCheck(User user, int privilageTypeId, int checkNum,boolean isUpdate){
Map<Integer, VipInfo> vipInfo = user.getPlayerInfoManager().getVipInfo();
if(privilageTypeId == 0){
return true;
@ -811,6 +783,9 @@ public class PlayerLogic {
if((info.getCount()+checkNum>mCount)|| (info.getEffectTime()!=0&&TimeUtils.now()/1000>info.getEffectTime())){
continue;
}
if (isUpdate){
user.getPlayerInfoManager().updateVipPrivilage(privilageId, checkNum);
}
return true;
}
return false;