From 1b44a9a25a51324dba8e8640cb405440f2cf7d48 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 13 May 2021 11:21:32 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/modules/yunding/service/XchProfitService.java | 2
src/main/java/com/xcong/excoin/modules/yunding/vo/YdProductVo.java | 3 +
src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java | 19 ++++++
src/main/java/com/xcong/excoin/rabbit/producer/YunDingProducter.java | 31 ++++++++++
src/main/java/com/xcong/excoin/modules/symbols/service/impl/SymbolsServiceImpl.java | 16 +++++
src/main/java/com/xcong/excoin/common/aop/ExceptionCatchAspect.java | 2
src/main/java/com/xcong/excoin/quartz/job/XchBaseDataUpdateJob.java | 2
src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java | 52 ++++++++++-------
src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java | 6 ++
9 files changed, 110 insertions(+), 23 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/common/aop/ExceptionCatchAspect.java b/src/main/java/com/xcong/excoin/common/aop/ExceptionCatchAspect.java
index c6ceec5..d738caf 100644
--- a/src/main/java/com/xcong/excoin/common/aop/ExceptionCatchAspect.java
+++ b/src/main/java/com/xcong/excoin/common/aop/ExceptionCatchAspect.java
@@ -60,7 +60,7 @@
throw ex;
}
- if ("dev".equals(profiles)) {
+ if ("dev".equals(profiles) || "test".equals(profiles)) {
throw ex;
}
diff --git a/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java b/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java
index 216bcca..d61e5e8 100644
--- a/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java
+++ b/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java
@@ -42,6 +42,10 @@
public static final String ROUTING_KEY_USDT_ADDRESS = "routing_key_usdt_address";
+ public static final String QUEUE_XCH_USDT_PRIFIT = "QUEUE_XCH_USDT_PRIFIT";
+ public static final String ROUTING_KEE_XCH_USDT_PRIFIT = "ROUTING_KEE_XCH_USDT_PRIFIT";
+ public static final String EXCHANGE_XCH = "EXCHANGE_XCH";
+
/**
* 撮合交易
@@ -142,6 +146,21 @@
}
@Bean
+ public DirectExchange xchExchange() {
+ return new DirectExchange(EXCHANGE_XCH);
+ }
+
+ @Bean
+ public Queue xchUsdtProfitQueue() {
+ return new Queue(QUEUE_XCH_USDT_PRIFIT, true);
+ }
+
+ @Bean
+ public Binding xchUsdtProfitBinding() {
+ return BindingBuilder.bind(xchUsdtProfitQueue()).to(xchExchange()).with(ROUTING_KEE_XCH_USDT_PRIFIT);
+ }
+
+ @Bean
public Queue testQueue() {
return new Queue(QUEUE_TEST, true);
}
diff --git a/src/main/java/com/xcong/excoin/modules/symbols/service/impl/SymbolsServiceImpl.java b/src/main/java/com/xcong/excoin/modules/symbols/service/impl/SymbolsServiceImpl.java
index 09c5a42..5557ef4 100644
--- a/src/main/java/com/xcong/excoin/modules/symbols/service/impl/SymbolsServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/symbols/service/impl/SymbolsServiceImpl.java
@@ -105,6 +105,22 @@
for (SymbolEnum symbolEnum : SymbolEnum.values()) {
list.add(getSymbolReturnData(symbolEnum.getValue()));
}
+//
+// HomeSymbolsVo xch = new HomeSymbolsVo();
+// xch.setSymbol("XCH/USDT");
+// BigDecimal xchNewPrice = new BigDecimal(redisUtils.getString("XCH_NEW_PRICE"));
+// xch.setCurrentPrice(xchNewPrice);
+//
+// BigDecimal xchUpDown = new BigDecimal(redisUtils.getString("XCH_UP_DOWN"));
+// xch.setUpOrDown(xchUpDown);
+//
+// PlatformCnyUsdtExchangeEntity cnyUsdtExchange = platformCnyUsdtExchangeDao.getCNYAndUSDTOne();
+// if (cnyUsdtExchange != null) {
+// BigDecimal cnyPrice = xchNewPrice.multiply(cnyUsdtExchange.getValue().add(cnyUsdtExchange.getDiff())).setScale(2, BigDecimal.ROUND_HALF_UP);
+// xch.setCnyPrice(cnyPrice);
+// }
+//
+// list.add(xch);
// 合约行情
} else if (AppContants.HOME_SYMBOLS_CONTRACT == type) {
for (SymbolEnum symbolEnum : SymbolEnum.values()) {
diff --git a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java
index daa9063..a195a60 100644
--- a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java
@@ -51,31 +51,41 @@
if (CollUtil.isNotEmpty(orders)) {
for (YdOrderEntity order : orders) {
- MemberEntity memberEntity = memberDao.selectById(order.getMemberId());
- List<String> inviteIds = StrUtil.split(memberEntity.getRefererIds(), ',');
- List<MemberEntity> agents = memberDao.selectYdParentAgent(inviteIds);
-
- if (CollUtil.isNotEmpty(agents)) {
- Map<Long, BigDecimal> returnRatio = buildReturnRatioObj(agents, 1);
-
- for (Map.Entry<Long, BigDecimal> entry : returnRatio.entrySet()) {
- String conent = "USDT返利";
- BigDecimal amount = order.getAmount().multiply(entry.getValue());
- LogRecordUtils.insertMemberAccountMoneyChangeWithId(entry.getKey(), conent, amount, "USDT", 1, 6, order.getId());
- MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(entry.getKey(), "USDT");
-
- memberWalletCoinDao.updateBlockBalance(walletCoin.getId(), amount, BigDecimal.ZERO, 0);
- }
-
- YdOrderEntity updateOrder = new YdOrderEntity();
- updateOrder.setReturnState(2);
- updateOrder.setId(order.getId());
- ydOrderDao.updateById(updateOrder);
- }
+ usdtProfitDistributor(order);
}
}
}
+ @Override
+ public void usdtProfitDistributorByOrderId(Long id) {
+ YdOrderEntity ydOrderEntity = ydOrderDao.selectById(id);
+ usdtProfitDistributor(ydOrderEntity);
+ }
+
+ private void usdtProfitDistributor(YdOrderEntity order) {
+ MemberEntity memberEntity = memberDao.selectById(order.getMemberId());
+ List<String> inviteIds = StrUtil.split(memberEntity.getRefererIds(), ',');
+ List<MemberEntity> agents = memberDao.selectYdParentAgent(inviteIds);
+
+ if (CollUtil.isNotEmpty(agents)) {
+ Map<Long, BigDecimal> returnRatio = buildReturnRatioObj(agents, 1);
+
+ for (Map.Entry<Long, BigDecimal> entry : returnRatio.entrySet()) {
+ String conent = "USDT返利";
+ BigDecimal amount = order.getAmount().multiply(entry.getValue());
+ LogRecordUtils.insertMemberAccountMoneyChangeWithId(entry.getKey(), conent, amount, "USDT", 1, 6, order.getId());
+ MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(entry.getKey(), "USDT");
+
+ memberWalletCoinDao.updateBlockBalance(walletCoin.getId(), amount, BigDecimal.ZERO, 0);
+ }
+
+ YdOrderEntity updateOrder = new YdOrderEntity();
+ updateOrder.setReturnState(2);
+ updateOrder.setId(order.getId());
+ ydOrderDao.updateById(updateOrder);
+ }
+ }
+
private Map<Long, BigDecimal> buildReturnRatioObj(List<MemberEntity> agents, int type) {
Map<Long, BigDecimal> returnRatio = new HashMap<Long, BigDecimal>();
Long lastId = null;
diff --git a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java
index 13b03c4..0c844f0 100644
--- a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java
@@ -91,6 +91,12 @@
}
for(YdProductVo ydProductVo : records){
ydProductVo.setProfitT(prifitT);
+
+ if(ydProductVo.getTotalT().compareTo(BigDecimal.ZERO) < 1) {
+ ydProductVo.setStatus(2);
+ } else {
+ ydProductVo.setStatus(1);
+ }
}
}
diff --git a/src/main/java/com/xcong/excoin/modules/yunding/service/XchProfitService.java b/src/main/java/com/xcong/excoin/modules/yunding/service/XchProfitService.java
index fa9a50e..199cf4f 100644
--- a/src/main/java/com/xcong/excoin/modules/yunding/service/XchProfitService.java
+++ b/src/main/java/com/xcong/excoin/modules/yunding/service/XchProfitService.java
@@ -8,6 +8,8 @@
void agentUsdtProfitDistributor();
+ void usdtProfitDistributorByOrderId(Long id);
+
void xchProfitDistributor(BigDecimal totalPrifit);
}
diff --git a/src/main/java/com/xcong/excoin/modules/yunding/vo/YdProductVo.java b/src/main/java/com/xcong/excoin/modules/yunding/vo/YdProductVo.java
index 427b509..b77d9c9 100644
--- a/src/main/java/com/xcong/excoin/modules/yunding/vo/YdProductVo.java
+++ b/src/main/java/com/xcong/excoin/modules/yunding/vo/YdProductVo.java
@@ -125,4 +125,7 @@
@ApiModelProperty("终止日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date endTime;
+
+ @ApiModelProperty("状态 1-在售 2-售罄")
+ private Integer status;
}
diff --git a/src/main/java/com/xcong/excoin/quartz/job/XchBaseDataUpdateJob.java b/src/main/java/com/xcong/excoin/quartz/job/XchBaseDataUpdateJob.java
index 1a66dd4..b4ea8f0 100644
--- a/src/main/java/com/xcong/excoin/quartz/job/XchBaseDataUpdateJob.java
+++ b/src/main/java/com/xcong/excoin/quartz/job/XchBaseDataUpdateJob.java
@@ -112,6 +112,6 @@
// @Scheduled(cron = "0 0 22 * * ?")
public void usdtProfitJob() {
log.info("USDT返利任务");
- xchProfitService.agentUsdtProfitDistributor();
+// xchProfitService.agentUsdtProfitDistributor();
}
}
diff --git a/src/main/java/com/xcong/excoin/rabbit/producer/YunDingProducter.java b/src/main/java/com/xcong/excoin/rabbit/producer/YunDingProducter.java
new file mode 100644
index 0000000..261dea0
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/rabbit/producer/YunDingProducter.java
@@ -0,0 +1,31 @@
+package com.xcong.excoin.rabbit.producer;
+
+import cn.hutool.core.util.IdUtil;
+import com.xcong.excoin.configurations.RabbitMqConfig;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.amqp.rabbit.connection.CorrelationData;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+public class YunDingProducter implements RabbitTemplate.ConfirmCallback {
+ @Override
+ public void confirm(CorrelationData correlationData, boolean b, String s) {
+
+ }
+
+ private RabbitTemplate rabbitTemplate;
+
+ @Autowired
+ public YunDingProducter(RabbitTemplate rabbitTemplate) {
+ this.rabbitTemplate = rabbitTemplate;
+ rabbitTemplate.setConfirmCallback(this);
+ }
+
+ public void sendYunDingUsdtProfit(Long id) {
+ CorrelationData correlationData = new CorrelationData(IdUtil.simpleUUID());
+ rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_XCH, RabbitMqConfig.ROUTING_KEE_XCH_USDT_PRIFIT, id.toString(), correlationData);
+ }
+}
--
Gitblit v1.9.1