Browse Source

直播红娘任务

master
张彭杰 1 month ago
parent
commit
dabe131f94
2 changed files with 17 additions and 8 deletions
  1. 6
      dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/product/constant/ProductSubCategoryEnum.java
  2. 19
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/virtualaccount/VirtualAccountApplicationService.java

6
dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/product/constant/ProductSubCategoryEnum.java

@ -28,6 +28,12 @@ public enum ProductSubCategoryEnum {
CHAT_CARD(501, "聊天卡"),
PROFILE_CARD(502, "资料卡"),
CONTACT_CARD(503, "联系卡"),
MATCH_CARD(504, "匹配卡"),
VIP(601, "会员"),
VIP_TRIAL_CARD(602, "VIP体验卡"),

19
dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/virtualaccount/VirtualAccountApplicationService.java

@ -14,6 +14,7 @@ import com.qniao.dam.domain.aggregate.productspec.entity.ProductSpec;
import com.qniao.dam.domain.aggregate.productspec.valueobj.ProductSpecTerm;
import com.qniao.dam.domain.aggregate.revenuereward.entity.RevenueReward;
import com.qniao.dam.domain.aggregate.revenuereward.valueobj.RevenueRewardRecord;
import com.qniao.dam.domain.aggregate.rewardconfig.entity.RewardConfig;
import com.qniao.dam.domain.aggregate.virtualaccount.VirtualAccountAggregate;
import com.qniao.dam.domain.aggregate.virtualaccount.entity.VirtualAccount;
import com.qniao.dam.domain.aggregate.walletaccount.WalletAccountAggregate;
@ -28,6 +29,7 @@ import com.qniao.dam.domian.aggregate.order.constant.OrderStatusEnum;
import com.qniao.dam.domian.aggregate.order.constant.OrderTypeEnum;
import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum;
import com.qniao.dam.domian.aggregate.productspec.constant.ProductSpecTermNameEnum;
import com.qniao.dam.domian.aggregate.rewardconfig.constant.RewardTypeEnum;
import com.qniao.dam.domian.aggregate.virtualaccount.constant.VirtualAccountTradeTypeEnum;
import com.qniao.dam.domian.aggregate.walletaccount.constant.IdentityTypeEnum;
import com.qniao.dam.domian.aggregate.walletaccount.constant.TradeSceneEnum;
@ -90,9 +92,6 @@ public class VirtualAccountApplicationService extends BaseApplicationService {
@Resource
private AcquireRevenueRewardDomainService acquireRevenueRewardDomainService;
@Value("${virtual-unit-price:0.1}")
private BigDecimal virtualUnitPrice;
public void create(VirtualAccount virtualAccount) {
virtualAccountAggregate.create(virtualAccount);
}
@ -200,8 +199,9 @@ public class VirtualAccountApplicationService extends BaseApplicationService {
if (Objects.isNull(revenueReward)) {
revenueReward = RevenueReward.initUser(toUserId);
}
RewardConfig worthRewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.VIRTUAL_ACCOUNT_WORTH);
//营收额
BigDecimal revenue = BigDecimal.valueOf(costBalance).multiply(virtualUnitPrice).multiply(BigDecimal.valueOf(0.4)).setScale(2, RoundingMode.HALF_UP);
BigDecimal revenue = BigDecimal.valueOf(costBalance).multiply(new BigDecimal(worthRewardConfig.getValue())).multiply(BigDecimal.valueOf(0.4)).setScale(2, RoundingMode.HALF_UP);
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(TradeTypeEnum.IM_GIFT_REWARD, TradeSceneEnum.ONLINE,
revenue, BigDecimal.valueOf(100), BigDecimal.ZERO, revenue, BigDecimal.valueOf(costBalance));
@ -265,8 +265,9 @@ public class VirtualAccountApplicationService extends BaseApplicationService {
if (Objects.isNull(toRevenueReward)) {
toRevenueReward = RevenueReward.initUser(toUserId);
}
RewardConfig worthRewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.VIRTUAL_ACCOUNT_WORTH);
//营收额 todo
BigDecimal toRevenue = BigDecimal.valueOf(costBalance).multiply(virtualUnitPrice).multiply(BigDecimal.valueOf(0.1)).setScale(2, RoundingMode.HALF_UP);
BigDecimal toRevenue = BigDecimal.valueOf(costBalance).multiply(new BigDecimal(worthRewardConfig.getValue())).multiply(BigDecimal.valueOf(0.1)).setScale(2, RoundingMode.HALF_UP);
RevenueRewardRecord toRevenueRewardRecord = RevenueRewardRecord.build(TradeTypeEnum.CHANNEL_GIFT_REWARD, TradeSceneEnum.ONLINE,
toRevenue, BigDecimal.valueOf(100), BigDecimal.ZERO, toRevenue, BigDecimal.valueOf(costBalance));
//todo
@ -288,7 +289,7 @@ public class VirtualAccountApplicationService extends BaseApplicationService {
//营收额
BigDecimal giftRewardPct = rewardConfigQueryService.queryMatchmakerChannelGiftPct(anchorId, channelCreatorTodayCrossMicCount);
giftRewardPct = giftRewardPct.subtract(BigDecimal.valueOf(10));
BigDecimal anchorRevenue = BigDecimal.valueOf(costBalance).multiply(virtualUnitPrice).multiply(giftRewardPct)
BigDecimal anchorRevenue = BigDecimal.valueOf(costBalance).multiply(new BigDecimal(worthRewardConfig.getValue())).multiply(giftRewardPct)
.divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP);
RevenueRewardRecord anchorRevenueRewardRecord = RevenueRewardRecord.build(TradeTypeEnum.CHANNEL_GIFT_REWARD, TradeSceneEnum.ONLINE,
anchorRevenue, BigDecimal.valueOf(100), BigDecimal.ZERO, anchorRevenue, BigDecimal.valueOf(costBalance));
@ -331,9 +332,10 @@ public class VirtualAccountApplicationService extends BaseApplicationService {
if (Objects.isNull(revenueReward)) {
revenueReward = RevenueReward.initUser(toUserId);
}
RewardConfig worthRewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.VIRTUAL_ACCOUNT_WORTH);
//营收额 todo
BigDecimal giftRewardPct = rewardConfigQueryService.queryMatchmakerChannelGiftPct(toUserId, channelCreatorTodayCrossMicCount);
BigDecimal revenue = BigDecimal.valueOf(costBalance).multiply(virtualUnitPrice).multiply(giftRewardPct)
BigDecimal revenue = BigDecimal.valueOf(costBalance).multiply(new BigDecimal(worthRewardConfig.getValue())).multiply(giftRewardPct)
.divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP);
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(TradeTypeEnum.CHANNEL_GIFT_REWARD, TradeSceneEnum.ONLINE,
@ -364,9 +366,10 @@ public class VirtualAccountApplicationService extends BaseApplicationService {
if (Objects.isNull(revenueReward)) {
revenueReward = RevenueReward.initUser(userId);
}
RewardConfig worthRewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.VIRTUAL_ACCOUNT_WORTH);
//营收额 todo
BigDecimal giftRewardPct = rewardConfigQueryService.queryMatchmakerChannelGiftPct(userId, channelCreatorTodayCrossMicCount);
BigDecimal revenue = BigDecimal.valueOf(costBalance).multiply(virtualUnitPrice).multiply(giftRewardPct)
BigDecimal revenue = BigDecimal.valueOf(costBalance).multiply(new BigDecimal(worthRewardConfig.getValue())).multiply(giftRewardPct)
.divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP);
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(TradeTypeEnum.LINK_MIC_REWARD, TradeSceneEnum.ONLINE,
revenue, BigDecimal.valueOf(100), BigDecimal.ZERO, revenue, BigDecimal.valueOf(costBalance));

Loading…
Cancel
Save