增加多日单笔充值

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());
}