超值返利活动修改提交
parent
92b7b7ee82
commit
e2fc3f54cd
|
@ -5,10 +5,7 @@ import com.ljsd.jieling.jbean.ActivityManager;
|
||||||
import com.ljsd.jieling.jbean.ActivityMission;
|
import com.ljsd.jieling.jbean.ActivityMission;
|
||||||
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
||||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||||
import com.ljsd.jieling.logic.activity.event.BuyGoodsDirectEvent;
|
import com.ljsd.jieling.logic.activity.event.*;
|
||||||
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.UserManager;
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
import com.ljsd.jieling.logic.store.GiftGoodsType;
|
import com.ljsd.jieling.logic.store.GiftGoodsType;
|
||||||
|
@ -26,40 +23,33 @@ class NewRechargeSumDayActivity extends AbstractActivity {
|
||||||
|
|
||||||
public NewRechargeSumDayActivity(int id) {
|
public NewRechargeSumDayActivity(int id) {
|
||||||
super(id);
|
super(id);
|
||||||
Poster.getPoster().listenEvent(this, BuyGoodsDirectEvent.class);
|
Poster.getPoster().listenEvent(this, RechargeRewardEvent.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEvent(IEvent event) throws Exception {
|
public void onEvent(IEvent event) throws Exception {
|
||||||
super.onEvent(event);
|
super.onEvent(event);
|
||||||
if (!(event instanceof BuyGoodsDirectEvent)) {
|
if (!(event instanceof RechargeRewardEvent)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
BuyGoodsDirectEvent buyGoodsDirectEvent = (BuyGoodsDirectEvent) event;
|
RechargeRewardEvent rechargeRewardEvent = (RechargeRewardEvent) event;
|
||||||
int goodsId=buyGoodsDirectEvent.getGoodsId();
|
int rechargeCount=rechargeRewardEvent.getRechargeCount();
|
||||||
SRechargeCommodityNewConfig rechargeConfig=SRechargeCommodityNewConfig.getConfigById(goodsId);
|
User user = UserManager.getUser(rechargeRewardEvent.getUid());
|
||||||
if (rechargeConfig==null||rechargeConfig.getType()!= GiftGoodsType.RechargeSumDay){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
User user = UserManager.getUser(buyGoodsDirectEvent.getUid());
|
|
||||||
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
|
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||||
boolean isSend=false;
|
|
||||||
for (Map.Entry<Integer, ActivityProgressInfo> item : activityMission.getActivityMissionMap().entrySet()) {
|
for (Map.Entry<Integer, ActivityProgressInfo> item : activityMission.getActivityMissionMap().entrySet()) {
|
||||||
ActivityProgressInfo activityProgressInfo = item.getValue();
|
ActivityProgressInfo activityProgressInfo = item.getValue();
|
||||||
int missionId=item.getKey();
|
int missionId=item.getKey();
|
||||||
SActivityRewardConfig missionConfig=SActivityRewardConfig.getsActivityRewardConfigByMissionId(missionId);
|
SActivityRewardConfig missionConfig=SActivityRewardConfig.getsActivityRewardConfigByMissionId(missionId);
|
||||||
if (missionConfig.getValues()[0][0]==goodsId&&missionConfig.getSort()-1==activityMission.getV()&&activityProgressInfo.getState()==ActivityType.WILL_TAKE){
|
if (missionConfig.getSort()-1==activityMission.getV()&&activityProgressInfo.getState()==ActivityType.WILL_TAKE){
|
||||||
activityProgressInfo.setState(1);
|
int dayRechargeCount= activityProgressInfo.getProgrss()+rechargeCount;
|
||||||
isSend=true;
|
activityProgressInfo.setProgrss(dayRechargeCount);
|
||||||
}
|
}
|
||||||
activityMission.getActivityMissionMap().put(item.getKey(), activityProgressInfo);
|
activityMission.getActivityMissionMap().put(item.getKey(), activityProgressInfo);
|
||||||
}
|
|
||||||
if (isSend){
|
|
||||||
//更新进度
|
|
||||||
ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
|
|
||||||
sendActivityProgress(sessionByUid, activityMission, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
|
//更新进度
|
||||||
|
ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
|
||||||
|
sendActivityProgress(sessionByUid, activityMission, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -68,14 +58,20 @@ class NewRechargeSumDayActivity extends AbstractActivity {
|
||||||
ActivityMission activityMission = activityManager.getActivityMissionMap().get(id);
|
ActivityMission activityMission = activityManager.getActivityMissionMap().get(id);
|
||||||
int buyNum=0;
|
int buyNum=0;
|
||||||
for (Map.Entry<Integer, ActivityProgressInfo> progressInfoEntry : activityMission.getActivityMissionMap().entrySet()) {
|
for (Map.Entry<Integer, ActivityProgressInfo> progressInfoEntry : activityMission.getActivityMissionMap().entrySet()) {
|
||||||
if (progressInfoEntry.getValue().getState()==ActivityType.HAD_TAKED){
|
SActivityRewardConfig rewardConfig= SActivityRewardConfig.getsActivityRewardConfigByMissionId(progressInfoEntry.getKey());
|
||||||
|
if (progressInfoEntry.getValue().getProgrss()>=rewardConfig.getValues()[0][0]){
|
||||||
buyNum++;
|
buyNum++;
|
||||||
|
}else{
|
||||||
|
progressInfoEntry.getValue().setProgrss(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (buyNum > activityMission.getV()) {
|
if (buyNum > activityMission.getV()) {
|
||||||
activityMission.setV(activityMission.getV() + 1);
|
activityMission.setV(activityMission.getV() + 1);
|
||||||
}
|
}
|
||||||
if (activityMission.getV() >= SActivityRewardConfig.getsActivityRewardConfigByActivityId(id).size()) {
|
if (activityMission.getV() >= SActivityRewardConfig.getsActivityRewardConfigByActivityId(id).size()) {
|
||||||
|
//补发未领取的奖励
|
||||||
|
ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
|
||||||
|
takeAllReward(sessionByUid);
|
||||||
ActivityLogic.getInstance().initMissionInfo(activityMission,id);
|
ActivityLogic.getInstance().initMissionInfo(activityMission,id);
|
||||||
}
|
}
|
||||||
ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
|
ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
|
||||||
|
|
|
@ -384,8 +384,8 @@ public class BuyGoodsNewLogic {
|
||||||
if(dropArray!=null && dropArray.length>=1){
|
if(dropArray!=null && dropArray.length>=1){
|
||||||
drop = ItemUtil.drop(user,dropArray, BIReason.DIRECT_BUY);
|
drop = ItemUtil.drop(user,dropArray, BIReason.DIRECT_BUY);
|
||||||
}
|
}
|
||||||
//红包事件 和积天豪礼事件
|
//红包事件
|
||||||
if(type==GiftGoodsType.RED_PACKET||type==GiftGoodsType.RechargeSumDay){
|
if(type==GiftGoodsType.RED_PACKET){
|
||||||
Poster.getPoster().dispatchEvent(new BuyGoodsDirectEvent(user.getId(),config.getId()));
|
Poster.getPoster().dispatchEvent(new BuyGoodsDirectEvent(user.getId(),config.getId()));
|
||||||
}
|
}
|
||||||
if(type==GiftGoodsType.SKY_TREASURE){
|
if(type==GiftGoodsType.SKY_TREASURE){
|
||||||
|
|
Loading…
Reference in New Issue