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