天天0.1折活动bug修复
parent
21e7993726
commit
0077a33e52
|
|
@ -33,5 +33,4 @@ public class TakeActivityRewardHandler extends BaseHandler<PlayerInfoProto.TakeA
|
|||
user.getUserMissionManager().onGameEvent(user,GameEvent.TAKE_ACTIVITY_REWARD,activityId);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,6 +119,23 @@ public class EveryDayDiscountActivity extends AbstractActivity {
|
|||
mission.getActivityMissionMap().put(packId, storage);
|
||||
}
|
||||
}
|
||||
|
||||
// 购买礼包
|
||||
// if (event instanceof SuperBoxEvent) {
|
||||
// SuperBoxEvent event1 = (SuperBoxEvent) event;
|
||||
// user = UserManager.getUser(event1.getUserId());
|
||||
// SEveryDayGift dayGift = SEveryDayGift.activitygiftmap.getOrDefault(id, new HashMap<>()).get(event1.getGiftId());
|
||||
// if (dayGift == null){
|
||||
// return;
|
||||
// }
|
||||
// ISession session = OnlineUserManager.getSessionByUid(user.getId());
|
||||
// if (session == null){
|
||||
// LOGGER.error("天天0.1折扣活动,用户未登录,活动id:{},uid:{},耗时:{}",id, user.getId(),TimeUtils.now()-now);
|
||||
// return;
|
||||
// }
|
||||
// takeReward(session, dayGift.getId());
|
||||
// }
|
||||
|
||||
if (user == null) {
|
||||
LOGGER.error("天天0.1折扣活动未知监听退出:{},耗时:{}",id,TimeUtils.now()-now);
|
||||
return;
|
||||
|
|
@ -181,11 +198,11 @@ public class EveryDayDiscountActivity extends AbstractActivity {
|
|||
* 制作随机数组
|
||||
*/
|
||||
public int[][] makeRandomArray(List<SEveryDayGift> list) {
|
||||
int[][] result = new int[2][];
|
||||
int[][] result = new int[list.size()][2];
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
SEveryDayGift dayGift = list.get(i);
|
||||
result[0][i] = dayGift.getId();
|
||||
result[1][i] = dayGift.getProbability();
|
||||
result[i][0] = dayGift.getId();
|
||||
result[i][1] = dayGift.getProbability();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
|
@ -215,6 +232,14 @@ public class EveryDayDiscountActivity extends AbstractActivity {
|
|||
.build();
|
||||
missionInfos.add(build);
|
||||
}
|
||||
// 可刷新次数
|
||||
ActivityProgressInfo progressInfo = progressInfoMap.getOrDefault(countProgress, new ActivityProgressInfo());
|
||||
CommonProto.ActivityInfo.MissionInfo build = CommonProto.ActivityInfo.MissionInfo.newBuilder()
|
||||
.setMissionId(countProgress)
|
||||
.setProgress(progressInfo.getProgrss())
|
||||
.setState(progressInfo.getState())
|
||||
.build();
|
||||
missionInfos.add(build);
|
||||
return missionInfos;
|
||||
}
|
||||
|
||||
|
|
@ -250,9 +275,12 @@ public class EveryDayDiscountActivity extends AbstractActivity {
|
|||
}
|
||||
list.add(dayGift);
|
||||
}
|
||||
if (list.size() <= 0){
|
||||
throw new ErrorTableException(183);// 档位不存在
|
||||
}
|
||||
int[][] randomArray = makeRandomArray(list);
|
||||
int index = ToolsUtil.getRandomInt(randomArray[1]);
|
||||
int missId = randomArray[0][index];
|
||||
int missId = randomArray[index][0];
|
||||
ActivityProgressInfo info = mission.getActivityMissionMap().get(missId);
|
||||
// 道具日志记录
|
||||
int itemID = dayGiftMap.get(missId).getItemID();
|
||||
|
|
@ -290,15 +318,12 @@ public class EveryDayDiscountActivity extends AbstractActivity {
|
|||
progressInfo.setProgrss(progressInfo.getProgrss() - 1);
|
||||
// 更新数据库
|
||||
mission.getActivityMissionMap().put(missionId,progressInfo);
|
||||
// 协议返回
|
||||
PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().build();
|
||||
MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true);
|
||||
}
|
||||
|
||||
// 协议返回
|
||||
PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().build();
|
||||
MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true);
|
||||
// 状态推送
|
||||
sendActivityProgress(session, null);
|
||||
// 打点上报
|
||||
reportTakeActivityReward(user, new int[][]{}, missionId);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1167,9 +1167,6 @@ public class MissionLoigc {
|
|||
case FRIEND_APPLY:
|
||||
count = cumulationData.friendApplyCount;
|
||||
break;
|
||||
case LOGIN_TIMES:
|
||||
count = cumulationData.loginTimesDay.get(missionSubType[0]);
|
||||
break;
|
||||
case REARGE_TOTAL:
|
||||
count = cumulationData.rechargeTotal;
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -1,13 +1,26 @@
|
|||
package com.ljsd.jieling.logic.mission.data;
|
||||
|
||||
import com.ljsd.jieling.logic.dao.CumulationData;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mission.MissionType;
|
||||
|
||||
public class LoginTimeManager implements BaseDataManager{
|
||||
public class LoginTimeManager extends AbstractDataManager {
|
||||
|
||||
@Override
|
||||
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
|
||||
int dayTh = (int) parm[1];
|
||||
data.loginTimesDay.put(dayTh, data.loginTimesDay.getOrDefault(dayTh,0) + 1);
|
||||
return new CumulationData.Result(missionType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) {
|
||||
return getProcess(user, data, cfgValue[0]) >= cfgValue[1][0];
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getProcess(User user, CumulationData data, int[] missionSubType) {
|
||||
return data.loginTimesDay.getOrDefault(missionSubType[0], 0);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,15 +19,14 @@ import java.util.Map;
|
|||
public class EveryDayDiscountDataEventProcessor implements BaseGameEventProcessor{
|
||||
@Override
|
||||
public void onGameEvent(User user, Map<GameMisionType, List<MissionStateChangeInfo>> misionTypeListMap, GameEvent event, Object... parm) throws Exception {
|
||||
List<MissionType> typeList = MissionEventDistributor.eventEnumListMap.get(event);
|
||||
UserMissionManager userMissionManager = user.getUserMissionManager();
|
||||
EveryDayDiscountType everyDayDiscountType = userMissionManager.getEveryDayDiscountType();
|
||||
CumulationData cumulationData = userMissionManager.getEveryDayDiscountCumulationData();
|
||||
|
||||
List<MissionStateChangeInfo> missionStateChangeInfos = misionTypeListMap.get(GameMisionType.EVERY_DAY_DISCOUNT);
|
||||
for (MissionType type : typeList) {
|
||||
CumulationData.Result result = cumulationData.updateData(type, parm);
|
||||
everyDayDiscountType.calCumulationDataResult(user,result,missionStateChangeInfos,cumulationData);
|
||||
}
|
||||
MissionType missionType = (MissionType) parm[0];
|
||||
CumulationData.Result result = cumulationData.updateData(missionType, parm);
|
||||
everyDayDiscountType.calCumulationDataResult(user,result,missionStateChangeInfos,cumulationData);
|
||||
userMissionManager.setEveryDayDiscountType(everyDayDiscountType);
|
||||
userMissionManager.setEveryDayDiscountCumulationData(cumulationData);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -86,6 +86,7 @@ public class MissionEventDistributor {
|
|||
eventProcessor.put(GameEvent.HOME_TASK_UPDATE,new CumulationDataEventProcessor());
|
||||
|
||||
// 天天0.1折修改
|
||||
typeList.clear();
|
||||
typeList.add(MissionType.LOGIN_TIMES);
|
||||
typeList.add(MissionType.DAILY_TASK_FINISH);
|
||||
typeList.add(MissionType.ARENA_CHALLENEGE_NUMS);
|
||||
|
|
@ -410,6 +411,10 @@ public class MissionEventDistributor {
|
|||
SExploreTask exploreTask = STableManager.getConfig(SExploreTask.class).get(missionStateChangeInfo.getMissionId());
|
||||
progress = exploreTask.getValues()[1][0];
|
||||
}
|
||||
if(gameMisionType == GameMisionType.EVERY_DAY_DISCOUNT){
|
||||
SEveryDayGiftTask task = SEveryDayGiftTask.map.get(missionStateChangeInfo.getMissionId());
|
||||
progress = task.getTaskValue()[1][0];
|
||||
}
|
||||
if(gameMisionType == GameMisionType.SEVENMISSION){
|
||||
STreasureTaskConfig sTreasureTaskConfig = STreasureTaskConfig.sTreasureTaskConfigMap.get(missionStateChangeInfo.getMissionId());
|
||||
if(sTreasureTaskConfig.getTaskType() != MissionType.SENVER_HAPPY.getMissionTypeValue()){
|
||||
|
|
|
|||
|
|
@ -29,12 +29,17 @@ public class SEveryDayGift implements BaseConfig {
|
|||
|
||||
public static Map<Integer, Map<Integer, SEveryDayGift>> activitymap = new HashMap<>();
|
||||
|
||||
public static Map<Integer, Map<Integer, SEveryDayGift>> activitygiftmap = new HashMap<>();
|
||||
|
||||
@Override
|
||||
public void init() throws Exception {
|
||||
map = STableManager.getConfig(SEveryDayGift.class);
|
||||
for (SEveryDayGift value : map.values()) {
|
||||
activitymap.putIfAbsent(value.globalActivity, new HashMap<>());
|
||||
activitymap.get(value.globalActivity).put(value.id, value);
|
||||
activitymap.putIfAbsent(value.getGlobalActivity(), new HashMap<>());
|
||||
activitymap.get(value.getGlobalActivity()).put(value.getId(), value);
|
||||
|
||||
activitygiftmap.putIfAbsent(value.getGlobalActivity(), new HashMap<>());
|
||||
activitygiftmap.get(value.getGlobalActivity()).put(value.getRechargeID(), value);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -33,10 +33,10 @@ public class SEveryDayGiftTask implements BaseConfig {
|
|||
public void init() throws Exception {
|
||||
map = STableManager.getConfig(SEveryDayGiftTask.class);
|
||||
for (SEveryDayGiftTask task : map.values()) {
|
||||
activitymap.put(task.getGlobalActivity(), new HashMap<>());
|
||||
activitymap.putIfAbsent(task.getGlobalActivity(), new HashMap<>());
|
||||
activitymap.get(task.getGlobalActivity()).put(task.getId(), task);
|
||||
|
||||
taskmap.put(task.getTaskType(), new HashMap<>());
|
||||
taskmap.putIfAbsent(task.getTaskType(), new HashMap<>());
|
||||
taskmap.get(task.getTaskType()).put(task.getId(), task);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue