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 5f83bca47..a39abe40b 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 @@ -75,7 +75,7 @@ public class SuperFundActivity extends AbstractActivity { * 礼包处理 * @param user */ - private void updateValue(User user, int giftId){ + private void updateValue(User user, int giftId) throws Exception { // 活动详情 ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(id); if (mission == null || mission.getV() == 2){ @@ -92,15 +92,19 @@ public class SuperFundActivity extends AbstractActivity { if (id == 79){ monthTime = monthCard.getOrDefault(2, 0); } + + // 旧信息兼容 + ReceiveWelfareBag bagInfo = getBagInfo(user); + // 已激活月卡 - if (monthTime > 0){ + if (monthTime > 0 || bagInfo.isOpen()){ mission.setV(1); } // 已购买基金 - if (giftId == id){ - mission.setV(2); + if (giftId == id || bagInfo.isBought()){ // 初始化基金 - reSetValue(user); + mission.setV(2); + mission.setCreatTime(TimeUtils.now()); } } @@ -214,8 +218,6 @@ public class SuperFundActivity extends AbstractActivity { Map infoMap = getMissionMap(mission); // 领取得天数 int days = TimeUtils.differentDays(bag.getStartTime(), TimeUtils.getTodayZero())+1; - // 老玩家活动重置 - reSetValue(user); // 遍历 infoMap.forEach((k,v)->{ // 已领取得不做处理 @@ -226,16 +228,20 @@ public class SuperFundActivity extends AbstractActivity { } }); mission.setV(2); + mission.setCreatTime(TimeUtils.now()); bag.setGetRewardTime(0); LOGGER.info("================超值基金老玩家兼容===============,uid:{},id:{}",user.getId(),id); } @Override - public void reSetValue(User user){ + public void reSetValue(User user) throws Exception { // 活动信息重置 ActivityManager activityManager = user.getActivityManager(); activityManager.getActivityMissionMap().remove(id); initActivity(user); + // 旧信息兼容 + ReceiveWelfareBag bagInfo = getBagInfo(user); + bagInfo.refresh(); LOGGER.info("================超值基金礼包刷新===============,uid:{},id:{}",user.getId(),id); }