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; } 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); } 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()) { src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java
@@ -51,6 +51,18 @@ if (CollUtil.isNotEmpty(orders)) { for (YdOrderEntity order : orders) { 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); @@ -71,8 +83,6 @@ updateOrder.setReturnState(2); updateOrder.setId(order.getId()); ydOrderDao.updateById(updateOrder); } } } } 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); } } } 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); } 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; } 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(); } } src/main/java/com/xcong/excoin/rabbit/producer/YunDingProducter.java
New file @@ -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); } }