公会副本次数修改

lvxinran 2020-09-01 14:14:26 +08:00
parent c98aa7f20d
commit cc3f0d662d
3 changed files with 33 additions and 1 deletions

View File

@ -358,6 +358,10 @@ public class PlayerManager extends MongoBase {
updateString("vipInfo", vipInfo);
}
public void removeVipCount(int priviliageId){
vipInfo.remove(priviliageId);
removeString("vipInfo."+priviliageId);
}
public void addVipInfo(int privilageId){
SPrivilegeTypeConfig config = SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(privilageId);

View File

@ -32,6 +32,19 @@ public class StoreManager extends MongoBase {
removeString(getMongoKey() + ".storeInfoMap." + key);
}
}
public void removeStoreItemInfo(Integer key,Integer itemKey) {
StoreInfo storeInfo= storeInfoMap.get(key);
if (storeInfo==null){
return;
}
Map<Integer, Integer> itemNumMap = storeInfo.getItemNumMap();
if(itemNumMap.get(itemKey)==null){
return;
}
itemNumMap.put(itemKey,0);
updateString("storeInfoMap." + storeInfo.getId()+"."+itemKey, 0);
}
public void newStoreInfo(int id,long lastRefreshTime,long startTime,long endTime,Map<Integer,Integer> itemNumMap) throws Exception {
StoreInfo storeInfo = new StoreInfo(id,lastRefreshTime,startTime,endTime,itemNumMap);

View File

@ -22,7 +22,9 @@ import com.ljsd.jieling.logic.player.PlayerLogic;
import com.ljsd.jieling.logic.rank.RankContext;
import com.ljsd.jieling.logic.rank.RankEnum;
import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank;
import com.ljsd.jieling.logic.store.StoreLogic;
import com.ljsd.jieling.network.server.ProtocolsManager;
import com.ljsd.jieling.network.server.SessionManager;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.CommonProto;
import com.ljsd.jieling.protocols.Family;
@ -85,6 +87,9 @@ public class GuildChallengeLogic {
for(int clearPrivilege:config.getPrivilege()){
user.getPlayerInfoManager().clearVipCount(clearPrivilege);
}
user.getPlayerInfoManager().removeVipPriviliageId(3013);
user.getStoreManager().removeStoreItemInfo(7,10031);
StoreLogic.sendStoreUpdateIndication(uid,user.getStoreManager().getStoreInfoMap().get(7));
}
int canSweep = 0;
if(guildMyInfo.getLastMonsterId()!=0&&currBossId==guildMyInfo.getLastMonsterId()&&guildMyInfo.getGuildChallengeDamage()>0){
@ -188,6 +193,7 @@ public class GuildChallengeLogic {
}else{
guildInfo.setCurrBossId(guildInfo.getCurrBossId() + 1);
guildInfo.setBossHpRemain(0);
kill=1;
}
damage = guildMyInfo.getGuildChallengeDamage();
}
@ -202,11 +208,20 @@ public class GuildChallengeLogic {
Map<Integer, Set<Integer>> members = guildInfo.getMembers();
for(Set<Integer> items : members.values()){
for(Integer sendUid : items){
if(!OnlineUserManager.sessionMap.containsKey(sendUid)){
continue;
}
AyyncWorker worker = new AyyncWorker(UserManager.getUser(sendUid),false,(user1)->{
int[] refreshPrivilege = config.getPrivilege();
for(int clearPrivilege:refreshPrivilege){
user.getPlayerInfoManager().clearVipCount(clearPrivilege);
user1.getPlayerInfoManager().clearVipCount(clearPrivilege);
}
user1.getPlayerInfoManager().removeVipPriviliageId(3013);
user1.getStoreManager().removeStoreItemInfo(7,10031);
StoreLogic.sendStoreUpdateIndication(user1.getId(),user1.getStoreManager().getStoreInfoMap().get(7));
GuildMyInfo guildMyInfo = user1.getGuildMyInfo();
guildMyInfo.setLastMonsterId(bossId+1);
guildMyInfo.setGuildChallengeDamage(0);
});
ProtocolsManager.getInstance().updateAyncWorker(worker);
}