好友友情点修改
parent
50110c8723
commit
566fc26e6d
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue