eparty-屏蔽首充

This commit is contained in:
2025-08-07 16:47:07 +08:00
parent 04ba511018
commit 584b7333c3

View File

@@ -7,21 +7,14 @@ import com.accompany.business.service.activity.h5.ActivityH5LevelAwardService;
import com.accompany.business.service.activity.h5.ActivityH5LevelExpService;
import com.accompany.business.service.activity.h5.ActivityRankRuleService;
import com.accompany.business.service.user.UsersService;
import com.accompany.business.vo.activity.h5.ActivityDiffExpVo;
import com.accompany.business.vo.activity.h5.ActivityExpVo;
import com.accompany.business.vo.firstcharge.FirstChargeBannerConfigVo;
import com.accompany.business.vo.firstcharge.FirstChargeExpVo;
import com.accompany.business.vo.firstcharge.FirstChargeRewardVo;
import com.accompany.business.vo.firstcharge.FirstChargeVo;
import com.accompany.common.constant.Constant;
import com.accompany.common.utils.StringUtils;
import com.accompany.core.enumeration.BillObjTypeEnum;
import com.accompany.core.enumeration.CurrencyEnum;
import com.accompany.core.model.Users;
import com.accompany.core.service.SysConfService;
import com.accompany.core.util.I18NMessageSourceUtil;
import com.accompany.payment.service.RechargeUserService;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.redisson.api.RBucket;
@@ -29,8 +22,6 @@ import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.Duration;
import java.util.ArrayList;
import java.util.List;
@@ -38,9 +29,7 @@ import java.util.Map;
import java.util.stream.Collectors;
import static com.accompany.business.constant.activity.ActivityType.FIRST_CHARGE;
import static com.accompany.common.constant.Constant.SysConfId.FIRST_CHARGE_BANNER_CONFIG;
import static com.accompany.common.redis.RedisKey.*;
import static com.accompany.core.enumeration.I18nAlertEnum.FIRST_CHARGE_REWARD_SYS;
@Slf4j
@Service
@@ -68,52 +57,54 @@ public class FirstChargeService {
public FirstChargeVo info(Long uid, String ip, String deviceId) {
FirstChargeVo firstChargeVo = new FirstChargeVo();
if (rechargeUserService.isRechargeUser(uid)) {
firstChargeVo.setChargeStatus(Boolean.TRUE);
return firstChargeVo;
}
Boolean chargeStatus = checkStatus(uid, ip, deviceId);
firstChargeVo.setChargeStatus(chargeStatus);
if (chargeStatus) {
return firstChargeVo;
}
Users users = usersService.getUsersByUid(uid);
Integer partitionId = users.getPartitionId();
String confValueById = sysConfService.getSysConfValueById(FIRST_CHARGE_BANNER_CONFIG);
if (StringUtils.isNotEmpty(confValueById)) {
FirstChargeBannerConfigVo bannerConfigVo = JSONObject.parseObject(confValueById, FirstChargeBannerConfigVo.class);
firstChargeVo.setChargeBanner(bannerConfigVo.getConfigByPartitionId(partitionId));
}
List<ActivityExpVo> activityExpVos = activityH5LevelExpService.getLevelList(FIRST_CHARGE, partitionId);
if (CollectionUtils.isEmpty(activityExpVos)) {
return firstChargeVo;
}
Map<Integer, List<ActivityH5LevelAward>> awardMap =
activityH5LevelAwardService.levelMapByPartition(partitionId, FIRST_CHARGE.getType());
if (awardMap.isEmpty()) {
return firstChargeVo;
}
List<FirstChargeRewardVo> levelCharge = new ArrayList<>();
firstChargeVo.setLevelCharge(levelCharge);
for (ActivityExpVo activityExpVo : activityExpVos) {
FirstChargeRewardVo firstChargeRewardVo = new FirstChargeRewardVo();
firstChargeRewardVo.setExp(activityExpVo.getExp());
List<ActivityH5LevelAward> activityH5LevelAwards = awardMap.get(activityExpVo.getLevel());
if (CollectionUtils.isEmpty(activityH5LevelAwards)) {
continue;
}
for (ActivityH5LevelAward h5LevelAward : activityH5LevelAwards) {
if (RewardTypeEnum.DIAMOND.getType().equals(h5LevelAward.getAwardType())) {
firstChargeRewardVo.setAwardNum(h5LevelAward.getAwardNum());
break;
}
}
levelCharge.add(firstChargeRewardVo);
}
firstChargeVo.setChargeStatus(Boolean.TRUE);
return firstChargeVo;
// if (rechargeUserService.isRechargeUser(uid)) {
// firstChargeVo.setChargeStatus(Boolean.TRUE);
// return firstChargeVo;
// }
// Boolean chargeStatus = checkStatus(uid, ip, deviceId);
// firstChargeVo.setChargeStatus(chargeStatus);
// if (chargeStatus) {
// return firstChargeVo;
// }
// Users users = usersService.getUsersByUid(uid);
// Integer partitionId = users.getPartitionId();
// String confValueById = sysConfService.getSysConfValueById(FIRST_CHARGE_BANNER_CONFIG);
// if (StringUtils.isNotEmpty(confValueById)) {
// FirstChargeBannerConfigVo bannerConfigVo = JSONObject.parseObject(confValueById, FirstChargeBannerConfigVo.class);
// firstChargeVo.setChargeBanner(bannerConfigVo.getConfigByPartitionId(partitionId));
// }
// List<ActivityExpVo> activityExpVos = activityH5LevelExpService.getLevelList(FIRST_CHARGE, partitionId);
// if (CollectionUtils.isEmpty(activityExpVos)) {
// return firstChargeVo;
// }
//
// Map<Integer, List<ActivityH5LevelAward>> awardMap =
// activityH5LevelAwardService.levelMapByPartition(partitionId, FIRST_CHARGE.getType());
// if (awardMap.isEmpty()) {
// return firstChargeVo;
// }
//
// List<FirstChargeRewardVo> levelCharge = new ArrayList<>();
// firstChargeVo.setLevelCharge(levelCharge);
//
// for (ActivityExpVo activityExpVo : activityExpVos) {
// FirstChargeRewardVo firstChargeRewardVo = new FirstChargeRewardVo();
// firstChargeRewardVo.setExp(activityExpVo.getExp());
// List<ActivityH5LevelAward> activityH5LevelAwards = awardMap.get(activityExpVo.getLevel());
// if (CollectionUtils.isEmpty(activityH5LevelAwards)) {
// continue;
// }
// for (ActivityH5LevelAward h5LevelAward : activityH5LevelAwards) {
// if (RewardTypeEnum.DIAMOND.getType().equals(h5LevelAward.getAwardType())) {
// firstChargeRewardVo.setAwardNum(h5LevelAward.getAwardNum());
// break;
// }
// }
// levelCharge.add(firstChargeRewardVo);
// }
// return firstChargeVo;
}
public List<FirstChargeExpVo> firstChargeReward(Long uid, Integer pageType) {
@@ -170,40 +161,40 @@ public class FirstChargeService {
public void firstChargeCheckAndReward(Long uid, String ip, String deviceId, Long totalGoldNum, String channel) {
log.info("firstChargeCheckAndReward-begin,uid:{}, ip:{}, deviceId:{}, totalGoldNum:{},channel:{}" , uid, ip, deviceId, totalGoldNum, channel);
if (checkStatus(uid, ip, deviceId)) {
return;
}
firstChargeRecordService.saveRecord(uid, ip, deviceId, totalGoldNum);
this.deleteCache(uid, ip, deviceId);
if (!Constant.ChargeChannel.google_play_billing.equals(channel)
&& !Constant.ChargeChannel.ios_pay.equals(channel)) {
log.info("firstChargeCheckAndReward-not reward channel");
return;
}
if (rechargeUserService.isRechargeUser(uid)) {
log.info("firstChargeCheckAndReward-not reward user");
return;
}
Users users = usersService.getUsersByUid(uid);
Integer partitionId = users.getPartitionId();
ActivityDiffExpVo diffExpVo = activityRankRuleService.getDiffExpVo(FIRST_CHARGE, partitionId, totalGoldNum.doubleValue());
List<ActivityH5LevelAward> activityH5LevelAwards = activityH5LevelAwardService.listByLevelPartition(partitionId, diffExpVo.getLevel(), FIRST_CHARGE.getType());
if (CollectionUtils.isEmpty(activityH5LevelAwards)) {
log.info("firstChargeCheckAndReward-emptyAward");
return;
}
Integer rewardGold = 0;
for (ActivityH5LevelAward activityH5LevelAward : activityH5LevelAwards) {
if (RewardTypeEnum.DIAMOND.getType().equals(activityH5LevelAward.getAwardType())) {
rewardGold = activityH5LevelAward.getAwardNum();
break;
}
}
BigDecimal usd = BigDecimal.valueOf(totalGoldNum).divide(CurrencyEnum.DIAMOND.getExchangeRate(), 2, RoundingMode.DOWN);
activityRankRuleService.sendLevelRankAwardOnlyLevelWithBill(FIRST_CHARGE, uid, diffExpVo.getLevel(),
"" , partitionId, BillObjTypeEnum.FIRST_CHARGE_REWARD_BILL);
String message = I18NMessageSourceUtil.getMessage(FIRST_CHARGE_REWARD_SYS, new Object[]{usd.doubleValue(), rewardGold}, uid);
baseSendService.sendSystemMsg(uid.toString(), message);
// if (checkStatus(uid, ip, deviceId)) {
// return;
// }
// firstChargeRecordService.saveRecord(uid, ip, deviceId, totalGoldNum);
// this.deleteCache(uid, ip, deviceId);
// if (!Constant.ChargeChannel.google_play_billing.equals(channel)
// && !Constant.ChargeChannel.ios_pay.equals(channel)) {
// log.info("firstChargeCheckAndReward-not reward channel");
// return;
// }
// if (rechargeUserService.isRechargeUser(uid)) {
// log.info("firstChargeCheckAndReward-not reward user");
// return;
// }
// Users users = usersService.getUsersByUid(uid);
// Integer partitionId = users.getPartitionId();
// ActivityDiffExpVo diffExpVo = activityRankRuleService.getDiffExpVo(FIRST_CHARGE, partitionId, totalGoldNum.doubleValue());
// List<ActivityH5LevelAward> activityH5LevelAwards = activityH5LevelAwardService.listByLevelPartition(partitionId, diffExpVo.getLevel(), FIRST_CHARGE.getType());
// if (CollectionUtils.isEmpty(activityH5LevelAwards)) {
// log.info("firstChargeCheckAndReward-emptyAward");
// return;
// }
// Integer rewardGold = 0;
// for (ActivityH5LevelAward activityH5LevelAward : activityH5LevelAwards) {
// if (RewardTypeEnum.DIAMOND.getType().equals(activityH5LevelAward.getAwardType())) {
// rewardGold = activityH5LevelAward.getAwardNum();
// break;
// }
// }
// BigDecimal usd = BigDecimal.valueOf(totalGoldNum).divide(CurrencyEnum.DIAMOND.getExchangeRate(), 2, RoundingMode.DOWN);
// activityRankRuleService.sendLevelRankAwardOnlyLevelWithBill(FIRST_CHARGE, uid, diffExpVo.getLevel(),
// "" , partitionId, BillObjTypeEnum.FIRST_CHARGE_REWARD_BILL);
// String message = I18NMessageSourceUtil.getMessage(FIRST_CHARGE_REWARD_SYS, new Object[]{usd.doubleValue(), rewardGold}, uid);
// baseSendService.sendSystemMsg(uid.toString(), message);
// JSONObject jsonObject = new JSONObject();
// jsonObject.put("msg", message);
// baseSendService.sendMsg(SystemConfig.systemMessageUid, uid, FIRST_CHARGE_REWARD, FIRST_CHARGE_REWARD_MSG_NEW, jsonObject);