修改特权商店刷新问题

DESKTOP-C3M45P4\dengdan 2025-06-04 00:05:01 +08:00
parent 0c83f52406
commit 034643ca26
2 changed files with 22 additions and 16 deletions

View File

@ -421,6 +421,8 @@ public class GlobalDataManaager implements IManager {
//活动刷新
ActivityLogic.getInstance().flushEveryDay(user,fBuilder);
PlayerLogic.getInstance().vipflushEveryDay(user,fBuilder);
//刷新商店
StoreLogic.getInstance().checkStoreRefresh(user,user.getStoreManager().getStoreInfoMap());
PlayerLogic.getInstance().flushUserdataEvery(user,fBuilder);
GuildLogic.getInstance().flushEveryDay(user,fBuilder);
MapLogic.getInstance().flushEndlessTreasure(user);

View File

@ -129,7 +129,12 @@ public class StoreLogic {
}
if (sStoreTypeConfig.getRefreshType()[0] == 2 && calendar.get(Calendar.MINUTE) == 0) {
for (int i = 1; i < sStoreTypeConfig.getRefreshType().length; i++) {
if (sStoreTypeConfig.getRefreshType()[i] != calendar.get(Calendar.HOUR_OF_DAY)) {
int hour = calendar.get(Calendar.HOUR_OF_DAY);
//0点的需要刷新特权,在玩家0点刷新中集中处理
if(hour == 0){
continue;
}
if (sStoreTypeConfig.getRefreshType()[i] != hour) {
continue;
}
sendRefreshIndication(sStoreTypeConfig, now);
@ -145,22 +150,21 @@ public class StoreLogic {
private void sendRefreshIndication(SStoreTypeConfig sStoreTypeConfig,long lastRefreshTime) throws Exception {
for(ISession session : OnlineUserManager.sessionMap.values()){
if(session.getFiveReady() == 1){
User user = UserManager.getUser(session.getUid());
if(user.getStoreManager().getStoreInfoMap().containsKey(sStoreTypeConfig.getId())){
updateUsersStoreAyync(UserManager.getUser(session.getUid()),user1 -> {
StoreInfo storeInfo = user.getStoreManager().getStoreInfoMap().get(sStoreTypeConfig.getId());
User user = UserManager.getUser(session.getUid());
if(user.getStoreManager().getStoreInfoMap().containsKey(sStoreTypeConfig.getId())){
updateUsersStoreAyync(UserManager.getUser(session.getUid()),user1 -> {
//先判断特权是否刷新,功能商店需要关联特权次数,如果特权后刷新,次数会出现错误,需要下次刷新才会修复
StoreInfo storeInfo = user.getStoreManager().getStoreInfoMap().get(sStoreTypeConfig.getId());
Map<Integer, Integer> storeItem = getStoreItem(sStoreTypeConfig.getId(), sStoreTypeConfig, user);
if(sStoreTypeConfig.getId()==57){
Poster.getPoster().dispatchEvent(new GoldRefreshEvent(session.getUid()));
}
storeInfo.setItemNumMap(storeItem);
storeInfo.setLastRefreshTime(lastRefreshTime);
MongoUtil.getInstence().lastUpdate();
sendStoreUpdateIndication(user.getId(),storeInfo);
});
}
Map<Integer, Integer> storeItem = getStoreItem(sStoreTypeConfig.getId(), sStoreTypeConfig, user);
if(sStoreTypeConfig.getId()==57){
Poster.getPoster().dispatchEvent(new GoldRefreshEvent(session.getUid()));
}
storeInfo.setItemNumMap(storeItem);
storeInfo.setLastRefreshTime(lastRefreshTime);
MongoUtil.getInstence().lastUpdate();
sendStoreUpdateIndication(user.getId(),storeInfo);
});
}
}
}