超值基金活动修改

back_recharge
duhui 2021-07-19 13:51:50 +08:00
parent 3415e92270
commit 414f2c91db
1 changed files with 29 additions and 17 deletions

View File

@ -64,7 +64,7 @@ public class SuperFundActivity extends AbstractActivity {
// 状态初始化
initState(user,event1.getGiftId());
// 礼包处理
updateValue(user);
updateValue(user,event1.getGiftId());
// 状态刷新
updateState(user);
// 状态推送
@ -75,22 +75,32 @@ public class SuperFundActivity extends AbstractActivity {
*
* @param user
*/
private void updateValue(User user) throws Exception {
private void updateValue(User user, int giftId){
// 活动详情
ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(id);
if (mission == null || mission.getV() == 2){
// 活动不存在或者已经购买了
return;
}
// 获取活动信息
ReceiveWelfareBag bag = getBagInfo(user);
// 已购买月卡
if (bag.isOpen()){
Map<Integer, Integer> monthCard = user.getPlayerInfoManager().getMonthCard();
int monthTime = 0;
// 普通月卡
if (id == 78){
monthTime = monthCard.getOrDefault(1, 0);
}
// 高级月卡
if (id == 79){
monthTime = monthCard.getOrDefault(2, 0);
}
// 已激活月卡
if (monthTime > 0){
mission.setV(1);
}
// 已购买基金
if (bag.isBought()){
if (giftId == id){
mission.setV(2);
// 初始化基金
reSetValue(user);
}
}
@ -136,15 +146,14 @@ public class SuperFundActivity extends AbstractActivity {
* @throws ErrorCodeException
*/
private void updateState(User user) throws Exception {
// 获取礼包信息
AbstractWelfareBag bag = getBagInfo(user);
if (bag.getLastBuyTime() == 0){
// 活动信息
ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(id);
if (mission.getV() != 2){
return;
}
// 间隔天数,购买当天算第一天,所以需要+1
int days = TimeUtils.differentDays(bag.getLastBuyTime(), TimeUtils.getTodayZero())+1;
// 活动信息
ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(id);
int days = TimeUtils.differentDays(mission.getCreatTime(), TimeUtils.getTodayZero())+1;
Map<Integer, ActivityProgressInfo> infoMap = getMissionMap(mission);
// 遍历
infoMap.forEach((k,v)->{
@ -205,26 +214,29 @@ public class SuperFundActivity extends AbstractActivity {
Map<Integer, ActivityProgressInfo> infoMap = getMissionMap(mission);
// 领取得天数
int days = TimeUtils.differentDays(bag.getStartTime(), TimeUtils.getTodayZero())+1;
// 老玩家活动重置
reSetValue(user);
// 遍历
infoMap.forEach((k,v)->{
// 已领取得不做处理
if (days >= k){
v.setProgrss(1);
v.setState(1);
mission.getActivityMissionMap().put(k,v);
}
});
mission.setV(2);
bag.setGetRewardTime(0);
LOGGER.info("================超值基金老玩家兼容===============,uid:{},id:{}",user.getId(),id);
}
@Override
public void reSetValue(User user) throws Exception {
public void reSetValue(User user){
// 活动信息重置
ActivityManager activityManager = user.getActivityManager();
activityManager.getActivityMissionMap().remove(id);
initActivity(user);
// 礼包信息重置
ReceiveWelfareBag bagInfo = getBagInfo(user);
bagInfo.refresh();
LOGGER.info("================超值基金礼包刷新===============,uid:{},id:{}",user.getId(),id);
}
/**