Browse Source

红娘订单

master
张彭杰 1 year ago
parent
commit
85dd650e48
7 changed files with 57 additions and 17 deletions
  1. 6
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/marriagebounty/valueobj/MarriageBountyOrderRewardReceiveRecord.java
  2. 15
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/revenuereward/valueobj/RevenueRewardRecord.java
  3. 3
      dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/marriagebounty/event/MarriageBountyOrderConfirmedMatchEvent.java
  4. 3
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/reward/user/request/AcquireMatchmakerConfirmMatchRewardDto.java
  5. 21
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/RevenueRewardUserQueryController.java
  6. 16
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/marriagebounty/MarriageBountyOrderApplicationService.java
  7. 10
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java

6
dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/marriagebounty/valueobj/MarriageBountyOrderRewardReceiveRecord.java

@ -29,11 +29,15 @@ public class MarriageBountyOrderRewardReceiveRecord extends ValueObject<Marriage
@ApiModelProperty("关联嘉宾")
private transient Long associatedMiId;
public static MarriageBountyOrderRewardReceiveRecord build(RewardTypeEnum rewardType, Long receiver, BigDecimal receivedAmount) {
@ApiModelProperty("营收额百分比")
private transient BigDecimal revenuePct;
public static MarriageBountyOrderRewardReceiveRecord build(RewardTypeEnum rewardType, Long receiver, BigDecimal receivedAmount, BigDecimal revenuePct) {
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = new MarriageBountyOrderRewardReceiveRecord();
rewardReceiveRecord.setRewardType(rewardType);
rewardReceiveRecord.setReceiver(receiver);
rewardReceiveRecord.setReceivedAmount(receivedAmount);
rewardReceiveRecord.setRevenuePct(revenuePct);
return rewardReceiveRecord;
}
}

15
dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/revenuereward/valueobj/RevenueRewardRecord.java

@ -25,6 +25,12 @@ public class RevenueRewardRecord extends ValueObject<RevenueRewardRecord> {
@ApiModelProperty("营收额")
private BigDecimal revenue;
@ApiModelProperty("营收额百分比")
private BigDecimal revenuePct;
@ApiModelProperty("服务费百分比")
private BigDecimal servicePct;
@ApiModelProperty("收益额 营收额除去平台服务费")
private BigDecimal earnings;
@ -36,10 +42,17 @@ public class RevenueRewardRecord extends ValueObject<RevenueRewardRecord> {
private transient List<RevenueRewardAssociateOrderRecord> associateOrderRecordList;
public static RevenueRewardRecord build(TradeTypeEnum tradeType, BigDecimal revenue, BigDecimal earnings, BigDecimal totalAssociateOrderAmount) {
public static RevenueRewardRecord build(TradeTypeEnum tradeType,
BigDecimal revenue,
BigDecimal revenuePct,
BigDecimal servicePct,
BigDecimal earnings,
BigDecimal totalAssociateOrderAmount) {
RevenueRewardRecord record = new RevenueRewardRecord();
record.setTradeType(tradeType);
record.setRevenue(revenue);
record.setRevenuePct(revenuePct);
record.setServicePct(servicePct);
record.setEarnings(earnings);
record.setTotalAssociateOrderAmount(totalAssociateOrderAmount);
return record;

3
dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/marriagebounty/event/MarriageBountyOrderConfirmedMatchEvent.java

@ -37,6 +37,9 @@ public class MarriageBountyOrderConfirmedMatchEvent extends BaseDomainEvent {
@ApiModelProperty("领取金额")
private BigDecimal receivedAmount;
@ApiModelProperty("营收额百分比")
private BigDecimal revenuePct;
@ApiModelProperty("相关订单金额")
private BigDecimal totalAssociateOrderAmount;
}

3
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/reward/user/request/AcquireMatchmakerConfirmMatchRewardDto.java

@ -22,6 +22,9 @@ public class AcquireMatchmakerConfirmMatchRewardDto {
@ApiModelProperty("领取金额")
private BigDecimal receivedAmount;
@ApiModelProperty("营收额百分比")
private BigDecimal revenuePct;
@ApiModelProperty("相关订单金额")
private BigDecimal totalAssociateOrderAmount;

21
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/RevenueRewardUserQueryController.java

@ -44,9 +44,26 @@ public class RevenueRewardUserQueryController {
@RequestParam("userId") Long userId,
@RequestHeader(name = RequestHeaderFields.FIELD_ORGANIZATION_ID, required = false) Long orgId) {
if (Objects.isNull(queryParams.getQueryOrgId()) && Objects.isNull(queryParams.getQueryUserId())) {
if (Objects.nonNull(orgId)){
if (Objects.nonNull(orgId)) {
queryParams.setQueryOrgId(orgId);
}else{
} else {
queryParams.setQueryUserId(userId);
}
}
return PageUtil.convert(revenueRewardQueryService.pageRevenueRewardRecord(pageUtil, queryParams), UseGetRevenueRewardRecordVo.class);
}
@GetMapping("page/revenue-reward-record/by/operator")
@ApiOperation("运营端获取用户收益记录分页")
public QnPage<UseGetRevenueRewardRecordVo> usePageRevenueRewardRecordByOperator(PageUtil pageUtil,
UsePageRevenueRewardRecordQueryParams queryParams,
@RequestParam("userId") Long userId,
@RequestHeader(name = RequestHeaderFields.FIELD_ORGANIZATION_ID, required = false) Long orgId) {
if (Objects.isNull(queryParams.getQueryOrgId()) && Objects.isNull(queryParams.getQueryUserId())) {
if (Objects.nonNull(orgId)) {
queryParams.setQueryOrgId(orgId);
} else {
queryParams.setQueryUserId(userId);
}
}

16
dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/marriagebounty/MarriageBountyOrderApplicationService.java

@ -225,7 +225,7 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic
if (Objects.nonNull(guestCertificationReward)) {
BigDecimal receivedAmount = guestCertificationReward.calculateReward(marriageBountyOrderReward.getRewardAmount());
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build(
guestCertificationReward.getRewardType(), rewardInviteUserId, receivedAmount);
guestCertificationReward.getRewardType(), rewardInviteUserId, receivedAmount, new BigDecimal(guestCertificationReward.getValue()));
rewardReceiveRecord.setAssociatedMiId(existMarriageBountyOrder.getMiId());
rewardReceiveRecordList.add(rewardReceiveRecord);
}
@ -237,7 +237,7 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic
if (Objects.nonNull(guestCertificationReward)) {
BigDecimal receivedAmount = guestCertificationReward.calculateReward(marriageBountyOrderReward.getRewardAmount());
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build(
guestCertificationReward.getRewardType(), guestsInviteUserId, receivedAmount);
guestCertificationReward.getRewardType(), guestsInviteUserId, receivedAmount, new BigDecimal(guestCertificationReward.getValue()));
rewardReceiveRecord.setAssociatedMiId(guestsInviteMiId);
rewardReceiveRecordList.add(rewardReceiveRecord);
}
@ -249,7 +249,7 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic
if (Objects.nonNull(publishMarriageBountyReward)) {
BigDecimal receivedAmount = publishMarriageBountyReward.calculateReward(marriageBountyOrderReward.getRewardAmount());
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build(
publishMarriageBountyReward.getRewardType(), rewardPublishMatchmakerUserId, receivedAmount);
publishMarriageBountyReward.getRewardType(), rewardPublishMatchmakerUserId, receivedAmount, new BigDecimal(publishMarriageBountyReward.getValue()));
rewardReceiveRecord.setAssociatedMiId(existMarriageBountyOrder.getMiId());
rewardReceiveRecordList.add(rewardReceiveRecord);
}
@ -261,7 +261,7 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic
if (Objects.nonNull(matchMarriageBountyReward)) {
BigDecimal receivedAmount = matchMarriageBountyReward.calculateReward(marriageBountyOrderReward.getRewardAmount());
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build(
matchMarriageBountyReward.getRewardType(), guestsMatchmakerUserId, receivedAmount);
matchMarriageBountyReward.getRewardType(), guestsMatchmakerUserId, receivedAmount, new BigDecimal(matchMarriageBountyReward.getValue()));
rewardReceiveRecord.setAssociatedMiId(guestsInviteMiId);
rewardReceiveRecordList.add(rewardReceiveRecord);
}
@ -315,7 +315,7 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic
if (Objects.nonNull(guestCertificationReward)) {
BigDecimal receivedAmount = guestCertificationReward.calculateReward(marriageBountyOrderReward.getRewardAmount());
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build(
guestCertificationReward.getRewardType(), rewardInviteUserId, receivedAmount);
guestCertificationReward.getRewardType(), rewardInviteUserId, receivedAmount, new BigDecimal(guestCertificationReward.getValue()));
rewardReceiveRecord.setAssociatedMiId(existMarriageBountyOrder.getMiId());
rewardReceiveRecordList.add(rewardReceiveRecord);
}
@ -327,7 +327,7 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic
if (Objects.nonNull(guestCertificationReward)) {
BigDecimal receivedAmount = guestCertificationReward.calculateReward(marriageBountyOrderReward.getRewardAmount());
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build(
guestCertificationReward.getRewardType(), guestsInviteUserId, receivedAmount);
guestCertificationReward.getRewardType(), guestsInviteUserId, receivedAmount, new BigDecimal(guestCertificationReward.getValue()));
rewardReceiveRecord.setAssociatedMiId(guestsInviteMiId);
rewardReceiveRecordList.add(rewardReceiveRecord);
}
@ -341,7 +341,7 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic
if (Objects.nonNull(publishMarriageBountyReward)) {
BigDecimal receivedAmount = publishMarriageBountyReward.calculateReward(marriageBountyOrderReward.getRewardAmount());
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build(
publishMarriageBountyReward.getRewardType(), rewardPublishMatchmakerUserId, receivedAmount);
publishMarriageBountyReward.getRewardType(), rewardPublishMatchmakerUserId, receivedAmount, new BigDecimal(publishMarriageBountyReward.getValue()));
rewardReceiveRecord.setAssociatedMiId(existMarriageBountyOrder.getMiId());
rewardReceiveRecordList.add(rewardReceiveRecord);
}
@ -353,7 +353,7 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic
if (Objects.nonNull(matchMarriageBountyReward)) {
BigDecimal receivedAmount = matchMarriageBountyReward.calculateReward(marriageBountyOrderReward.getRewardAmount());
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build(
matchMarriageBountyReward.getRewardType(), guestsMatchmakerUserId, receivedAmount);
matchMarriageBountyReward.getRewardType(), guestsMatchmakerUserId, receivedAmount, new BigDecimal(matchMarriageBountyReward.getValue()));
rewardReceiveRecord.setAssociatedMiId(guestsInviteMiId);
rewardReceiveRecordList.add(rewardReceiveRecord);
}

10
dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java

@ -81,9 +81,8 @@ public class RewardApplicationService {
}
//营收额
BigDecimal revenue = RewardConfig.calculatePct(rewardAmount, recommendRewardPct);
rewardAmount = rewardAmount.subtract(revenue);
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE,
revenue, revenue, associateOrder.getSettlementAmount());
revenue, recommendRewardPct, BigDecimal.ZERO, revenue, associateOrder.getSettlementAmount());
revenueRewardRecord.handleContent(Collections.singletonList(StrUtil.isNotBlank(dto.getReceiveUserName()) ? dto.getReceiveUserName() : ""));
RevenueRewardAssociateOrderRecord associateOrderRecord = RevenueRewardAssociateOrderRecord.build(associateOrder.getId(), associateOrder.getSettlementAmount());
revenueRewardRecord.setAssociateOrderRecordList(Collections.singletonList(associateOrderRecord));
@ -176,7 +175,7 @@ public class RewardApplicationService {
serviceFee = serviceFeeRewardConfig.calculateReward(revenue);
BigDecimal earnings = revenue.subtract(serviceFee);
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(tradeType,
revenue, earnings, dto.getTotalAssociateOrderAmount());
revenue, BigDecimal.valueOf(100), new BigDecimal(serviceFeeRewardConfig.getValue()), earnings, dto.getTotalAssociateOrderAmount());
revenueRewardRecord.handleContent(Collections.singletonList(meetingMi.getNickName()));
if (CollUtil.isNotEmpty(dto.getOrderIdRelList())) {
List<RevenueRewardAssociateOrderRecord> associateOrderRecordList = new ArrayList<>();
@ -236,7 +235,7 @@ public class RewardApplicationService {
//营收额
BigDecimal revenue = recommendRewardConfig.calculateReward(amount);
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(tradeType,
revenue, revenue, totalAssociateOrderAmount);
revenue, new BigDecimal(recommendRewardConfig.getValue()), BigDecimal.ZERO, revenue, totalAssociateOrderAmount);
revenueRewardRecord.handleContent(Collections.singletonList(meetingMi.getNickName()));
if (CollUtil.isNotEmpty(orderIdRekList)) {
List<RevenueRewardAssociateOrderRecord> associateOrderRecordList = new ArrayList<>();
@ -278,7 +277,8 @@ public class RewardApplicationService {
//服务费用
serviceFee = serviceFeeRewardConfig.calculateReward(revenue);
BigDecimal earnings = revenue.subtract(serviceFee);
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(tradeType, revenue, earnings, dto.getTotalAssociateOrderAmount());
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(tradeType, revenue, dto.getRevenuePct(),
new BigDecimal(serviceFeeRewardConfig.getValue()), earnings, dto.getTotalAssociateOrderAmount());
revenueRewardRecord.handleContent(Collections.singletonList(associatedMi.getNickName()));
if (CollUtil.isNotEmpty(dto.getOrderIdRelList())) {
List<RevenueRewardAssociateOrderRecord> associateOrderRecordList = new ArrayList<>();

Loading…
Cancel
Save