From 6b72172fe8d02df5ef0a9dba928eedb08586817b Mon Sep 17 00:00:00 2001 From: duhui Date: Fri, 4 Nov 2022 15:35:01 +0800 Subject: [PATCH] =?UTF-8?q?gm=E4=BF=AE=E6=94=B9=E5=99=A8=E8=B4=AD=E4=B9=B0?= =?UTF-8?q?=EF=BC=8C=E8=80=81=E6=B4=BB=E5=8A=A8=E4=BF=AE=E6=94=B9=EF=BC=8C?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E8=BF=94=E5=88=A9=E7=9B=91=E5=90=AC=E5=99=A8?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/handler/bt/GmBuyGoodHandler.java | 26 ++++++--- .../logic/activity/ActivityTypeEnum.java | 6 +- .../activity/BrushPrivilegeActivity.java | 58 +++++++++++-------- .../logic/activity/DefaultEmptyActivity.java | 53 ----------------- .../activity/ExchangeEndDropActivity.java | 33 +++++++++++ .../activity/RechargeRewardActivity.java | 10 ++-- .../logic/activity/SevenHappyActivity.java | 47 +++++++++++++++ .../logic/activity/SuperFundActivity.java | 28 --------- .../logic/activity/SuperFundNewActivity.java | 1 - .../activityLogic/GmActivityLogic.java | 13 +++-- .../activity/event/AutoRechargeBackEvent.java | 36 ++++++++++++ .../activity/event/SingleRechargeEvent.java | 27 +++++++++ .../jieling/logic/store/BuyGoodsNewLogic.java | 11 +++- .../src/main/java/config/SGMMaster.java | 11 ++-- 14 files changed, 225 insertions(+), 135 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ExchangeEndDropActivity.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SevenHappyActivity.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/AutoRechargeBackEvent.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/SingleRechargeEvent.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/bt/GmBuyGoodHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/bt/GmBuyGoodHandler.java index 03f41443c..c4e3e8f04 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/bt/GmBuyGoodHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/bt/GmBuyGoodHandler.java @@ -7,6 +7,7 @@ import com.ljsd.jieling.handler.BaseHandler; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.store.BuyGoodsNewLogic; +import com.ljsd.jieling.logic.store.newRechargeInfo.bean.AbstractWelfareBag; import com.ljsd.jieling.logic.store.newRechargeInfo.rechargeHandler.RechargeHandler; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.util.ItemUtil; @@ -38,16 +39,16 @@ public class GmBuyGoodHandler extends BaseHandler config = SGMMaster.getMap(); + Map config = SGMMaster.getPickMap(); SGMMaster master = config.get(id); if (master == null){ return false; } + boolean goodStatus = checkGoodStatus(user, id); + if (goodStatus){ + throw new ErrorCodeException(ErrorCode.BLOOD_BUY_SCORE_YET); + } boolean result = true; for (int[] value : master.getUnlock()) { switch (value[0]){ @@ -92,7 +97,7 @@ public class GmBuyGoodHandler extends BaseHandler()); - SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(id); + List list = Arrays.stream(activity.getCanBuyRechargeId()).boxed().collect(Collectors.toList()); + initOtherMission(mission, list); user.getActivityManager().getActivityMissionMap().put(id, mission); - // 刷冲特权第一个礼包默认开启 - update(user,activity.getCanBuyRechargeId()[0]); LOGGER.info("刷冲特权-bt版...uid={},activityId={}",user.getId(), id); } + public void initOtherMission(ActivityMission activityMission,List missionIds){ + for (int i = 0; i < missionIds.size(); i++) { + ActivityProgressInfo info = new ActivityProgressInfo(); + Integer missionId = missionIds.get(i); + int state = i==0 ? 1:0; + int progress = (int)(TimeUtils.getYesterdayZero()/1000); + info.setProgrss(progress); + info.setState(state); + activityMission.getActivityMissionMap().put(missionId, info); + } + activityMission.setOpenType(1); + activityMission.setV(0); + activityMission.setActivityState(ActivityType.OPEN_STATE); + activityMission.setCreatTime(TimeUtils.now()); + } + @Override public void onEvent(IEvent event) throws Exception { // 类型验证 @@ -60,14 +74,13 @@ public class BrushPrivilegeActivity extends AbstractActivity { SuperBoxEvent event1 = (SuperBoxEvent) event; User user = UserManager.getUser(event1.getUserId()); // 礼包处理 - update(user, event1.getGiftId()); + uporsetValue(user, event1.getGiftId(), 1); // 客户端推送 ISession session = OnlineUserManager.getSessionByUid(user.getId()); sendActivityProgress(session, user.getActivityManager().getActivityMissionMap().get(id), null); } - @Override - public void update(User user, int giftId) { + public void uporsetValue(User user, int giftId, int state) { SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(id); ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id); if (giftId < 0 || activity == null || activity.getCanBuyRechargeId() == null || activityMission == null){ @@ -78,9 +91,8 @@ public class BrushPrivilegeActivity extends AbstractActivity { continue; } ActivityProgressInfo info = new ActivityProgressInfo(); - info.setProgrss(1); - int time = (int)(TimeUtils.getYesterdayZero()/1000); - info.setState(time); + info.setProgrss((int)(TimeUtils.getYesterdayZero()/1000)); + info.setState(state); activityMission.getActivityMissionMap().putIfAbsent(giftId, info); } } @@ -105,7 +117,7 @@ public class BrushPrivilegeActivity extends AbstractActivity { continue; } ActivityProgressInfo info = progressInfoMap.get(giftId); - int progress = getProgress(activityMission,giftId,info); + int progress = getProgress(info); int state = getState(info); // 封装proto并返回 CommonProto.ActivityInfo.MissionInfo build = CommonProto.ActivityInfo.MissionInfo.newBuilder() @@ -123,21 +135,19 @@ public class BrushPrivilegeActivity extends AbstractActivity { * @param progressInfo 秒时间戳去除后两位,替换为未领取天数组成 * @return */ - private int getProgress(ActivityMission mission, int missionId, ActivityProgressInfo progressInfo){ + private int getProgress(ActivityProgressInfo progressInfo){ int progress = 0; if (progressInfo == null){ return progress; } // 上次领取时间 - int time = TimeUtils.getZeroInt(progressInfo.getState()); + int time = TimeUtils.getZeroInt(progressInfo.getProgrss()); // 当前时间 int now = TimeUtils.getZeroInt(TimeUtils.nowInt()); // 间隔天数 progress = TimeUtils.getSoFarWentDays(time * 1000L, now * 1000L); // 最多累计30天 progress = Math.min(progress, 30); - progressInfo.setProgrss(progress); - mission.getActivityMissionMap().put(missionId,progressInfo); return progress; } @@ -148,10 +158,10 @@ public class BrushPrivilegeActivity extends AbstractActivity { */ private int getState(ActivityProgressInfo progress){ int state = 0; - if (progress == null){ + if (progress == null || progress.getState() == 0){ return state; } - if (progress.getProgrss() > 0){ + if (getProgress(progress) > 0){ state = 1; }else { state = 2; @@ -177,7 +187,7 @@ public class BrushPrivilegeActivity extends AbstractActivity { SRechargeCommodityNewConfig newConfig = SRechargeCommodityNewConfig.getConfigById(missionId); ActivityProgressInfo progressInfo = mission.getActivityMissionMap().get(missionId); - int progress = getProgress(mission, missionId, progressInfo); + int progress = getProgress(progressInfo); int state = getState(progressInfo); if (state != 1){ throw new ErrorCodeException(ErrorCode.SYS_ERROR_CODE,"领取条件不满足,活动id ==> 挡位id:"+id+"==>"+missionId); @@ -199,8 +209,8 @@ public class BrushPrivilegeActivity extends AbstractActivity { @Override void updateProgress(ActivityMission activityMission, int giftId) { ActivityProgressInfo info = new ActivityProgressInfo(); - info.setProgrss(0); - info.setState(TimeUtils.nowInt()); + info.setProgrss(TimeUtils.nowInt()); + info.setState(2); activityMission.getActivityMissionMap().put(giftId,info); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/DefaultEmptyActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/DefaultEmptyActivity.java index d32d69b00..26d9fa9fe 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/DefaultEmptyActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/DefaultEmptyActivity.java @@ -1,18 +1,7 @@ package com.ljsd.jieling.logic.activity; -import com.ljsd.jieling.config.clazzStaticCfg.TaskStaticConfig; -import com.ljsd.jieling.globals.BIReason; -import com.ljsd.jieling.globals.Global; import com.ljsd.jieling.jbean.ActivityMission; -import com.ljsd.jieling.logic.dao.Item; 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.mission.main.ServenMissionIdsType; -import com.ljsd.jieling.util.ItemUtil; -import com.ljsd.jieling.util.ToolsUtil; -import config.*; -import manager.STableManager; import java.util.ArrayList; @@ -27,47 +16,5 @@ public class DefaultEmptyActivity extends AbstractActivity{ ActivityMission mission = new ActivityMission(); ActivityLogic.getInstance().initOtherMission(mission,new ArrayList<>()); user.getActivityManager().getActivityMissionMap().put(id, mission); - SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); - if(sGlobalActivity.getType() == ActivityType.SERVERHAPPY){ - user.getUserMissionManager().onGameEvent(user, GameEvent.SERVENHAPPY_REFRESH,id); - long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1); - user.getActivityManager().setSenvenStartTime(startTime); - } - } - - @Override - public void onActivityEndOnMySelf(User user) throws Exception { - SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); - if(sGlobalActivity.getType() == ActivityType.SERVERHAPPY){ - STreasureTaskConfig sTreasureTaskConfig = STableManager.getFigureConfig(TaskStaticConfig.class).getsTreasureSevenTaskConfigByActivityMap().get(id); - ServenMissionIdsType sevenHappyMissionType = user.getUserMissionManager().getSevenHappyMissionType(); - if(!sevenHappyMissionType.getRewardedMissionIds().get(sTreasureTaskConfig.getId())){ - // int senvenScores = user.getUserMissionManager().getSevenHappyCumulationData().senvenScores; - sevenHappyMissionType.getDoingMissionIds().remove(sTreasureTaskConfig.getId()); - sevenHappyMissionType.getFinishMissionIds().remove(sTreasureTaskConfig.getId()); - sevenHappyMissionType.getRewardedMissionIds().set(sTreasureTaskConfig.getId()); - user.getUserMissionManager().setSevenHappyMissionType(sevenHappyMissionType); - } - }else if(sGlobalActivity.getType() == ActivityType.EXCHANGEANDDROP || sGlobalActivity.getType() == ActivityType.NEW_GENERAL_ATTACK){ - // 限时兑换和新将来袭活动结束会清空道具 - int shopId = sGlobalActivity.getShopId()[0]; - SStoreConfig sStoreConfig = SStoreConfig.getSstoreConfigBuyStore().get(shopId).get(0); - int removeItemId = sStoreConfig.getCost()[0][0]; - Item item = user.getItemManager().getItem(removeItemId); - if(item!=null){ - int[][] cost= new int[1][]; - cost[0] = new int[]{item.getItemId(),(int)item.getItemNum()}; - ItemUtil.itemCost(user,cost, BIReason.EXCHANGE_ACTIVITY_CLOSE,sGlobalActivity.getId()); - } - } - } - - @Override - public void onActivityEndDealReward(User user) throws Exception { - SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); - if(sGlobalActivity.getType() == ActivityType.SERVERHAPPY){ - return; - } - super.onActivityEndDealReward(user); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ExchangeEndDropActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ExchangeEndDropActivity.java new file mode 100644 index 000000000..632859f60 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ExchangeEndDropActivity.java @@ -0,0 +1,33 @@ +package com.ljsd.jieling.logic.activity; + +import com.ljsd.jieling.globals.BIReason; +import com.ljsd.jieling.jbean.ActivityMission; +import com.ljsd.jieling.logic.dao.Item; +import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.util.ItemUtil; +import config.SGlobalActivity; +import config.SStoreConfig; + +import java.util.ArrayList; + +public class ExchangeEndDropActivity extends DefaultEmptyActivity{ + + public ExchangeEndDropActivity(int id) { + super(id); + } + + @Override + public void onActivityEndOnMySelf(User user) throws Exception { + SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); + // 限时兑换和新将来袭活动结束会清空道具 + int shopId = sGlobalActivity.getShopId()[0]; + SStoreConfig sStoreConfig = SStoreConfig.getSstoreConfigBuyStore().get(shopId).get(0); + int removeItemId = sStoreConfig.getCost()[0][0]; + Item item = user.getItemManager().getItem(removeItemId); + if(item!=null){ + int[][] cost= new int[1][]; + cost[0] = new int[]{item.getItemId(),(int)item.getItemNum()}; + ItemUtil.itemCost(user,cost, BIReason.EXCHANGE_ACTIVITY_CLOSE,sGlobalActivity.getId()); + } + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/RechargeRewardActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/RechargeRewardActivity.java index 9501f7483..1f8a7012c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/RechargeRewardActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/RechargeRewardActivity.java @@ -5,7 +5,7 @@ import com.ljsd.jieling.jbean.ActivityProgressInfo; import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.activity.event.IEvent; import com.ljsd.jieling.logic.activity.event.Poster; -import com.ljsd.jieling.logic.activity.event.RechargeRewardEvent; +import com.ljsd.jieling.logic.activity.event.SingleRechargeEvent; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.network.session.ISession; @@ -20,15 +20,15 @@ public class RechargeRewardActivity extends AbstractActivity { public RechargeRewardActivity(int id) { super(id); - Poster.getPoster().listenEvent(this, RechargeRewardEvent.class); + Poster.getPoster().listenEvent(this, SingleRechargeEvent.class); } @Override public void onEvent(IEvent event) throws Exception{ - if (!(event instanceof RechargeRewardEvent)) + if (!(event instanceof SingleRechargeEvent)) return; - RechargeRewardEvent rewardEvent = (RechargeRewardEvent) event; + SingleRechargeEvent rewardEvent = (SingleRechargeEvent) event; User user = UserManager.getUser(rewardEvent.getUid()); if (null == user) { return; @@ -36,7 +36,7 @@ public class RechargeRewardActivity extends AbstractActivity { List rewardConfigList = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id).stream() .filter(n->n.getValues()[0][0]== rewardEvent.getRechargeCount()) .collect(Collectors.toList()); - if(rewardConfigList == null || rewardConfigList.size() == 0){ + if(rewardConfigList.size() == 0){ return ; } ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SevenHappyActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SevenHappyActivity.java new file mode 100644 index 000000000..31e579405 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SevenHappyActivity.java @@ -0,0 +1,47 @@ +package com.ljsd.jieling.logic.activity; + +import com.ljsd.jieling.config.clazzStaticCfg.TaskStaticConfig; +import com.ljsd.jieling.jbean.ActivityMission; +import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.logic.mission.GameEvent; +import com.ljsd.jieling.logic.mission.main.ServenMissionIdsType; +import com.ljsd.jieling.util.ToolsUtil; +import config.SGlobalActivity; +import config.STreasureTaskConfig; +import manager.STableManager; + +import java.util.ArrayList; + +public class SevenHappyActivity extends DefaultEmptyActivity{ + + public SevenHappyActivity(int id) { + super(id); + } + + @Override + public void initActivity(User user) throws Exception { + ActivityMission mission = new ActivityMission(); + ActivityLogic.getInstance().initOtherMission(mission,new ArrayList<>()); + user.getActivityManager().getActivityMissionMap().put(id, mission); + SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); + user.getUserMissionManager().onGameEvent(user, GameEvent.SERVENHAPPY_REFRESH,id); + long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1); + user.getActivityManager().setSenvenStartTime(startTime); + } + + @Override + public void onActivityEndOnMySelf(User user) throws Exception { + STreasureTaskConfig sTreasureTaskConfig = STableManager.getFigureConfig(TaskStaticConfig.class).getsTreasureSevenTaskConfigByActivityMap().get(id); + ServenMissionIdsType sevenHappyMissionType = user.getUserMissionManager().getSevenHappyMissionType(); + if(!sevenHappyMissionType.getRewardedMissionIds().get(sTreasureTaskConfig.getId())){ + sevenHappyMissionType.getDoingMissionIds().remove(sTreasureTaskConfig.getId()); + sevenHappyMissionType.getFinishMissionIds().remove(sTreasureTaskConfig.getId()); + sevenHappyMissionType.getRewardedMissionIds().set(sTreasureTaskConfig.getId()); + user.getUserMissionManager().setSevenHappyMissionType(sevenHappyMissionType); + } + } + + @Override + public void onActivityEndDealReward(User user) { + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperFundActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperFundActivity.java index 9405e335d..67d2c0189 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperFundActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperFundActivity.java @@ -1,33 +1,5 @@ package com.ljsd.jieling.logic.activity; -import com.ljsd.jieling.exception.ErrorCode; -import com.ljsd.jieling.exception.ErrorCodeException; -import com.ljsd.jieling.globals.BIReason; -import com.ljsd.jieling.globals.Global; -import com.ljsd.jieling.jbean.ActivityManager; -import com.ljsd.jieling.jbean.ActivityMission; -import com.ljsd.jieling.jbean.ActivityProgressInfo; -import com.ljsd.jieling.logic.activity.event.IEvent; -import com.ljsd.jieling.logic.activity.event.Poster; -import com.ljsd.jieling.logic.activity.event.SuperBoxEvent; -import com.ljsd.jieling.logic.dao.UserManager; -import com.ljsd.jieling.logic.dao.root.User; -import com.ljsd.jieling.logic.store.newRechargeInfo.NewRechargeInfo; -import com.ljsd.jieling.logic.store.newRechargeInfo.bean.AbstractWelfareBag; -import com.ljsd.jieling.logic.store.newRechargeInfo.bean.ReceiveWelfareBag; -import com.ljsd.jieling.network.session.ISession; -import com.ljsd.jieling.util.ItemUtil; -import com.ljsd.jieling.util.MessageUtil; -import config.SLuxuryFund; -import rpc.protocols.CommonProto; -import rpc.protocols.PlayerInfoProto; -import util.TimeUtils; - -import java.security.Key; -import java.time.Year; -import java.util.*; -import java.util.stream.Collectors; - /** * @author hj * 超值基金活动 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperFundNewActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperFundNewActivity.java index ef7925544..b340f5ff8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperFundNewActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperFundNewActivity.java @@ -17,7 +17,6 @@ import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.MessageUtil; import config.SGlobalActivity; import config.SLuxuryFund; -import config.SSurpriseBox; import rpc.protocols.CommonProto; import rpc.protocols.PlayerInfoProto; import util.TimeUtils; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/activityLogic/GmActivityLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/activityLogic/GmActivityLogic.java index 6a2ea4e81..84d467ec7 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/activityLogic/GmActivityLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/activityLogic/GmActivityLogic.java @@ -12,6 +12,7 @@ import com.ljsd.jieling.jbean.gm.GmActivityManager; import com.ljsd.jieling.jbean.gm.GmMission; import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.activity.IEventHandler; +import com.ljsd.jieling.logic.activity.event.AutoRechargeBackEvent; import com.ljsd.jieling.logic.activity.event.IEvent; import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.activity.event.SuperBoxEvent; @@ -47,7 +48,7 @@ public class GmActivityLogic implements IEventHandler { private static final Logger LOGGER = LoggerFactory.getLogger(GmActivityLogic.class); public GmActivityLogic() { - Poster.getPoster().listenEvent(this, SuperBoxEvent.class); + Poster.getPoster().listenEvent(this, AutoRechargeBackEvent.class); } public static GmActivityLogic getInstance() { @@ -62,18 +63,18 @@ public class GmActivityLogic implements IEventHandler { @Override public void onEvent(IEvent event) throws Exception { - if (!(event instanceof SuperBoxEvent)){ + if (!(event instanceof AutoRechargeBackEvent)){ return; } - SuperBoxEvent boxEvent = (SuperBoxEvent) event; - if (boxEvent.getGiftId() <= 0){ + AutoRechargeBackEvent rechargeBackEvent = (AutoRechargeBackEvent) event; + if (rechargeBackEvent.getGiftId() <= 0){ return; } - SRechargeCommodityNewConfig config = SRechargeCommodityNewConfig.getConfigById(boxEvent.getGiftId()); + SRechargeCommodityNewConfig config = SRechargeCommodityNewConfig.getConfigById(rechargeBackEvent.getGiftId()); if (config == null){ return; } - User user = UserManager.getUser(boxEvent.getUserId()); + User user = UserManager.getUser(rechargeBackEvent.getUserId()); GmActivityManager manager = user.getGmActivityManager(); HashMap activityMap = manager.getActivityMap(); for (Map.Entry entry : activityMap.entrySet()) { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/AutoRechargeBackEvent.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/AutoRechargeBackEvent.java new file mode 100644 index 000000000..376814149 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/AutoRechargeBackEvent.java @@ -0,0 +1,36 @@ +package com.ljsd.jieling.logic.activity.event; + +/** + * @Author hj + * @Date 2021/5/26 11:05 + * @Description: 自动返利 + * @Version 1.0 + */ +public class AutoRechargeBackEvent implements IEvent { + + private int userId;//角色id + private int giftId;//礼包id + private String rechargeMethod;//充值方式 + + public AutoRechargeBackEvent(int userId, int giftId, String rechargeMethod) { + this.userId = userId; + this.giftId = giftId; + this.rechargeMethod = rechargeMethod; + } + + public int getUserId() { + return userId; + } + + public void setUserId(int userId) { + this.userId = userId; + } + + public int getGiftId() { + return giftId; + } + + public void setGiftId(int giftId) { + this.giftId = giftId; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/SingleRechargeEvent.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/SingleRechargeEvent.java new file mode 100644 index 000000000..6174827ec --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/SingleRechargeEvent.java @@ -0,0 +1,27 @@ +package com.ljsd.jieling.logic.activity.event; + +public class SingleRechargeEvent implements IEvent { + private int uid; + private int rechargeCount;//充值金额 + + public SingleRechargeEvent(int uid, int rechargeCount) { + this.uid = uid; + this.rechargeCount = rechargeCount; + } + + public int getUid() { + return uid; + } + + public void setUid(int uid) { + this.uid = uid; + } + + public int getRechargeCount() { + return rechargeCount; + } + + public void setRechargeCount(int rechargeCount) { + this.rechargeCount = rechargeCount; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java index dd4afd736..b1af145a4 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java @@ -231,6 +231,15 @@ public class BuyGoodsNewLogic { resultRes.setResultCode(1); return resultRes; } + + // gm充值不进行单笔充值活动 + if (!gm_modifier.equals(orderId)){ + // 单笔充值 + Poster.getPoster().dispatchEvent(new SingleRechargeEvent(user.getId(),(int)price)); + // 线下自动返利 + Poster.getPoster().dispatchEvent(new AutoRechargeBackEvent(user.getId(),goodsId,orderId)); + } + Poster.getPoster().dispatchEvent(new RechargeRewardEvent(user.getId(),(int)price)); int[] forbid = config.getForbid(); @@ -249,7 +258,7 @@ public class BuyGoodsNewLogic { //发货 sendGoodsByType(user,config,list); - if(config.getAccumulativeRecharge() == 1 && !gm_modifier.equals(orderId)){ + if(config.getAccumulativeRecharge() == 1){ if(info.getMaxSingleR() < price){ info.setMaxSingleR(price); } diff --git a/tablemanager/src/main/java/config/SGMMaster.java b/tablemanager/src/main/java/config/SGMMaster.java index 9295f746f..0cfc832ab 100644 --- a/tablemanager/src/main/java/config/SGMMaster.java +++ b/tablemanager/src/main/java/config/SGMMaster.java @@ -3,7 +3,6 @@ package config; import manager.STableManager; import manager.Table; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -24,7 +23,7 @@ public class SGMMaster implements BaseConfig { private static Map> typeMap = new HashMap<>(); - private static Map map = new HashMap<>(); + private static Map pickMap = new HashMap<>(); @Override public void init() throws Exception { @@ -42,16 +41,16 @@ public class SGMMaster implements BaseConfig { } typeMap.clear(); typeMap = map1; - map.clear(); - map = map2; + pickMap.clear(); + pickMap = map2; } public static Map> getTypeMap() { return typeMap; } - public static Map getMap() { - return map; + public static Map getPickMap() { + return pickMap; } public int getId() {