From d41bbcde17f899035aff34890cafeda2cc23d30e Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Sat, 08 Apr 2023 12:32:33 +0800
Subject: [PATCH] 设置内转开关
---
src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java | 2 +-
src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java | 7 ++++---
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java | 16 ++++++++++++++++
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 1 +
src/main/java/cc/mrbird/febs/rabbit/constants/QueueConstants.java | 2 +-
src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java | 2 +-
6 files changed, 24 insertions(+), 6 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java b/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
index 50797b6..1e7d307 100644
--- a/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
+++ b/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
@@ -90,10 +90,10 @@
public Binding autoLevelUpBind() {
return BindingBuilder.bind(autoLevelUpAgentQueue()).to(defaultExchange()).with(RouteKeyConstants.ROUTE_KEY_DEFAULT);
}
-
+ // 订单返利 开始
@Bean
public DirectExchange agentReturnMoneyExchange() {
- return new DirectExchange(RabbitQueueEnum.AGENT_REUTRN_MONEY.getExchange());
+ return new DirectExchange(RabbitQueueEnum.AGENT_RETURN_MONEY.getExchange());
}
@Bean
@@ -103,8 +103,9 @@
@Bean
public Binding agentReturnMoneyBind() {
- return BindingBuilder.bind(agentReturnMoneyQueue()).to(agentReturnMoneyExchange()).with(RabbitQueueEnum.AGENT_REUTRN_MONEY.getRoute());
+ return BindingBuilder.bind(agentReturnMoneyQueue()).to(agentReturnMoneyExchange()).with(RabbitQueueEnum.AGENT_RETURN_MONEY.getRoute());
}
+ // 订单返利 结束
@Bean
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
index bde3d03..214b3a8 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -278,6 +278,11 @@
String levelNormal = MemberLevelEnum.NORMAL.getType();
BigDecimal cashPercentNormal = BigDecimal.ZERO;
BigDecimal scorePercentNormal = BigDecimal.ZERO;
+
+ DataDictionaryCustom poolScorePriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ PerkEnum.POOL_SCORE_PRICE.getType(),
+ PerkEnum.POOL_SCORE_PRICE.getCode());
+ BigDecimal poolScorePrice = new BigDecimal(poolScorePriceDic.getValue() == null ? "1" : poolScorePriceDic.getValue());
for(MallMember teamPerkMember : mallMemberTeamPerk){
String level = teamPerkMember.getLevel();
//比较两个级别的大小,level大于levelNormal返回1
@@ -295,7 +300,10 @@
scorePercent = scorePercent.subtract(scorePercentNormal);
BigDecimal cashAmount = amountTC.multiply(cashPercent).setScale(2, BigDecimal.ROUND_DOWN);
+
+ //如果是积分,除以当前价格,得到数量。
BigDecimal scoreCnt = amountTC.multiply(scorePercent).setScale(2, BigDecimal.ROUND_DOWN);
+ scoreCnt = scoreCnt.divide(poolScorePrice, 2 ,BigDecimal.ROUND_DOWN);
if(cashAmount.compareTo(BigDecimal.ZERO) > 0){
addWalletInfoAndMoneyFlow(cashAmount,
teamPerkMemberId,
@@ -340,6 +348,14 @@
BigDecimal perkEnumDicPercent = new BigDecimal(perkEnumDic.getValue() == null ? "0" : perkEnumDic.getValue());
//获得数量
BigDecimal perkEnumDicPercentPerk = perkEnumDicPercent.multiply(AppContants.PERCENTAGE).multiply(amountTC).setScale(2, BigDecimal.ROUND_DOWN);
+ //如果是积分,除以当前价格,得到数量。
+ if(walletField.equals("score")){
+ DataDictionaryCustom poolScorePriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ PerkEnum.POOL_SCORE_PRICE.getType(),
+ PerkEnum.POOL_SCORE_PRICE.getCode());
+ BigDecimal poolScorePrice = new BigDecimal(poolScorePriceDic.getValue() == null ? "1" : poolScorePriceDic.getValue());
+ perkEnumDicPercentPerk = perkEnumDicPercentPerk.divide(poolScorePrice, 2 ,BigDecimal.ROUND_DOWN);
+ }
if(perkEnumDicPercentPerk.compareTo(BigDecimal.ZERO) > 0){
addWalletInfoAndMoneyFlow(perkEnumDicPercentPerk,memberId,walletField,type,flowType,orderNo);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index 9e6f74b..aa6ff88 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -366,6 +366,7 @@
mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
agentProducer.sendAutoLevelUpMsg(member.getId());
agentProducer.sendOrderReturn(orderInfo.getId());
+ agentProducer.sendReturnMoneyMsg(orderInfo.getId());
break;
case "4":
if (orderInfo.getOrderType() != 2) {
diff --git a/src/main/java/cc/mrbird/febs/rabbit/constants/QueueConstants.java b/src/main/java/cc/mrbird/febs/rabbit/constants/QueueConstants.java
index 47cee57..69b8301 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/constants/QueueConstants.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/constants/QueueConstants.java
@@ -8,6 +8,6 @@
public static final String QUEUE_DEFAULT = "queue_default";
public static final String AGENT_AUTO_LEVEL_UP = "queue_agent_auto_level_up";
- public static final String AGENT_RETURN_MONEY = "queue_agent_return_money";
+ public static final String AGENT_RETURN_MONEY = "queue_h_agent_return_money";
public static final String ORDER_RETURN_MONEY = "queue_order_return_money";
}
diff --git a/src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java b/src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java
index 90122ca..adfbda4 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java
@@ -10,7 +10,7 @@
ORDER_CANCEL_DELAY_TTL("exchange_order_delay_ttl", "route_key_order_delay_ttl", "queue_order_delay_ttl"),
ORDER_CANCEL_DELAY("exchange_order_delay", "route_key_order_delay", "queue_order_delay"),
- AGENT_REUTRN_MONEY("exchange_agent_return_money", "route_key_agent_return_money", "queue_agent_return_money"),
+ AGENT_RETURN_MONEY("exchange_h_agent_return_money", "route_key_h_agent_return_money", "queue_h_agent_return_money"),
ORDER_RETURN_MONEY("exchange_order_return_money", "route_key_order_return_money", "queue_order_return_money");
diff --git a/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java b/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java
index 0ddb24b..f859499 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java
@@ -74,6 +74,6 @@
public void sendReturnMoneyMsg(Long orderId) {
log.info("发送返利消息:{}", orderId);
- rabbitTemplate.convertAndSend(RabbitQueueEnum.AGENT_REUTRN_MONEY.getExchange(), RabbitQueueEnum.AGENT_REUTRN_MONEY.getRoute(), orderId);
+ rabbitTemplate.convertAndSend(RabbitQueueEnum.AGENT_RETURN_MONEY.getExchange(), RabbitQueueEnum.AGENT_RETURN_MONEY.getRoute(), orderId);
}
}
--
Gitblit v1.9.1