每日金币大放送增加VIP奖励比例,VIP奖励比例统一为RoundingMode.DOWN
This commit is contained in:
parent
f359ed23b6
commit
d7c516ab98
@ -231,7 +231,7 @@ public class PropsPurchasingCmdExe {
|
|||||||
}
|
}
|
||||||
|
|
||||||
BigDecimal userVipBenefit = userProfileGateway.getUserVipBenefit(cmd.getReqUserId(), VipBenefitType.SHOP_DISCOUNT);
|
BigDecimal userVipBenefit = userProfileGateway.getUserVipBenefit(cmd.getReqUserId(), VipBenefitType.SHOP_DISCOUNT);
|
||||||
amount = amount.multiply(userVipBenefit).setScale(2, RoundingMode.HALF_UP);
|
amount = amount.multiply(userVipBenefit).setScale(0, RoundingMode.DOWN);
|
||||||
|
|
||||||
ImmutableKeyValuePair<String, String> origin = getOriginCode(cmd, commodity);
|
ImmutableKeyValuePair<String, String> origin = getOriginCode(cmd, commodity);
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,8 @@ package com.red.circle.other.app.command.task;
|
|||||||
import com.red.circle.framework.core.asserts.ResponseAssert;
|
import com.red.circle.framework.core.asserts.ResponseAssert;
|
||||||
import com.red.circle.other.app.dto.clientobject.task.RoomDailyTaskClaimCO;
|
import com.red.circle.other.app.dto.clientobject.task.RoomDailyTaskClaimCO;
|
||||||
import com.red.circle.other.app.dto.cmd.task.RoomDailyTaskClaimCmd;
|
import com.red.circle.other.app.dto.cmd.task.RoomDailyTaskClaimCmd;
|
||||||
|
import com.red.circle.other.domain.enums.VipBenefitType;
|
||||||
|
import com.red.circle.other.domain.gateway.user.UserProfileGateway;
|
||||||
import com.red.circle.other.domain.gateway.user.ability.RegisterDeviceGateway;
|
import com.red.circle.other.domain.gateway.user.ability.RegisterDeviceGateway;
|
||||||
import com.red.circle.other.infra.database.rds.entity.activity.LotteryDeviceRecord;
|
import com.red.circle.other.infra.database.rds.entity.activity.LotteryDeviceRecord;
|
||||||
import com.red.circle.other.infra.database.rds.entity.task.RoomDailyTaskClaimRecord;
|
import com.red.circle.other.infra.database.rds.entity.task.RoomDailyTaskClaimRecord;
|
||||||
@ -24,6 +26,8 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -42,6 +46,7 @@ public class RoomDailyTaskClaimExe {
|
|||||||
private final WalletGoldClient walletGoldClient;
|
private final WalletGoldClient walletGoldClient;
|
||||||
private final RegisterDeviceGateway registerDeviceGateway;
|
private final RegisterDeviceGateway registerDeviceGateway;
|
||||||
private final LotteryDeviceRecordService lotteryDeviceRecordService;
|
private final LotteryDeviceRecordService lotteryDeviceRecordService;
|
||||||
|
private final UserProfileGateway userProfileGateway;
|
||||||
private final static long ROOM_DAILY_FIXED_ACTIVITY_ID = 10011L;
|
private final static long ROOM_DAILY_FIXED_ACTIVITY_ID = 10011L;
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@ -106,6 +111,9 @@ public class RoomDailyTaskClaimExe {
|
|||||||
taskDatabaseService.saveOrUpdateProgress(progress);
|
taskDatabaseService.saveOrUpdateProgress(progress);
|
||||||
taskDatabaseService.saveClaimRecords(records);
|
taskDatabaseService.saveClaimRecords(records);
|
||||||
|
|
||||||
|
BigDecimal userVipBenefit = userProfileGateway.getUserVipBenefit(userId, VipBenefitType.XP_RATE);
|
||||||
|
totalReward = new BigDecimal(totalReward).multiply(userVipBenefit).setScale(0, RoundingMode.DOWN).longValue();
|
||||||
|
|
||||||
// 发放奖励
|
// 发放奖励
|
||||||
String bizNo = taskCode + ":" + today + ":batch:" + maxTierClaimed + "-" + maxTierCompleted;
|
String bizNo = taskCode + ":" + today + ":batch:" + maxTierClaimed + "-" + maxTierCompleted;
|
||||||
walletGoldClient.changeBalance(GoldReceiptCmd.builder()
|
walletGoldClient.changeBalance(GoldReceiptCmd.builder()
|
||||||
|
|||||||
@ -194,7 +194,7 @@ public class GiftCountStrategy implements GiftStrategy {
|
|||||||
runningWater.getAcceptUsers().forEach(accept -> {
|
runningWater.getAcceptUsers().forEach(accept -> {
|
||||||
|
|
||||||
BigDecimal userVipBenefit = userProfileGateway.getUserVipBenefit(accept.getAcceptUserId(), VipBenefitType.XP_RATE);
|
BigDecimal userVipBenefit = userProfileGateway.getUserVipBenefit(accept.getAcceptUserId(), VipBenefitType.XP_RATE);
|
||||||
BigDecimal resultValueCount = giftValueCount.multiply(userVipBenefit).setScale(2, RoundingMode.HALF_UP);
|
BigDecimal resultValueCount = giftValueCount.multiply(userVipBenefit).setScale(0, RoundingMode.DOWN);
|
||||||
// 记录魅力等级
|
// 记录魅力等级
|
||||||
consumptionLevelService.incrConsumptionDiamond(accept.getAcceptUserId(), resultValueCount);
|
consumptionLevelService.incrConsumptionDiamond(accept.getAcceptUserId(), resultValueCount);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user