返利error优化

back_recharge
duhui 2023-02-13 17:43:53 +08:00
parent 08042195cb
commit a1e2bffd8b
1 changed files with 39 additions and 30 deletions

View File

@ -54,24 +54,28 @@ public class GmActivityLogic implements IEventHandler {
return;
}
AutoRechargeBackEvent rechargeBackEvent = (AutoRechargeBackEvent) event;
if (rechargeBackEvent.getGiftId() <= 0){
User user = UserManager.getUser(rechargeBackEvent.getUserId());
int giftId = rechargeBackEvent.getGiftId();
if (giftId <= 0){
LOGGER.info("返利活动信息,礼包id为0uid{}info:{}",user.getId(), rechargeBackEvent);
return;
}
double price = 0;
String method = rechargeBackEvent.getRechargeMethod();
if (method.equals(item_token)){
price = rechargeBackEvent.getGiftId();
price = giftId;
}else {
SRechargeCommodityNewConfig config = SRechargeCommodityNewConfig.getConfigById(rechargeBackEvent.getGiftId());
SRechargeCommodityNewConfig config = SRechargeCommodityNewConfig.getConfigById(giftId);
if (config != null){
price = config.getPrice();
}
}
if (price <= 0){
LOGGER.info("返利活动信息,金额为0uid{}info:{}",user.getId(), rechargeBackEvent);
return;
}
User user = UserManager.getUser(rechargeBackEvent.getUserId());
// 自动返利
zeroUpdateGmActivity(user);
// 活动信息获取
@ -81,33 +85,38 @@ public class GmActivityLogic implements IEventHandler {
int i = 1;
for (Map.Entry<String, ARBActivity> entry : arbActivityMap.entrySet()) {
LOGGER.info("返利活动信息,第{}次循环uid{}aid:{}",i,user.getId(),entry.getKey());
ARBActivity arbActivity = entry.getValue();
LOGGER.info("返利活动信息,第{}次循环uid{}aid:{}type{}",i,user.getId(),arbActivity.getId(),arbActivity.getType());
// 时间校验
long start = getStartTime(arbActivity);
LOGGER.info("返利活动信息,第{}次循环uid{}aid:{}start:{}",i,user.getId(),arbActivity.getId(),start);
long end = getEndTime(arbActivity);
LOGGER.info("返利活动信息,第{}次循环uid{}aid:{}end:{}",i,user.getId(),arbActivity.getId(),end);
long now = TimeUtils.now();
LOGGER.info("返利活动信息,第{}次循环uid{}aid:{}type{}, now{}",i,user.getId(),arbActivity.getId(),arbActivity.getType(),now);
if (now >= start && now < end){
// 获取全部活动信息
GmActivity gmActivity = manager.getActivityMap().getOrDefault(entry.getKey(), new GmActivity(arbActivity));
switch (gmActivity.getType()){
case 1://单日累充
getRewardToSingleTotalRecharge(user, gmActivity, price);
break;
case 2://妖晶返利
getRewardToMonsterCurrencyBack(user, gmActivity, price);
break;
case 4://单笔充值
getRewardToSingleRecharge(user, gmActivity, price);
break;
default://3、5、6多日累充永久大充开服首日累充
getDefaultReward(user, gmActivity, price);
break;
try {
ARBActivity arbActivity = entry.getValue();
LOGGER.info("返利活动信息,第{}次循环uid{}aid:{}type{}",i,user.getId(),arbActivity.getId(),arbActivity.getType());
// 时间校验
long start = getStartTime(arbActivity);
LOGGER.info("返利活动信息,第{}次循环uid{}aid:{}start:{}",i,user.getId(),arbActivity.getId(),start);
long end = getEndTime(arbActivity);
LOGGER.info("返利活动信息,第{}次循环uid{}aid:{}end:{}",i,user.getId(),arbActivity.getId(),end);
long now = TimeUtils.now();
LOGGER.info("返利活动信息,第{}次循环uid{}aid:{}type{}, now{}",i,user.getId(),arbActivity.getId(),arbActivity.getType(),now);
if (now >= start && now < end){
// 获取全部活动信息
GmActivity gmActivity = manager.getActivityMap().getOrDefault(entry.getKey(), new GmActivity(arbActivity));
switch (gmActivity.getType()){
case 1://单日累充
getRewardToSingleTotalRecharge(user, gmActivity, price);
break;
case 2://妖晶返利
getRewardToMonsterCurrencyBack(user, gmActivity, price);
break;
case 4://单笔充值
getRewardToSingleRecharge(user, gmActivity, price);
break;
default://3、5、6多日累充永久大充开服首日累充
getDefaultReward(user, gmActivity, price);
break;
}
manager.putActivityMap(gmActivity.getId(),gmActivity);
}
manager.putActivityMap(gmActivity.getId(),gmActivity);
}catch (Exception e){
LOGGER.error("返利活动异常活动id{}, 礼包信息:{},价值金额:{},报错信息:{}",entry.getKey(), rechargeBackEvent,price,e.getMessage());
e.printStackTrace();
}
i++;
}