Browse Source

悬赏招亲

master
张彭杰 1 year ago
parent
commit
740fbf3c1e
8 changed files with 38 additions and 27 deletions
  1. 4
      dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/rewardconfig/constant/RewardAmountUnitEnum.java
  2. 9
      dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/rewardconfig/constant/RewardTypeEnum.java
  3. 13
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rewardconfig/entity/RewardConfig.java
  4. 4
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rewardconfig/user/request/UserEditRewardConfigDto.java
  5. 4
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rewardconfig/user/response/UserGetRewardConfigDetailVo.java
  6. 17
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/marriagebounty/MarriageBountyOrderApplicationService.java
  7. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java
  8. 2
      dating-agency-mall-server/src/main/resources/mapper/rewardconfig/WalletAccountAssociateOrderRecordDao.xml

4
dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/rewardconfig/constant/RewardAmountUnitEnum.java

@ -12,7 +12,9 @@ public enum RewardAmountUnitEnum {
NUM(1, "数值"),
PERCENT(2, "百分比");
PERCENT(2, "百分比"),
MONTH(3, "月");
@EnumValue
@JsonValue

9
dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/rewardconfig/constant/RewardTypeEnum.java

@ -35,11 +35,18 @@ public enum RewardTypeEnum {
PLATFORM_SERVICE_STORE_UPGRADE_REWARD(204, "平台服务费门店升级佣金"),
// 3** 招亲榜 MarriageBounty
//低消
MARRIAGE_BOUNTY_MEETING_MIN_AMOUNT(301, "招亲榜-见面低消"),
MARRIAGE_BOUNTY_DATING_MIN_AMOUNT(302, "招亲榜-牵手低消"),
MARRIAGE_BOUNTY_MARRIAGE_MIN_AMOUNT(303, "招亲榜-结婚低消");
MARRIAGE_BOUNTY_MARRIAGE_MIN_AMOUNT(303, "招亲榜-结婚低消"),
//服务退款有效期
MARRIAGE_BOUNTY_MEETING_VALIDITY_PERIOD(304, "招亲榜-见面服务有效期"),
MARRIAGE_BOUNTY_DATING_VALIDITY_PERIOD(305, "招亲榜-牵手服务有效期"),
MARRIAGE_BOUNTY_MARRIAGE_VALIDITY_PERIOD(306, "招亲榜-结婚服务有效期");
// 4** 红娘合伙人

13
dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rewardconfig/entity/RewardConfig.java

@ -22,14 +22,17 @@ public class RewardConfig extends Entity<RewardConfig> {
@ApiModelProperty("奖励金额单位")
private RewardAmountUnitEnum rewardAmountUnit;
@ApiModelProperty("奖励金额")
private BigDecimal rewardAmount;
// @ApiModelProperty("奖励金额")
// private BigDecimal rewardAmount;
public BigDecimal calculate(BigDecimal amount) {
@ApiModelProperty("值")
private String value;
public BigDecimal calculateReward(BigDecimal amount) {
if (RewardAmountUnitEnum.NUM.equals(rewardAmountUnit)) {
return rewardAmount;
return new BigDecimal(value);
} else {
return amount.multiply(rewardAmount).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP);
return amount.multiply(new BigDecimal(value)).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP);
}
}
}

4
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rewardconfig/user/request/UserEditRewardConfigDto.java

@ -24,8 +24,8 @@ public class UserEditRewardConfigDto implements Trans2DomainAssembler<RewardConf
@ApiModelProperty("奖励金额单位")
private RewardAmountUnitEnum rewardAmountUnit;
@ApiModelProperty("奖励金额")
private BigDecimal rewardAmount;
@ApiModelProperty("")
private String value;
@Override
public RewardConfig trans2Domain() {

4
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rewardconfig/user/response/UserGetRewardConfigDetailVo.java

@ -18,7 +18,7 @@ public class UserGetRewardConfigDetailVo {
@ApiModelProperty("奖励类型")
private RewardTypeEnum rewardType;
@ApiModelProperty("奖励金额")
private BigDecimal rewardAmount;
@ApiModelProperty("")
private String value;
}

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

@ -26,7 +26,6 @@ import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum;
import com.qniao.dam.domian.aggregate.rewardconfig.constant.RewardTypeEnum;
import com.qniao.dam.infrastructure.persistent.dao.domain.ProductSpecDao;
import com.qniao.dam.query.marriagebounty.MarriageBountyOrderQueryService;
import com.qniao.dam.query.order.OrderQueryService;
import com.qniao.dam.query.paymentchannelorder.PaymentChannelOrderQueryService;
import com.qniao.dam.query.paymentorder.PaymentOrderQueryService;
import com.qniao.dam.query.rewardconfig.RewardConfigQueryService;
@ -207,14 +206,14 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic
RewardConfig guestCertificationReward = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.GUEST_CERTIFICATION);
if (Objects.nonNull(guestCertificationReward)) {
if (Objects.nonNull(rewardInviteUserId)) {
BigDecimal receivedAmount = guestCertificationReward.calculate(marriageBountyOrderReward.getRewardAmount());
BigDecimal receivedAmount = guestCertificationReward.calculateReward(marriageBountyOrderReward.getRewardAmount());
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build(
RewardTypeEnum.GUEST_CERTIFICATION, rewardInviteUserId, receivedAmount);
rewardReceiveRecord.setAssociatedMiId(existMarriageBountyOrder.getMiId());
rewardReceiveRecordList.add(rewardReceiveRecord);
}
if (Objects.nonNull(guestsInviteUserId)) {
BigDecimal receivedAmount = guestCertificationReward.calculate(marriageBountyOrderReward.getRewardAmount());
BigDecimal receivedAmount = guestCertificationReward.calculateReward(marriageBountyOrderReward.getRewardAmount());
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build(
RewardTypeEnum.GUEST_CERTIFICATION, guestsInviteUserId, receivedAmount);
rewardReceiveRecord.setAssociatedMiId(guestsInviteMiId);
@ -225,7 +224,7 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic
RewardConfig publishMarriageBountyReward = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.PUBLISH_MARRIAGE_BOUNTY);
if (Objects.nonNull(publishMarriageBountyReward)) {
if (Objects.nonNull(rewardPublishMatchmakerUserId)) {
BigDecimal receivedAmount = publishMarriageBountyReward.calculate(marriageBountyOrderReward.getRewardAmount());
BigDecimal receivedAmount = publishMarriageBountyReward.calculateReward(marriageBountyOrderReward.getRewardAmount());
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build(
RewardTypeEnum.PUBLISH_MARRIAGE_BOUNTY, rewardPublishMatchmakerUserId, receivedAmount);
rewardReceiveRecord.setAssociatedMiId(existMarriageBountyOrder.getMiId());
@ -236,7 +235,7 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic
RewardConfig matchMarriageBountyReward = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.MATCH_MARRIAGE_BOUNTY);
if (Objects.nonNull(matchMarriageBountyReward)) {
if (Objects.nonNull(guestsMatchmakerUserId)) {
BigDecimal receivedAmount = matchMarriageBountyReward.calculate(marriageBountyOrderReward.getRewardAmount());
BigDecimal receivedAmount = matchMarriageBountyReward.calculateReward(marriageBountyOrderReward.getRewardAmount());
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build(
RewardTypeEnum.MATCH_MARRIAGE_BOUNTY, guestsMatchmakerUserId, receivedAmount);
rewardReceiveRecord.setAssociatedMiId(guestsInviteMiId);
@ -289,14 +288,14 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic
RewardConfig guestCertificationReward = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.GUEST_CERTIFICATION);
if (Objects.nonNull(guestCertificationReward)) {
if (Objects.nonNull(rewardInviteUserId)) {
BigDecimal receivedAmount = guestCertificationReward.calculate(marriageBountyOrderReward.getRewardAmount());
BigDecimal receivedAmount = guestCertificationReward.calculateReward(marriageBountyOrderReward.getRewardAmount());
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build(
RewardTypeEnum.GUEST_CERTIFICATION, rewardInviteUserId, receivedAmount);
rewardReceiveRecord.setAssociatedMiId(existMarriageBountyOrder.getMiId());
rewardReceiveRecordList.add(rewardReceiveRecord);
}
if (Objects.nonNull(guestsInviteUserId)) {
BigDecimal receivedAmount = guestCertificationReward.calculate(marriageBountyOrderReward.getRewardAmount());
BigDecimal receivedAmount = guestCertificationReward.calculateReward(marriageBountyOrderReward.getRewardAmount());
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build(
RewardTypeEnum.GUEST_CERTIFICATION, guestsInviteUserId, receivedAmount);
rewardReceiveRecord.setAssociatedMiId(guestsInviteMiId);
@ -307,7 +306,7 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic
RewardConfig publishMarriageBountyReward = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.PUBLISH_MARRIAGE_BOUNTY);
if (Objects.nonNull(publishMarriageBountyReward)) {
if (Objects.nonNull(rewardPublishMatchmakerUserId)) {
BigDecimal receivedAmount = publishMarriageBountyReward.calculate(marriageBountyOrderReward.getRewardAmount());
BigDecimal receivedAmount = publishMarriageBountyReward.calculateReward(marriageBountyOrderReward.getRewardAmount());
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build(
RewardTypeEnum.PUBLISH_MARRIAGE_BOUNTY, rewardPublishMatchmakerUserId, receivedAmount);
rewardReceiveRecord.setAssociatedMiId(existMarriageBountyOrder.getMiId());
@ -318,7 +317,7 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic
RewardConfig matchMarriageBountyReward = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.MATCH_MARRIAGE_BOUNTY);
if (Objects.nonNull(matchMarriageBountyReward)) {
if (Objects.nonNull(guestsMatchmakerUserId)) {
BigDecimal receivedAmount = matchMarriageBountyReward.calculate(marriageBountyOrderReward.getRewardAmount());
BigDecimal receivedAmount = matchMarriageBountyReward.calculateReward(marriageBountyOrderReward.getRewardAmount());
MarriageBountyOrderRewardReceiveRecord rewardReceiveRecord = MarriageBountyOrderRewardReceiveRecord.build(
RewardTypeEnum.MATCH_MARRIAGE_BOUNTY, guestsMatchmakerUserId, receivedAmount);
rewardReceiveRecord.setAssociatedMiId(guestsInviteMiId);

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

@ -78,7 +78,7 @@ public class RewardApplicationService {
revenueReward = RevenueReward.initUser(dto.getInitiatorUserId());
}
//营收额
BigDecimal revenue = recommendRewardConfig.calculate(rewardAmount);
BigDecimal revenue = recommendRewardConfig.calculateReward(rewardAmount);
rewardAmount = rewardAmount.subtract(revenue);
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE,
revenue, revenue, associateOrder.getSettlementAmount());
@ -105,7 +105,7 @@ public class RewardApplicationService {
//收益信息
RevenueReward revenueReward = revenueRewardQueryService.queryByOrgId(dto.getStoreOrgId());
//营收额
BigDecimal revenue = recommendRewardConfig.calculate(rewardAmount);
BigDecimal revenue = recommendRewardConfig.calculateReward(rewardAmount);
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE,
revenue, revenue, associateOrder.getSettlementAmount());
revenueRewardRecord.handleContent(Collections.singletonList(StrUtil.isNotBlank(associateOrder.getOrderBelongName()) ? associateOrder.getOrderBelongName() : ""));
@ -131,7 +131,7 @@ public class RewardApplicationService {
//收益信息
RevenueReward revenueReward = revenueRewardQueryService.queryByOrgId(dto.getOperationCenterOrgId());
//营收额
BigDecimal revenue = recommendRewardConfig.calculate(rewardAmount);
BigDecimal revenue = recommendRewardConfig.calculateReward(rewardAmount);
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE,
revenue, revenue, associateOrder.getSettlementAmount());
revenueRewardRecord.handleContent(Collections.singletonList(StrUtil.isNotBlank(associateOrder.getOrderBelongName()) ? associateOrder.getOrderBelongName() : ""));
@ -170,7 +170,7 @@ public class RewardApplicationService {
//营收额
BigDecimal revenue = dto.getReceivedAmount();
//服务费用
serviceFee = serviceFeeRewardConfig.calculate(revenue);
serviceFee = serviceFeeRewardConfig.calculateReward(revenue);
BigDecimal earnings = revenue.subtract(serviceFee);
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(tradeType,
revenue, earnings, dto.getTotalAssociateOrderAmount());
@ -231,7 +231,7 @@ public class RewardApplicationService {
//收益信息
RevenueReward revenueReward = revenueRewardQueryService.queryByType(identityId, identityType);
//营收额
BigDecimal revenue = recommendRewardConfig.calculate(amount);
BigDecimal revenue = recommendRewardConfig.calculateReward(amount);
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(tradeType,
revenue, revenue, totalAssociateOrderAmount);
revenueRewardRecord.handleContent(Collections.singletonList(meetingMi.getNickName()));
@ -273,7 +273,7 @@ public class RewardApplicationService {
//营收额
BigDecimal revenue = dto.getReceivedAmount();
//服务费用
serviceFee = serviceFeeRewardConfig.calculate(revenue);
serviceFee = serviceFeeRewardConfig.calculateReward(revenue);
BigDecimal earnings = revenue.subtract(serviceFee);
RevenueRewardRecord revenueRewardRecord = RevenueRewardRecord.build(tradeType, revenue, earnings, dto.getTotalAssociateOrderAmount());
revenueRewardRecord.handleContent(Collections.singletonList(associatedMi.getNickName()));

2
dating-agency-mall-server/src/main/resources/mapper/rewardconfig/WalletAccountAssociateOrderRecordDao.xml

@ -7,7 +7,7 @@
select
id,
reward_type,
reward_amount
value
from da_reward_config
where is_delete=0
<if test="queryParams.id != null">

Loading…
Cancel
Save