新版积天豪礼活动提交
parent
d814ecb635
commit
df0059632a
|
|
@ -409,18 +409,20 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
|
|||
* @param filterMissId miss过滤
|
||||
*/
|
||||
public void sendActivityProgress(ISession session, ActivityMission activityMission, Set<Integer> filterMissId) {
|
||||
if (session == null) {
|
||||
return;
|
||||
}
|
||||
PlayerInfoProto.ActivityUpateProgressIndication.Builder builder = PlayerInfoProto.ActivityUpateProgressIndication.newBuilder();
|
||||
if (session != null) {
|
||||
User user = UserManager.getUserInMem(session.getUid());
|
||||
if (user != null && activityMission != null){
|
||||
List<CommonProto.ActivityInfo.MissionInfo> missInfo = getAllMissInfo(user, activityMission, filterMissId);
|
||||
CommonProto.ActivityInfo.Builder builder1 = CommonProto.ActivityInfo.newBuilder()
|
||||
.setValue(activityMission.getV())
|
||||
.addAllMission(missInfo)
|
||||
.setActivityId(id);
|
||||
builder.setActivityInfo(builder1);
|
||||
MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.ACTIVITY_UPDATE_PROGRESS_INDICATION_VALUE, builder.build(), true);
|
||||
}
|
||||
|
||||
User user = UserManager.getUserInMem(session.getUid());
|
||||
if (user != null && activityMission != null) {
|
||||
List<CommonProto.ActivityInfo.MissionInfo> missInfo = getAllMissInfo(user, activityMission, filterMissId);
|
||||
CommonProto.ActivityInfo.Builder builder1 = CommonProto.ActivityInfo.newBuilder()
|
||||
.setValue(activityMission.getV())
|
||||
.addAllMission(missInfo)
|
||||
.setActivityId(id);
|
||||
builder.setActivityInfo(builder1);
|
||||
MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.ACTIVITY_UPDATE_PROGRESS_INDICATION_VALUE, builder.build(), true);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -101,7 +101,8 @@ public class ActivityLogic implements IEventHandler{
|
|||
ActivityLogic.getInstance().resumeActivity(user, ActivityType.RECHARGE_SUM_DAY);
|
||||
|
||||
//更新新积天豪礼天数
|
||||
ActivityLogic.getInstance().resumeActivity(user, ActivityType.NEW_RECHARGE_SUM_DAY);
|
||||
ActivityLogic.getInstance().resumeActivity(user, ActivityType.NEW_RECHARGE_SUM_DAY_6);
|
||||
ActivityLogic.getInstance().resumeActivity(user, ActivityType.NEW_RECHARGE_SUM_DAY_30);
|
||||
|
||||
ActivityLogic.getInstance().resumeActivity(user, ActivityType.LUCKY_GET);
|
||||
|
||||
|
|
@ -601,6 +602,7 @@ public class ActivityLogic implements IEventHandler{
|
|||
if(sGlobalActivity == null){
|
||||
continue;
|
||||
}
|
||||
///旧版积天豪礼数据兼容
|
||||
if (sGlobalActivity.getType()==ActivityType.RECHARGE_SUM_DAY){
|
||||
if (activityMissionMap.get(activityId).getV()<=0||activityMissionMap.get(activityId).getV()>=15) {
|
||||
continue;
|
||||
|
|
|
|||
|
|
@ -105,7 +105,8 @@ public interface ActivityType {
|
|||
int CONTINUOUS_GIFT_NEW = 87;//新连续礼包
|
||||
int ARENA_RANK_EXPERIMENT = 88;//竞技试炼
|
||||
int DAILY_PREFERENTIAL_GIFT = 89;//每日特惠礼包开启的活动
|
||||
int NEW_RECHARGE_SUM_DAY = 90;//新积天豪礼
|
||||
int NEW_RECHARGE_SUM_DAY_6 = 90;//新积天豪礼6元充值活动
|
||||
int NEW_RECHARGE_SUM_DAY_30 = 92;//新积天豪礼30元充值活动
|
||||
int SPECIAL_MONSTER_RANDOM_ACTIVITY = 100;//灵兽宝阁活动
|
||||
int SPECIAL_MONSTER_GIFT_ACTIVITY = 101;//灵兽礼包
|
||||
|
||||
|
|
|
|||
|
|
@ -94,7 +94,8 @@ public enum ActivityTypeEnum {
|
|||
TRANSFORMATION_DRAW_CARD(ActivityType.TRANSFORMATION_DRAW_CARD,DefaultEmptyActivity::new),//方寸寻宝
|
||||
CONTINUOUS_GIFT_NEW(ActivityType.CONTINUOUS_GIFT_NEW,ContinuousGiftActivity::new),//新连续礼包
|
||||
ARENA_RANK_EXPERIMENT(ActivityType.ARENA_RANK_EXPERIMENT,ArenaRankActivity::new),//竞技试炼
|
||||
NEW_RECHARGE_SUM_DAY(ActivityType.NEW_RECHARGE_SUM_DAY,NewRechargeSumDayActivity::new),//新积天豪礼
|
||||
NEW_RECHARGE_SUM_DAY_6(ActivityType.NEW_RECHARGE_SUM_DAY_6,NewRechargeSumDayActivity::new),//新积天豪礼
|
||||
NEW_RECHARGE_SUM_DAY_30(ActivityType.NEW_RECHARGE_SUM_DAY_30,NewRechargeSumDayActivity::new),//新积天豪礼
|
||||
DAILY_PREFERENTIAL_GIFT(ActivityType.DAILY_PREFERENTIAL_GIFT,DailyPreferentialGiftActivity::new),
|
||||
SUMMON_TREASURE(ActivityType.SUMMON_TREASURE,SummonTreasureActivity::new),//招募秘宝
|
||||
NEW_PLAYER_SHOP(ActivityType.NEW_PLAYER_SHOP, NewPlayerShopActivity::new)
|
||||
|
|
|
|||
|
|
@ -5,10 +5,17 @@ import com.ljsd.jieling.jbean.ActivityManager;
|
|||
import com.ljsd.jieling.jbean.ActivityMission;
|
||||
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.activity.event.BuyGoodsDirectEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.NewWelfareEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.store.GiftGoodsType;
|
||||
import com.ljsd.jieling.logic.store.newRechargeInfo.RechargeType;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import config.SActivityRewardConfig;
|
||||
import config.SRechargeCommodityNewConfig;
|
||||
import manager.STableManager;
|
||||
|
||||
import java.util.Map;
|
||||
|
|
@ -17,10 +24,44 @@ class NewRechargeSumDayActivity extends AbstractActivity {
|
|||
|
||||
public NewRechargeSumDayActivity(int id) {
|
||||
super(id);
|
||||
Poster.getPoster().listenEvent(this, BuyGoodsDirectEvent.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume(User user) {
|
||||
public void onEvent(IEvent event) throws Exception {
|
||||
super.onEvent(event);
|
||||
if (!(event instanceof BuyGoodsDirectEvent)) {
|
||||
return;
|
||||
}
|
||||
BuyGoodsDirectEvent buyGoodsDirectEvent = (BuyGoodsDirectEvent) event;
|
||||
int goodsId=buyGoodsDirectEvent.getGoodsId();
|
||||
SRechargeCommodityNewConfig rechargeConfig=SRechargeCommodityNewConfig.getConfigById(goodsId);
|
||||
if (rechargeConfig==null||rechargeConfig.getType()!= GiftGoodsType.RechargeSumDay){
|
||||
return;
|
||||
}
|
||||
User user = UserManager.getUser(buyGoodsDirectEvent.getUid());
|
||||
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||
boolean isSend=false;
|
||||
for (Map.Entry<Integer, ActivityProgressInfo> item : activityMission.getActivityMissionMap().entrySet()) {
|
||||
ActivityProgressInfo activityProgressInfo = item.getValue();
|
||||
int missionId=item.getKey();
|
||||
SActivityRewardConfig missionConfig=SActivityRewardConfig.getsActivityRewardConfigByMissionId(missionId);
|
||||
if (missionConfig.getValues()[0][0]==goodsId&&missionConfig.getSort()-1==activityMission.getV()&&activityProgressInfo.getState()==ActivityType.WILL_TAKE){
|
||||
activityProgressInfo.setState(1);
|
||||
isSend=true;
|
||||
}
|
||||
activityMission.getActivityMissionMap().put(item.getKey(), activityProgressInfo);
|
||||
}
|
||||
if (isSend){
|
||||
//更新进度
|
||||
ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
|
||||
sendActivityProgress(sessionByUid, activityMission, null);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume(User user)throws Exception {
|
||||
ActivityManager activityManager = user.getActivityManager();
|
||||
ActivityMission activityMission = activityManager.getActivityMissionMap().get(id);
|
||||
int buyNum=0;
|
||||
|
|
@ -35,42 +76,9 @@ class NewRechargeSumDayActivity extends AbstractActivity {
|
|||
if (activityMission.getV() >= SActivityRewardConfig.getsActivityRewardConfigByActivityId(id).size()) {
|
||||
ActivityLogic.getInstance().initMissionInfo(activityMission,id);
|
||||
}
|
||||
ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
|
||||
sendActivityProgress(sessionByUid, activityMission, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
void updateProgress(ActivityMission activityMission, int count) {
|
||||
|
||||
int missionId =STableManager.getFigureConfig(ActivityStaticConfig.class).getRechargeDaySum().get(activityMission.getV() + 1);
|
||||
ActivityProgressInfo activityProgressInfo = activityMission.getActivityMissionMap().get(missionId);
|
||||
if (activityProgressInfo == null || activityProgressInfo.getProgrss() == 1) {
|
||||
return;
|
||||
}
|
||||
if (count>0 ) {//只要是充值就算
|
||||
//>= SActivityRewardConfig.getsActivityRewardConfigByMissionId(missionId).getValues()[0][0]
|
||||
activityProgressInfo.setProgrss(1);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
|
||||
return checkValue(session, sActivityRewardConfig, activityProgressInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据配置解析数值进度完成度
|
||||
*/
|
||||
@Override
|
||||
boolean checkValue(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
|
||||
int[][] values = sActivityRewardConfig.getValues();
|
||||
User user = UserManager.getUser(session.getUid());
|
||||
int value = user.getActivityManager().getActivityMissionMap().get(sActivityRewardConfig.getActivityId()).getV() + 1;
|
||||
if (value < values[0][1]) {
|
||||
return false;
|
||||
}
|
||||
if(activityProgressInfo.getProgrss()!=1){
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -382,9 +382,8 @@ public class BuyGoodsNewLogic {
|
|||
if(dropArray!=null && dropArray.length>=1){
|
||||
drop = ItemUtil.drop(user,dropArray, BIReason.DIRECT_BUY);
|
||||
}
|
||||
|
||||
if(type==GiftGoodsType.RED_PACKET){
|
||||
//红包事件
|
||||
//红包事件 和积天豪礼事件
|
||||
if(type==GiftGoodsType.RED_PACKET||type==GiftGoodsType.RechargeSumDay){
|
||||
Poster.getPoster().dispatchEvent(new BuyGoodsDirectEvent(user.getId(),config.getId()));
|
||||
}
|
||||
if(type==GiftGoodsType.SKY_TREASURE){
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ public interface GiftGoodsType {
|
|||
int SKY_TREASURE = 12; //天宫秘宝
|
||||
int ENDLESS_TREASURE = 14;//无尽秘宝
|
||||
int DailyPreferentialGift = 17 ;//每日特惠礼包
|
||||
|
||||
int RechargeSumDay = 18 ;//超值返利礼包(在积天豪礼活动里购买)
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue