增加多日单笔充值

master_longzhu_new
DESKTOP-C3M45P4\dengdan 2025-06-17 13:14:45 +08:00
parent 7a0dacf995
commit 9e94598d63
1 changed files with 33 additions and 1 deletions

View File

@ -110,6 +110,9 @@ public class GmActivityLogic implements IEventHandler {
case 7://可重复单笔充值
getRewardToUnlimitSingleRecharge(user, gmActivity, price);
break;
case 8://多日单笔充值
getRewardToMoreDaySingleRecharge(user, gmActivity, price);
break;
default://3、5、6多日累充永久大充开服首日累充
getDefaultReward(user, gmActivity, price);
break;
@ -300,6 +303,35 @@ public class GmActivityLogic implements IEventHandler {
}
}
/**
*
*/
private void getRewardToMoreDaySingleRecharge(User user, GmActivity gmActivity, double price) throws Exception {
List<ARBMission> gmMissionList = findAllGmMission(gmActivity.getId());
for (ARBMission arbMission : gmMissionList) {
GmMission gmMission = gmActivity.getMissionMap().getOrDefault(arbMission.getId(), new GmMission());
// 已领取
if (gmMission.getState() == 1){
LOGGER.error("单笔充值奖励档位已领取userid{}, 活动id{} 档位id{}", user.getId(),gmActivity.getId(),gmMission.getId());
continue;
}
// 不能领
if (price != arbMission.getRechargeNum()){
LOGGER.error("单笔充值奖励金额对比失败userid{}, 活动id{} 金额:{}-{}", user.getId(),gmActivity.getId(),price,arbMission.getRechargeNum());
continue;
}
// 发邮件
String mailReward = ItemUtil.getMailReward(arbMission.getReward());
if (!StringUtil.isEmpty(mailReward)){
MailLogic.getInstance().sendMail(user.getId(),arbMission.getActivity().getName(),arbMission.getTitle(),mailReward,TimeUtils.nowInt(),Global.MAIL_EFFECTIVE_TIME);
}
// 记录到库
gmMission.setId(arbMission.getId());
gmMission.setState(1);
gmActivity.putMissionMap(arbMission.getId(), gmMission);
}
}
/**
*
*/
@ -407,7 +439,7 @@ public class GmActivityLogic implements IEventHandler {
Map<String, ARBActivity> arbActivityMap = getArbActivity();
for (ARBActivity value : arbActivityMap.values()) {
// 单笔,单日累充,妖晶返利
if (value.getType() == 1 || value.getType() == 2 || value.getType() == 4){
if (value.getType() == 1 || value.getType() == 2 || value.getType() == 4 || value.getType() == 7){
manager.removeActivity(value.getId());
LOGGER.info("返利活动重置uid{}活动id{}, type{}",user.getId(),value.getId(), value.getType());
}