点金活动修改
parent
bc08a7f1e5
commit
a07730eec9
|
@ -70,7 +70,7 @@ public class GetPlayerInfoHandler extends BaseHandler{
|
|||
GlobalDataManaager.checkNeedReFlush(iSession,user,null);
|
||||
|
||||
BuyGoodsLogic.initOwernBagInfo(user);
|
||||
Poster.getPoster().dispatchEvent(new UserOnlineEvent(userId));
|
||||
// Poster.getPoster().dispatchEvent(new UserOnlineEvent(userId));
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.LOGIN_GAME,0);
|
||||
playerInfoManager.setLoginTime(TimeUtils.now());
|
||||
Map<Integer, Integer> guidePoints = playerInfoManager.getGuidePoints();
|
||||
|
|
|
@ -1,29 +1,22 @@
|
|||
package com.ljsd.jieling.logic.activity;
|
||||
|
||||
import com.ljsd.GameApplication;
|
||||
import com.ljsd.jieling.jbean.ActivityMission;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.activity.event.HourTaskEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.GoldRefreshEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
import com.ljsd.jieling.logic.activity.event.UserOnlineEvent;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
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.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
import com.ljsd.jieling.protocols.PlayerInfoProto;
|
||||
import com.ljsd.jieling.util.InnerMessageUtil;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import config.SGlobalActivity;
|
||||
import config.SPrivilegeTypeConfig;
|
||||
import config.SSpecialConfig;
|
||||
import manager.STableManager;
|
||||
import util.TimeUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
|
@ -34,8 +27,8 @@ class BuyGoldActivity extends AbstractActivity {
|
|||
|
||||
public BuyGoldActivity(int id) {
|
||||
super(id);
|
||||
Poster.getPoster().listenEvent(this, UserOnlineEvent.class);
|
||||
Poster.getPoster().listenEvent(this, HourTaskEvent.class);
|
||||
// Poster.getPoster().listenEvent(this, UserOnlineEvent.class);
|
||||
Poster.getPoster().listenEvent(this, GoldRefreshEvent.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -44,13 +37,18 @@ class BuyGoldActivity extends AbstractActivity {
|
|||
SGlobalActivity sGlobalActivity = STableManager.getConfig(SGlobalActivity.class).get(id);
|
||||
int time = (int) (GameApplication.serverConfig.getCacheOpenTime()/1000+sGlobalActivity.getEndTimeLong());
|
||||
HashSet<Integer> ids = new HashSet<>();
|
||||
List<Integer> listValue = SSpecialConfig.getListValue(SSpecialConfig.Gold_touch);
|
||||
listValue.forEach(type -> SPrivilegeTypeConfig.privilegeByType.get(type).forEach(sPrivilegeTypeConfig -> {
|
||||
int innerId = sPrivilegeTypeConfig.getId();
|
||||
ids.add(innerId);
|
||||
if (!user.getPlayerInfoManager().containPrivilageId(innerId))
|
||||
user.getPlayerInfoManager().addVipByTime(innerId, time);
|
||||
}));
|
||||
// List<Integer> listValue = SSpecialConfig.getListValue(SSpecialConfig.Gold_touch);
|
||||
List<Integer> listValue = new ArrayList<>();
|
||||
listValue.add(150);
|
||||
listValue.add(151);
|
||||
listValue.add(152);
|
||||
listValue.forEach(type -> {
|
||||
// SPrivilegeTypeConfig.privilegeByType.get(type).forEach(sPrivilegeTypeConfig -> {
|
||||
// int innerId = sPrivilegeTypeConfig.getId();
|
||||
ids.add(type);
|
||||
if (!user.getPlayerInfoManager().containPrivilageId(type))
|
||||
user.getPlayerInfoManager().addVipByTime(type, time);
|
||||
});
|
||||
notifyClient(user, ids);
|
||||
}
|
||||
|
||||
|
@ -58,52 +56,38 @@ class BuyGoldActivity extends AbstractActivity {
|
|||
public void onEvent(IEvent event) throws Exception {
|
||||
super.onEvent(event);
|
||||
//点金刷新走商店
|
||||
// List<Integer> list = SSpecialConfig.getListValue(SSpecialConfig.Gold_touch_refresh);
|
||||
// if (event instanceof HourTaskEvent) {
|
||||
// if (list.contains(((HourTaskEvent) event).getHour())) {
|
||||
// InnerMessageUtil.broadcastWithRandom(user -> {
|
||||
// if (user == null) {
|
||||
// return;
|
||||
// }
|
||||
// setUpTime(user);
|
||||
// }, new ArrayList<>(OnlineUserManager.sessionMap.keySet()), 1);
|
||||
//
|
||||
// }
|
||||
// }
|
||||
// if (event instanceof UserOnlineEvent) {
|
||||
// User user = UserManager.getUser(((UserOnlineEvent) event).getUid());
|
||||
// ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||
// if (null == activityMission) {
|
||||
// return;
|
||||
// }
|
||||
// boolean needRefresh = false;
|
||||
// for (Integer aList : list) {
|
||||
// if (TimeUtils.isOverAppointRefreshTime(System.currentTimeMillis(), activityMission.getV() * 1000L, aList)) {
|
||||
// needRefresh = true;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// if (needRefresh) {
|
||||
// setUpTime(user);
|
||||
// }
|
||||
// }
|
||||
if (event instanceof GoldRefreshEvent) {
|
||||
//不管活动是否开启都要刷新特权
|
||||
GoldRefreshEvent refreshEvent = (GoldRefreshEvent) event;
|
||||
setUpTime(refreshEvent.getUid());
|
||||
|
||||
}
|
||||
/* if (event instanceof UserOnlineEvent) {
|
||||
User user = UserManager.getUser(((UserOnlineEvent) event).getUid());
|
||||
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||
if (null == activityMission) {
|
||||
return;
|
||||
}
|
||||
boolean needRefresh = false;
|
||||
for (Integer aList : list) {
|
||||
if (TimeUtils.isOverAppointRefreshTime(System.currentTimeMillis(), activityMission.getV() * 1000L, aList)) {
|
||||
needRefresh = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (needRefresh) {
|
||||
setUpTime(user);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
private void setUpTime(User user) {
|
||||
|
||||
// ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||
// if (null == activityMission) {
|
||||
// return;
|
||||
// }
|
||||
// //sendclient
|
||||
// activityMission.setV((int) (System.currentTimeMillis()/1000));
|
||||
// HashSet<Integer> ids = new HashSet<>();
|
||||
// List<Integer> listValue = SSpecialConfig.getListValue(SSpecialConfig.Gold_touch);
|
||||
// listValue.forEach(type -> SPrivilegeTypeConfig.privilegeByType.get(type).forEach(sPrivilegeTypeConfig -> {
|
||||
// ids.add(sPrivilegeTypeConfig.getId());
|
||||
// user.getPlayerInfoManager().refreshVipByType(type);
|
||||
// }));
|
||||
// notifyClient(user, ids);
|
||||
private void setUpTime(int uid) throws Exception {
|
||||
User user = UserManager.getUser(uid);
|
||||
//sendclient
|
||||
List<Integer> listValue = SSpecialConfig.getListValue(SSpecialConfig.Gold_touch);
|
||||
listValue.forEach(type ->
|
||||
user.getPlayerInfoManager().refreshVipByType(type)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
package com.ljsd.jieling.logic.activity.event;
|
||||
|
||||
public class GoldRefreshEvent implements IEvent {
|
||||
|
||||
private int uid;
|
||||
|
||||
public GoldRefreshEvent(int uid) {
|
||||
this.uid = uid;
|
||||
}
|
||||
|
||||
public int getUid() {
|
||||
return uid;
|
||||
}
|
||||
|
||||
public void setUid(int uid) {
|
||||
this.uid = uid;
|
||||
}
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
package com.ljsd.jieling.logic.activity.event;
|
||||
|
||||
public class HourTaskEvent implements IEvent {
|
||||
|
||||
int hour;
|
||||
|
||||
public HourTaskEvent(int hour) {
|
||||
this.hour = hour;
|
||||
}
|
||||
|
||||
|
||||
public int getHour() {
|
||||
return hour;
|
||||
}
|
||||
}
|
|
@ -1,8 +1,6 @@
|
|||
package com.ljsd.jieling.logic.store;
|
||||
|
||||
import com.ljsd.jieling.config.clazzStaticCfg.CommonStaticConfig;
|
||||
import com.ljsd.jieling.core.FunctionIdEnum;
|
||||
import com.ljsd.jieling.core.HandlerLogicThread;
|
||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||
import com.ljsd.jieling.exception.ErrorCode;
|
||||
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||
|
@ -12,13 +10,11 @@ import com.ljsd.jieling.ktbeans.KtEventUtils;
|
|||
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
|
||||
import com.ljsd.jieling.logic.GlobalDataManaager;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||
import com.ljsd.jieling.logic.activity.ActivityType;
|
||||
import com.ljsd.jieling.logic.activity.IEventHandler;
|
||||
import com.ljsd.jieling.logic.activity.event.*;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mail.MailLogic;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||
import com.ljsd.jieling.network.server.ProtocolsManager;
|
||||
|
@ -27,10 +23,7 @@ import com.ljsd.jieling.protocols.CommonProto;
|
|||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
import com.ljsd.jieling.protocols.PlayerInfoProto;
|
||||
import com.ljsd.jieling.util.*;
|
||||
import config.SErrorCodeEerverConfig;
|
||||
import config.SSpecialConfig;
|
||||
import config.*;
|
||||
import manager.STableManager;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import util.TimeUtils;
|
||||
|
@ -156,6 +149,9 @@ public class StoreLogic implements IEventHandler {
|
|||
LOGGER.error("the uid={},the storeID={} is null",user.getId(),sStoreTypeConfig.getId());
|
||||
return;
|
||||
}
|
||||
if(sStoreTypeConfig.getId()==57){
|
||||
Poster.getPoster().dispatchEvent(new GoldRefreshEvent(session.getUid()));
|
||||
}
|
||||
storeInfo.setItemNumMap(storeItem);
|
||||
storeInfo.setLastRefreshTime(lastRefreshTime);
|
||||
MongoUtil.getInstence().lastUpdate();
|
||||
|
@ -236,6 +232,10 @@ public class StoreLogic implements IEventHandler {
|
|||
storeInfo.setLastRefreshTime(nowTime);
|
||||
storeInfo.setItemNumMap(storeItem);
|
||||
sendStoreUpdateIndication(user.getId(),storeInfo);
|
||||
//如果是点金商店需要刷新特权!!!
|
||||
if(sStoreTypeConfig.getId()==57){
|
||||
Poster.getPoster().dispatchEvent(new GoldRefreshEvent(user.getId()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
package com.ljsd.jieling.thread.task;
|
||||
|
||||
import com.google.gson.ExclusionStrategy;
|
||||
import com.google.gson.FieldAttributes;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.ljsd.GameApplication;
|
||||
import com.ljsd.fight.CheckFight;
|
||||
import com.ljsd.jieling.config.reportData.DataMessageUtils;
|
||||
|
@ -16,7 +12,6 @@ import com.ljsd.jieling.db.redis.RedisKey;
|
|||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
import com.ljsd.jieling.handler.map.MapLogic;
|
||||
import com.ljsd.jieling.hotfix.HotfixUtil;
|
||||
import com.ljsd.jieling.kefu.GmRoleAbstract;
|
||||
import com.ljsd.jieling.ktbeans.BeanBuilder.KtBeanBuilderUtils;
|
||||
import com.ljsd.jieling.ktbeans.KTRequestBeans.LoginParamType;
|
||||
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
|
||||
|
@ -24,7 +19,6 @@ import com.ljsd.jieling.ktbeans.sendbeans.KTAppOnline;
|
|||
import com.ljsd.jieling.logic.GlobalDataManaager;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||
import com.ljsd.jieling.logic.activity.event.HourTaskEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.MinuteTaskEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
import com.ljsd.jieling.logic.arena.ArenaLogic;
|
||||
|
@ -32,7 +26,6 @@ import com.ljsd.jieling.logic.dao.GuildMyInfo;
|
|||
import com.ljsd.jieling.logic.dao.GuilidManager;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.GuildInfo;
|
||||
import com.ljsd.jieling.logic.dao.root.GuildLog;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.family.DeathPathLogic;
|
||||
import com.ljsd.jieling.logic.family.GuildFightLogic;
|
||||
|
@ -43,21 +36,11 @@ import com.ljsd.jieling.logic.question.QuestionLogic;
|
|||
import com.ljsd.jieling.logic.store.BuyGoodsLogic;
|
||||
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.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.Family;
|
||||
import com.ljsd.jieling.util.InnerMessageUtil;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import com.ljsd.jieling.util.SysUtil;
|
||||
import manager.STableManager;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.data.annotation.Transient;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.*;
|
||||
|
||||
public class MinuteTask extends Thread {
|
||||
|
@ -131,7 +114,7 @@ public class MinuteTask extends Thread {
|
|||
int minute = calendar.get(Calendar.MINUTE);
|
||||
if(minute ==0){
|
||||
LOGGER.info("everyHourTask start ...");
|
||||
Poster.getPoster().dispatchEvent(new HourTaskEvent(hour));
|
||||
// Poster.getPoster().dispatchEvent(new GoldRefreshEvent(hour));
|
||||
try {
|
||||
MongoUtil.checkDb();
|
||||
}catch (Exception e){
|
||||
|
|
Loading…
Reference in New Issue