新周卡功能,bug修改-发邮件
parent
27f92a9de8
commit
1ec28cdf76
|
@ -80,6 +80,41 @@ public class WeekCardActivity extends AbstractActivity {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 封装周卡信息
|
||||
* @param cardId
|
||||
* @param activityId
|
||||
* @param valueMap
|
||||
* @return
|
||||
*/
|
||||
private Map<Integer,Integer> packagingWeekCardMap(User user, int activityId, int cardId, Map<Integer,Integer> valueMap){
|
||||
HashMap<Integer, Integer> result = new HashMap<>();
|
||||
Map<Integer, SWeekcardConfig> config = STableManager.getConfig(SWeekcardConfig.class);
|
||||
|
||||
SWeekcardConfig sWeekcardConfig = config.get(cardId);
|
||||
ArrayList<CommonProto.WeekCardDay> list1 = new ArrayList<>();
|
||||
|
||||
// 计算间隔时间
|
||||
long startTimeLong = WeekCardLogic.getInstance().getStartTime(user, activityId);
|
||||
int days = TimeUtils.differentDays(startTimeLong, TimeUtils.now());
|
||||
|
||||
for (int[] ints : sWeekcardConfig.getBaseRewardID()) {
|
||||
// 天数
|
||||
int day = ints[0];
|
||||
// 状态
|
||||
int state = 0;
|
||||
if (valueMap.getOrDefault(day,0) == 2){
|
||||
state = 2;
|
||||
}else {
|
||||
if (days >= day){
|
||||
state = 1;
|
||||
}
|
||||
}
|
||||
result.put(day,state);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityEndDealReward(User user) throws Exception {
|
||||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||
|
@ -92,38 +127,42 @@ public class WeekCardActivity extends AbstractActivity {
|
|||
Map<Integer, SWeekRewardConfig> rewardConfigMap = STableManager.getConfig(SWeekRewardConfig.class);
|
||||
Map<Integer, SWeekcardConfig> configMap = STableManager.getConfig(SWeekcardConfig.class);
|
||||
// 计算间隔时间
|
||||
long startTimeLong = sGlobalActivity.getStartTimeLong();
|
||||
long startTimeLong = WeekCardLogic.getInstance().getStartTime(user,id);
|
||||
int days = TimeUtils.differentDays(startTimeLong, TimeUtils.now());
|
||||
for (Map.Entry<Integer, Map<Integer, Integer>> entry : weekCard.entrySet()) {
|
||||
|
||||
Integer weekCardId = entry.getKey();
|
||||
Map<Integer, Integer> value = entry.getValue();
|
||||
Map<Integer, Integer> weekCardMap = packagingWeekCardMap(user, id, weekCardId, value);
|
||||
|
||||
SWeekcardConfig weekcardConfig = configMap.get(weekCardId);
|
||||
if (weekcardConfig == null){
|
||||
LOGGER.error("月卡活动结束发送奖励,月卡不存在,月卡id:"+weekCard);
|
||||
continue;
|
||||
}
|
||||
for (Map.Entry<Integer, Integer> valueEntry : value.entrySet()) {
|
||||
if (valueEntry.getValue() == 2){
|
||||
for (Map.Entry<Integer, Integer> valueEntry : weekCardMap.entrySet()) {
|
||||
Integer day = valueEntry.getKey();
|
||||
Integer state = valueEntry.getValue();
|
||||
// 已领取
|
||||
if (state == 2){
|
||||
continue;
|
||||
}
|
||||
if (days > valueEntry.getKey()){
|
||||
if (days < day){
|
||||
LOGGER.error("月卡活动结束发送奖励,存在超过活动天数的月卡奖励,月卡id:"+weekCard+",活动开启时间+活动结束时间:"+startTimeLong+"+"+TimeUtils.now()+",月卡需求天数:"+valueEntry.getKey());
|
||||
continue;
|
||||
}
|
||||
if (valueEntry.getKey() > weekcardConfig.getBaseRewardID().length){
|
||||
LOGGER.error("月卡活动结束发送奖励,存在超过配置天数的月卡奖励,月卡id:"+weekCard+",月卡需求天数:"+valueEntry.getKey());
|
||||
if (day > weekcardConfig.getBaseRewardID().length){
|
||||
LOGGER.error("月卡活动结束发送奖励,存在超过配置天数的月卡奖励,月卡id:"+weekCard+",月卡需求天数:"+ day);
|
||||
continue;
|
||||
}
|
||||
int[] ints = weekcardConfig.getBaseRewardID()[valueEntry.getKey() - 1];
|
||||
int[] ints = weekcardConfig.getBaseRewardID()[day - 1];
|
||||
SWeekRewardConfig rewardConfig = rewardConfigMap.get(ints[1]);
|
||||
if (rewardConfig == null){
|
||||
LOGGER.error("月卡活动结束发送奖励,存在没有配置的奖励id,月卡id:"+weekCard+",奖励id:"+ints[1]);
|
||||
continue;
|
||||
}
|
||||
itemArrs.add(new int[][]{rewardConfig.getBaseReward()});
|
||||
value.put(valueEntry.getKey(),2);
|
||||
value.put(day,2);
|
||||
}
|
||||
weekCard.put(weekCardId,value);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue