商店时间推送修改

back_recharge
lvxinran 2020-05-27 09:00:39 +08:00
parent 58d6738ca0
commit b6760d596a
2 changed files with 26 additions and 19 deletions

View File

@ -82,7 +82,8 @@ public class ExpeditionLogic {
ExpeditionManager manager = user.getExpeditionManager();
TimeControllerOfFunction openTimeOfFuntionCacheByType = GlobalDataManaager.getInstance().getOpenTimeOfFuntionCacheByType(FunctionIdEnum.Expedition);
if(manager.getCurrentTime()==openTimeOfFuntionCacheByType.getTimes()){
if(openTimeOfFuntionCacheByType==null||manager.getCurrentTime()==openTimeOfFuntionCacheByType.getTimes()){
return;
}
takeAllReward(user);

View File

@ -134,28 +134,33 @@ public class StoreLogic implements IEventHandler {
for(int i = 1;i<sStoreTypeConfig.getRefreshType().length;i++){
if(sStoreTypeConfig.getRefreshType()[i]!=calendar.get(Calendar.HOUR_OF_DAY)){
return;
continue;
}
sendRefreshIndication(sStoreTypeConfig,now);
break ;
}
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());
}
}
}
Map<Integer, Integer> storeItem = getStoreItem(sStoreTypeConfig.getId(), sStoreTypeConfig, user);
if(storeItem == null){
LOGGER.error("the uid={},the storeID={} is null",user.getId(),sStoreTypeConfig.getId());
return;
}
storeInfo.setItemNumMap(storeItem);
storeInfo.setLastRefreshTime(now);
MongoUtil.getInstence().lastUpdate();
sendStoreUpdateIndication(user.getId(),storeInfo);
});
private static 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());
Map<Integer, Integer> storeItem = getStoreItem(sStoreTypeConfig.getId(), sStoreTypeConfig, user);
if(storeItem == null){
LOGGER.error("the uid={},the storeID={} is null",user.getId(),sStoreTypeConfig.getId());
return;
}
}
storeInfo.setItemNumMap(storeItem);
storeInfo.setLastRefreshTime(lastRefreshTime);
MongoUtil.getInstence().lastUpdate();
sendStoreUpdateIndication(user.getId(),storeInfo);
});
}
}
}
@ -250,6 +255,7 @@ public class StoreLogic implements IEventHandler {
public static void sendStoreUpdateIndication(int uid,StoreInfo storeInfo){
CommonProto.StoreInfo.Builder builder = getBuilder(storeInfo);
System.out.println("商店刷新发送推送");
PlayerInfoProto.storeUpdateIndication build = PlayerInfoProto.storeUpdateIndication.newBuilder().addStoreInfo(builder).build();
ISession session = OnlineUserManager.getSessionByUid(uid);
if(session!=null){