generated from root/miduo_server
修复特权卡不刷新的问题
parent
353af6a1e5
commit
dfc96e76b1
|
|
@ -25,6 +25,7 @@ import com.ljsd.jieling.logic.heroTrial.HeroTrialLogic;
|
|||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
import com.ljsd.jieling.logic.mission.MissionLoigc;
|
||||
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||
import com.ljsd.jieling.logic.privilegeCard.PrivilegeCardLogic;
|
||||
import com.ljsd.jieling.logic.question.QuestionLogic;
|
||||
import com.ljsd.jieling.logic.store.BuyGoodsLogic;
|
||||
import com.ljsd.jieling.logic.store.PushRechargeType;
|
||||
|
|
@ -77,6 +78,8 @@ public class GetPlayerInfoHandler extends BaseHandler {
|
|||
}
|
||||
//同步英雄芯片
|
||||
UserManager.initHeroMedal(user);
|
||||
//检查特权卡状态
|
||||
PrivilegeCardLogic.checkPrivilegeCard(user,false);
|
||||
Poster.getPoster().dispatchEvent(new UserOnlineEvent(userId));
|
||||
GlobalDataManaager.checkNewFunction(user);
|
||||
PlayerLogic.getInstance().sendDayilyMail(user, iSession);
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import com.ljsd.jieling.db.redis.RedisUtil;
|
|||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.logic.dao.ArenaRecord;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.fight.FightUtil;
|
||||
import com.ljsd.jieling.logic.virtualBattle.VirtualBattleLogic;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
|
|
@ -37,9 +38,12 @@ public class FightVirtualEliteBattleFightRePlayRequestHandler extends BaseHandle
|
|||
String selfKey = VirtualBattleLogic.getInstance().getSelfKeyForRePlay(uid,fightId);
|
||||
|
||||
|
||||
ArenaRecord power = RedisUtil.getInstence().get(RedisKey.VirtualBattle_ELITE_POWER_TOP_RECORD, gameLevelId, ArenaRecord.class);
|
||||
ArenaRecord fast = RedisUtil.getInstence().get(RedisKey.VirtualBattle_ELITE_FAST_RECORD, gameLevelId, ArenaRecord.class);
|
||||
ArenaRecord self = RedisUtil.getInstence().get(RedisKey.VirtualBattle_ELITE_SELF_RECORD, selfKey, ArenaRecord.class);
|
||||
// ArenaRecord power = RedisUtil.getInstence().get(RedisKey.VirtualBattle_ELITE_POWER_TOP_RECORD, gameLevelId, ArenaRecord.class);
|
||||
// ArenaRecord fast = RedisUtil.getInstence().get(RedisKey.VirtualBattle_ELITE_FAST_RECORD, gameLevelId, ArenaRecord.class);
|
||||
// ArenaRecord self = RedisUtil.getInstence().get(RedisKey.VirtualBattle_ELITE_SELF_RECORD, selfKey, ArenaRecord.class);
|
||||
ArenaRecord power = FightUtil.getBattleRecord(RedisKey.VirtualBattle_ELITE_POWER_TOP_RECORD,gameLevelId);
|
||||
ArenaRecord fast = FightUtil.getBattleRecord(RedisKey.VirtualBattle_ELITE_FAST_RECORD,gameLevelId);
|
||||
ArenaRecord self = FightUtil.getBattleRecord(RedisKey.VirtualBattle_ELITE_SELF_RECORD,selfKey);
|
||||
FightInfoProto.VirtualBattleFightRePlayResponse.Builder fightRePlayResponse = FightInfoProto.VirtualBattleFightRePlayResponse.newBuilder();
|
||||
List<ArenaRecord> list = new ArrayList<>();
|
||||
list.add(power);
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ import com.ljsd.jieling.logic.mission.MissionLoigc;
|
|||
import com.ljsd.jieling.logic.mission.data.DataManagerDistributor;
|
||||
import com.ljsd.jieling.logic.mission.event.MissionEventDistributor;
|
||||
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||
import com.ljsd.jieling.logic.privilegeCard.PrivilegeCardLogic;
|
||||
import com.ljsd.jieling.logic.store.BuyGoodsLogic;
|
||||
import com.ljsd.jieling.logic.store.StoreLogic;
|
||||
import com.ljsd.jieling.logic.welfareCurrency.WelfareCurrencyLogic;
|
||||
|
|
@ -391,6 +392,8 @@ public class GlobalDataManaager implements IManager {
|
|||
user.getPlayerInfoManager().setProudInfo(new HashSet<>());
|
||||
// 道具刷新
|
||||
BuyGoodsLogic.refreshWelfareState(user);
|
||||
//特权卡刷新
|
||||
PrivilegeCardLogic.checkPrivilegeCard(user,true);
|
||||
// 惊喜礼盒,超值基金,零点逻辑(可以同用一个状态)
|
||||
Poster.getPoster().dispatchEvent(new SuperBoxEvent(user.getId(), SuperBoxEvent.fund_zero_init));
|
||||
//联盟活跃任务刷新
|
||||
|
|
|
|||
|
|
@ -228,6 +228,7 @@ public class PlayerManager extends MongoBase {
|
|||
private long lastShareRewardTime; //上次分享领奖时间
|
||||
|
||||
private Set<Integer> awardedPrivilegeCard = new HashSet<>();//当日已经领过奖的特权卡
|
||||
private long refreshPrivilegeCardTime;//上次特权卡重置时间
|
||||
|
||||
public List<GoodsReward> getProspectGoodsRewardRecords() {
|
||||
return prospectGoodsRewardRecords;
|
||||
|
|
@ -1331,4 +1332,13 @@ public class PlayerManager extends MongoBase {
|
|||
this.lastShareRewardTime = lastShareRewardTime;
|
||||
updateString("lastShareRewardTime",lastShareRewardTime);
|
||||
}
|
||||
|
||||
public long getRefreshPrivilegeCardTime() {
|
||||
return refreshPrivilegeCardTime;
|
||||
}
|
||||
|
||||
public void setRefreshPrivilegeCardTime(long refreshPrivilegeCardTime) {
|
||||
this.refreshPrivilegeCardTime = refreshPrivilegeCardTime;
|
||||
updateString("refreshPrivilegeCardTime",refreshPrivilegeCardTime);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -603,10 +603,10 @@ public class GuildLogic{
|
|||
Integer position = memberEntry.getKey();
|
||||
Set<Integer> value = memberEntry.getValue();
|
||||
for (Integer uidTmp : value) {
|
||||
LOGGER.info("uidTmp={}",uidTmp);
|
||||
// LOGGER.info("uidTmp={}",uidTmp);
|
||||
if(uidTmp != null) {
|
||||
User userTmp = UserManager.getUser(uidTmp, true);
|
||||
LOGGER.info("userTmp={}", userTmp);
|
||||
// LOGGER.info("userTmp={}", userTmp);
|
||||
if (userTmp != null) {
|
||||
builder.addFamilyUserInfo(CBean2Proto.getFamilyUserInfo(userTmp, position));
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -115,4 +115,25 @@ public class PrivilegeCardLogic {
|
|||
TimeUtils.nowInt(), Global.MAIL_EFFECTIVE_TIME);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置特权卡每日奖励领取状态
|
||||
* @param user
|
||||
*/
|
||||
public static void checkPrivilegeCard(User user,boolean notice){
|
||||
if (TimeUtils.differentDays(user.getPlayerInfoManager().getRefreshPrivilegeCardTime(), System.currentTimeMillis()) < 1) {
|
||||
return;
|
||||
}
|
||||
user.getPlayerInfoManager().setRefreshPrivilegeCardTime(System.currentTimeMillis());
|
||||
user.getPlayerInfoManager().resetAllAwardedPrivilegeCard();
|
||||
if (notice){
|
||||
for (int privilegeCardId : SPrivilegeCardConfig.privilegeCardConfigMap.keySet()) {
|
||||
CommonProto.PrivilegeCardInfo privilegeCardInfo = CommonProto.PrivilegeCardInfo.newBuilder()
|
||||
.setCardId(privilegeCardId)
|
||||
.setTakeDailyReward(false)
|
||||
.build();
|
||||
MessageUtil.sendIndicationMessage(user.getId(), MessageTypeProto.MessageType.PUSH_PRIVILEGE_CARD_INFO_VALUE, privilegeCardInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -523,23 +523,30 @@ public class VirtualEliteBattleLogic {
|
|||
|
||||
String selfKey = getSelfKeyForRePlay(user.getId(), Integer.valueOf(gameLevelId));
|
||||
|
||||
RedisUtil.getInstence().set(RedisKey.VirtualBattle_ELITE_SELF_RECORD, selfKey, arenaRecord);
|
||||
arenaRecordTemp = RedisUtil.getInstence().get(RedisKey.VirtualBattle_ELITE_FAST_RECORD, gameLevelId, ArenaRecord.class);
|
||||
// RedisUtil.getInstence().set(RedisKey.VirtualBattle_ELITE_SELF_RECORD, selfKey, arenaRecord);
|
||||
FightUtil.addBattleRecord(RedisKey.VirtualBattle_ELITE_SELF_RECORD, selfKey, arenaRecord);
|
||||
// arenaRecordTemp = RedisUtil.getInstence().get(RedisKey.VirtualBattle_ELITE_FAST_RECORD, gameLevelId, ArenaRecord.class);
|
||||
arenaRecordTemp = FightUtil.getBattleRecord(RedisKey.VirtualBattle_ELITE_FAST_RECORD, gameLevelId);
|
||||
if (arenaRecordTemp == null) {
|
||||
RedisUtil.getInstence().set(RedisKey.VirtualBattle_ELITE_FAST_RECORD, gameLevelId, arenaRecord);
|
||||
// RedisUtil.getInstence().set(RedisKey.VirtualBattle_ELITE_FAST_RECORD, gameLevelId, arenaRecord);
|
||||
FightUtil.addBattleRecord(RedisKey.VirtualBattle_ELITE_FAST_RECORD, gameLevelId, arenaRecord);
|
||||
} else {
|
||||
if (arenaRecord.getUseTime() < arenaRecordTemp.getUseTime()) {
|
||||
RedisUtil.getInstence().set(RedisKey.VirtualBattle_ELITE_FAST_RECORD, gameLevelId, arenaRecord);
|
||||
// RedisUtil.getInstence().set(RedisKey.VirtualBattle_ELITE_FAST_RECORD, gameLevelId, arenaRecord);
|
||||
FightUtil.addBattleRecord(RedisKey.VirtualBattle_ELITE_FAST_RECORD, gameLevelId, arenaRecord);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
arenaRecordTemp = RedisUtil.getInstence().get(RedisKey.VirtualBattle_ELITE_POWER_TOP_RECORD, gameLevelId, ArenaRecord.class);
|
||||
// arenaRecordTemp = RedisUtil.getInstence().get(RedisKey.VirtualBattle_ELITE_POWER_TOP_RECORD, gameLevelId, ArenaRecord.class);
|
||||
arenaRecordTemp = FightUtil.getBattleRecord(RedisKey.VirtualBattle_ELITE_POWER_TOP_RECORD, gameLevelId);
|
||||
if (arenaRecordTemp == null) {
|
||||
RedisUtil.getInstence().set(RedisKey.VirtualBattle_ELITE_POWER_TOP_RECORD, gameLevelId, arenaRecord);
|
||||
// RedisUtil.getInstence().set(RedisKey.VirtualBattle_ELITE_POWER_TOP_RECORD, gameLevelId, arenaRecord);
|
||||
FightUtil.addBattleRecord(RedisKey.VirtualBattle_ELITE_POWER_TOP_RECORD, gameLevelId, arenaRecord);
|
||||
} else {
|
||||
if (arenaRecord.getFightPower() < arenaRecordTemp.getFightPower()) {
|
||||
RedisUtil.getInstence().set(RedisKey.VirtualBattle_ELITE_POWER_TOP_RECORD, gameLevelId, arenaRecord);
|
||||
// RedisUtil.getInstence().set(RedisKey.VirtualBattle_ELITE_POWER_TOP_RECORD, gameLevelId, arenaRecord);
|
||||
FightUtil.addBattleRecord(RedisKey.VirtualBattle_ELITE_POWER_TOP_RECORD, gameLevelId, arenaRecord);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue