工会boss挑战次数刷新修改

master_ob2
PC-202302260912\Administrator 2023-08-09 11:00:27 +08:00
parent c220070f59
commit 619899b028
3 changed files with 29 additions and 18 deletions

View File

@ -61,7 +61,7 @@ public class CoreLogic {
return 0;
}
public void checkCoreCdk() throws Exception{
public void checkCoreCdk() {
try {
List<SCdkInfo> all = MongoUtil.getCoreMongoTemplate().findAll(SCdkInfo.class);
if(!all.isEmpty()){
@ -72,7 +72,7 @@ public class CoreLogic {
sCdkInfosCacheMap = sCdkInfosMap;
}
}catch (Exception e){
LOGGER.error("Exception::cdkErr:"+e.toString());
LOGGER.error("Exception::cdkErr:"+ e);
}
}

View File

@ -39,6 +39,15 @@ public class StoreManager extends MongoBase {
updateString(getMongoKey() + ".storeInfoMap." + key, storeInfo);
}
public void refreshStoreItem(Integer key,Integer itemKey) {
StoreInfo storeInfo= storeInfoMap.get(key);
if (storeInfo == null){
return;
}
storeInfo.getItemNumMap().put(itemKey, 0);
updateString(getMongoKey() + ".storeInfoMap." + key, storeInfo);
}
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);
addStoreInfo(storeInfo);

View File

@ -102,12 +102,7 @@ public class GuildChallengeLogic {
//先清除特权
if(guildInfo.getCurrBossId()!=0&&guildInfo.getCurrBossId()!= guildMyInfo.getLastMonsterId()&& guildMyInfo.getLastMonsterId()!=0){
if(!guildMyInfo.getRefreshedBoss().contains(guildMyInfo.getLastMonsterId())&&guildMyInfo.getGuildChallengeDamage()!=0){
for(int clearPrivilege:config.getPrivilege()){
user.getPlayerInfoManager().clearVipCount(clearPrivilege);
}
user.getPlayerInfoManager().removeVipPriviliageId(3013);
user.getStoreManager().removeStoreItemInfo(7,10031);
StoreLogic.getInstance().sendStoreUpdateIndication(uid,user.getStoreManager().getStoreInfoMap().get(7));
refreshGuildChallengeStore(user, config.getPrivilege());
guildMyInfo.addRefreshedBoss(guildMyInfo.getLastMonsterId());
isRefresh = 1;
}
@ -300,17 +295,12 @@ public class GuildChallengeLogic {
if(guildMyInfo.getRefreshedBoss().contains(bossId)) {
return;
}
if(guildInfo.getBossHpRemain()!=-1){//如果击败的是最后一关 不需要刷新
int[] refreshPrivilege = config.getPrivilege();
for(int clearPrivilege:refreshPrivilege){
user1.getPlayerInfoManager().clearVipCount(clearPrivilege);
}
user1.getPlayerInfoManager().removeVipPriviliageId(3013);
user1.getStoreManager().removeStoreItemInfo(7,10031);
StoreLogic.getInstance().sendStoreUpdateIndication(user1.getId(),user1.getStoreManager().getStoreInfoMap().get(7));
//如果击败的是最后一关 不需要刷新
if(guildInfo.getBossHpRemain()!=-1){
refreshGuildChallengeStore(user1, config.getPrivilege());
guildMyInfo.addRefreshedBoss(bossId);
guildMyInfo.setLastMonsterId(bossId+1);
guildMyInfo.setGuildChallengeDamage(0);
guildMyInfo.addRefreshedBoss(bossId);
}
});
ProtocolsManager.getInstance().updateAyncWorker(worker);
@ -333,7 +323,6 @@ public class GuildChallengeLogic {
Family.GuildChallengeIndication.Builder indication = Family.GuildChallengeIndication.newBuilder()
.setBlood(remainHp)
.setCurBoss(guildInfo.getCurrBossId());
// GuildLogic.sendIndicationToMemberWithoutUser(guildInfo, MessageTypeProto.MessageType.GUILD_CHALLENGE_INDICATION,indication.build(),uid);
Map<Integer, Set<Integer>> members = guildInfo.getMembers();
for(Set<Integer> items : members.values()){
for(Integer sendUid : items){
@ -385,6 +374,19 @@ public class GuildChallengeLogic {
MessageUtil.sendIndicationMessage(session,1,MessageTypeProto.MessageType.GUILD_CHALLENGE_INDICATION_VALUE,indication.build(),true);
}
/**
* boss
* @param user
*/
private void refreshGuildChallengeStore(User user, int[] privilege){
for(int clearPrivilege : privilege){
user.getPlayerInfoManager().clearVipCount(clearPrivilege);
}
user.getPlayerInfoManager().refreshVipByType(3011);
user.getStoreManager().refreshStoreItem(7,10031);
StoreLogic.getInstance().sendStoreUpdateIndication(user.getId(),user.getStoreManager().getStoreInfoMap().get(7));
}
/**
* buff
*/