From 66a26f30ab81d5074ada7093a93339287db7c2aa Mon Sep 17 00:00:00 2001 From: Derran Date: Sat, 19 Apr 2025 17:48:27 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=B8=E4=BA=B2=E8=A7=92=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rewardconfig/constant/RewardTypeEnum.java | 31 +++++++------ .../RevenueRewardEventHandler.java | 46 +++++++++++++++++++ .../infrastructure/constant/MqExchange.java | 2 + .../dam/infrastructure/constant/MqQueue.java | 2 + 4 files changed, 68 insertions(+), 13 deletions(-) create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/revenuereward/RevenueRewardEventHandler.java diff --git a/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/rewardconfig/constant/RewardTypeEnum.java b/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/rewardconfig/constant/RewardTypeEnum.java index 701e694..963fe5a 100644 --- a/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/rewardconfig/constant/RewardTypeEnum.java +++ b/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/rewardconfig/constant/RewardTypeEnum.java @@ -67,11 +67,11 @@ public enum RewardTypeEnum { /** * 红娘到期续费保护周期 */ - MATCHMAKER_PARTNER_RENEW_VALIDITY_PERIOD(126,"高级红娘续费保护周期"), + MATCHMAKER_PARTNER_RENEW_VALIDITY_PERIOD(126, "高级红娘续费保护周期"), - MATCHMAKER_ONLINE_RENEW_VALIDITY_PERIOD(127,"线上红娘续费保护周期"), + MATCHMAKER_ONLINE_RENEW_VALIDITY_PERIOD(127, "线上红娘续费保护周期"), - MATCHMAKER_TRAINEE_RENEW_VALIDITY_PERIOD(128,"实习红娘续费保护周期"), + MATCHMAKER_TRAINEE_RENEW_VALIDITY_PERIOD(128, "实习红娘续费保护周期"), // 2** 服务费 @@ -90,27 +90,32 @@ public enum RewardTypeEnum { // 3** 招亲榜 MarriageBounty //低消 - MARRIAGE_BOUNTY_MEETING_MIN_AMOUNT(301,"招亲榜-见面低消"), + MARRIAGE_BOUNTY_MEETING_MIN_AMOUNT(301, "招亲榜-见面低消"), - MARRIAGE_BOUNTY_DATING_MIN_AMOUNT(302,"招亲榜-牵手低消"), + 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_MEETING_VALIDITY_PERIOD(304, "招亲榜-见面服务有效期"), - MARRIAGE_BOUNTY_DATING_VALIDITY_PERIOD(305,"招亲榜-牵手服务有效期"), + MARRIAGE_BOUNTY_DATING_VALIDITY_PERIOD(305, "招亲榜-牵手服务有效期"), - MARRIAGE_BOUNTY_MARRIAGE_VALIDITY_PERIOD(306,"招亲榜-结婚服务有效期"), + MARRIAGE_BOUNTY_MARRIAGE_VALIDITY_PERIOD(306, "招亲榜-结婚服务有效期"), //周期保护 红娘升级补差价周期 红娘推荐奖励周期 用户发榜红娘奖励周期 用户升级红娘邀请奖励周期 - MATCHMAKER_UPGRADE_PROTECTION_PERIOD(401,"红娘升级保护周期"), + MATCHMAKER_UPGRADE_PROTECTION_PERIOD(401, "红娘升级保护周期"), - MATCHMAKER_RECOMMEND_PROTECTION_PERIOD(402,"红娘推荐奖励保护周期"), + MATCHMAKER_RECOMMEND_PROTECTION_PERIOD(402, "红娘推荐奖励保护周期"), - MARRIAGE_BOUNTY_MATCHMAKER_PROTECTION_PERIOD(403,"发榜红娘奖励保护周期"), + MARRIAGE_BOUNTY_MATCHMAKER_PROTECTION_PERIOD(403, "发榜红娘奖励保护周期"), - GUEST_JOIN_MATCHMAKER_RECOMMEND_PROTECTION_PERIOD(404,"嘉宾成为红娘邀请奖励保护周期"); + GUEST_JOIN_MATCHMAKER_RECOMMEND_PROTECTION_PERIOD(404, "嘉宾成为红娘邀请奖励保护周期"), + + //服务商推荐费 + NON_OPERATING_RECOMMEND(501, "非经营性质推荐收益"), + + NON_OPERATING_PIPELINE_REVENUE(502, "非经营性质管道收益"); @EnumValue @JsonValue diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/revenuereward/RevenueRewardEventHandler.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/revenuereward/RevenueRewardEventHandler.java new file mode 100644 index 0000000..f11917d --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/revenuereward/RevenueRewardEventHandler.java @@ -0,0 +1,46 @@ +package com.qniao.dam.application.handler.revenuereward; + +import com.qniao.dam.infrastructure.constant.MqExchange; +import com.qniao.dam.infrastructure.constant.MqQueue; +import com.qniao.dam.query.rewardconfig.RewardConfigQueryService; +import com.qniao.dau.domian.aggregate.store.event.StoreCreatedMQ; +import com.qniao.domain.BaseApplicationService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.core.ExchangeTypes; +import org.springframework.amqp.rabbit.annotation.Exchange; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.QueueBinding; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.Objects; + +@Component +@Slf4j +public class RevenueRewardEventHandler extends BaseApplicationService { + + @Resource + private RewardConfigQueryService rewardConfigQueryService; + + @RabbitListener(bindings = @QueueBinding(value = @Queue(MqQueue.STORE_CREATED), + exchange = @Exchange(value = MqExchange.STORE_CREATED, + type = ExchangeTypes.FANOUT))) + public void handle(StoreCreatedMQ mq) { + try { + if (Objects.nonNull(mq.getFranchiseFee()) && mq.getFranchiseFee().compareTo(BigDecimal.ZERO) > 0) { + if (mq.getOperationCenterOrgId().equals(mq.getRecommendServiceProviderOrgId())) { + //经营性质推荐 + //推荐服务商回本前 100%获得 + //推荐服务商回本后 先提取50%,剩余20需要被推荐服务商回本50%后才能提取 + } else { + //非经营性质推荐 + //推荐服务商直接拿取20%,被推荐服务商回本后获得1%管道收益 + } + } + } catch (Exception e) { + log.error("门店已创建事件处理异常", e); + } + } +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqExchange.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqExchange.java index aafad13..d8603d3 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqExchange.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqExchange.java @@ -25,4 +25,6 @@ public interface MqExchange { String SITE_ACTIVITY_PARTICIPANT_SETTLED = "fanout.siteActivityParticipantSettled"; String MATCHMAKING_CORNER_PAID = "fanout.matchmakingCornerPaid"; + + String STORE_CREATED = "fanout.storeCreated"; } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqQueue.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqQueue.java index c75bb9c..b2b2163 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqQueue.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqQueue.java @@ -19,4 +19,6 @@ public interface MqQueue { String POINT_REWARD_CREATED = MqExchange.POINT_REWARD_CREATED + serviceName; String SITE_ACTIVITY_PARTICIPANT_SETTLED = MqExchange.SITE_ACTIVITY_PARTICIPANT_SETTLED + serviceName; + + String STORE_CREATED = MqExchange.STORE_CREATED + serviceName; }