xiaoyong931011
2020-06-07 3312b506e4f3a840623071ab56fa8ec68816a811
Merge branch 'master' of https://gitee.com/chonggaoxiao/new_excoin.git
12 files modified
64 ■■■■ changed files
src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/entity/ContractOrderEntity.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/mapper/ContractHoldOrderEntityMapper.java 1 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/parameter/vo/HoldOrderDetailVo.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderDetailVo.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderListVo.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java 12 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/quartz/job/UsdtCnyExchangePriceUpdateJob.java 3 ●●●●● patch | view | raw | blame | history
src/main/resources/application-test.yml 6 ●●●● patch | view | raw | blame | history
src/main/resources/application.yml 4 ●●●● patch | view | raw | blame | history
src/test/java/com/xcong/excoin/RabbitMqTest.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java
@@ -184,9 +184,9 @@
         */
        //获取当前的合约持仓
        //获取实时盈亏
        BigDecimal profitAndLoss = new BigDecimal("50.000");
        BigDecimal profitAndLoss = new BigDecimal("0");
        //获取总付款
        BigDecimal totalPayment = new BigDecimal("50.000");
        BigDecimal totalPayment = new BigDecimal("0");
        BigDecimal lastTotalBalance = new BigDecimal("0");
        BigDecimal totalBalance = walletContract.getTotalBalance();
        lastTotalBalance = totalBalance.add(profitAndLoss);
src/main/java/com/xcong/excoin/modules/contract/entity/ContractOrderEntity.java
@@ -1,5 +1,8 @@
package com.xcong.excoin.modules.contract.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xcong.excoin.common.system.base.BaseEntity;
import lombok.Data;
@@ -31,6 +34,11 @@
     * 订单状态 撤单
     */
    public static final int ORDER_STATUS_CANCEL = 2;
    /**
     * 订单状态 成交
     */
    public static final int ORDER_STATUS_SUCCESS = 1;
    /**
     * 订单类型 开多
@@ -81,7 +89,7 @@
    /**
     * 订单状态 - 1成交 2撤单
     */
    private int orderStatus;
    private int orderStatus = 1;
    /**
     * 委托开仓价
src/main/java/com/xcong/excoin/modules/contract/mapper/ContractHoldOrderEntityMapper.java
@@ -22,5 +22,6 @@
    public abstract HoldOrderListVo holdOrderToDto(ContractHoldOrderEntity holdOrderEntity);
    @Mapping(target = "openingTime", source = "createTime")
    public abstract HoldOrderDetailVo holdOrderToOrderDetailVo(ContractHoldOrderEntity holdOrderEntity);
}
src/main/java/com/xcong/excoin/modules/contract/parameter/vo/HoldOrderDetailVo.java
@@ -59,4 +59,8 @@
    @ApiModelProperty("止盈价")
    private BigDecimal stopProfitPrice;
    @ApiModelProperty("倍率杠杆")
    private int leverRatio;
}
src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderDetailVo.java
@@ -78,4 +78,7 @@
    @ApiModelProperty("持仓费")
    private BigDecimal holdAmount;
    @ApiModelProperty("杠杆")
    private int leverRatio;
}
src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderListVo.java
@@ -42,7 +42,7 @@
    private int symbolCnt;
    @ApiModelProperty("已实现盈亏")
    private BigDecimal rewardRatio;
    private BigDecimal rewardAmount;
    @ApiModelProperty("平仓类型 2平多3平空4爆仓平多5爆仓平空6止盈平多7止盈平空8止损平多9止损平空")
    private int closingType;
src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java
@@ -188,6 +188,7 @@
                        contractOrderEntity.setClosingFeeAmount(order.getOpeningFeeAmount());
                        contractOrderEntity.setClosingPrice(closePrice);
                        contractOrderEntity.setClosingType(6);
                        contractOrderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CLOSE_MORE);
                        BigDecimal totalReturn = BigDecimal.ZERO;
                        contractOrderService.save(contractOrderEntity);
@@ -277,6 +278,7 @@
                        contractOrderEntity.setClosingFeeAmount(order.getOpeningFeeAmount());
                        contractOrderEntity.setClosingPrice(closePrice);
                        contractOrderEntity.setClosingType(7);
                        contractOrderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CLOSE_MORE);
                        BigDecimal totalReturn = BigDecimal.ZERO;
                        contractOrderService.save(contractOrderEntity);
@@ -367,6 +369,7 @@
                        contractOrderEntity.setRewardRatio(returnRate);
                        contractOrderEntity.setClosingFeeAmount(order.getOpeningFeeAmount());
                        contractOrderEntity.setClosingPrice(closePrice);
                        contractOrderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CLOSE_MORE);
                        contractOrderEntity.setClosingType(8);
                        BigDecimal totalReturn = BigDecimal.ZERO;
                        contractOrderService.save(contractOrderEntity);
@@ -458,6 +461,7 @@
                        contractOrderEntity.setClosingFeeAmount(order.getOpeningFeeAmount());
                        contractOrderEntity.setClosingPrice(closePrice);
                        contractOrderEntity.setClosingType(9);
                        contractOrderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CLOSE_LESS);
                        BigDecimal totalReturn = BigDecimal.ZERO;
                        contractOrderService.save(contractOrderEntity);
@@ -554,6 +558,7 @@
                contractOrderEntity.setEntrustOpeningPrice(coinsCoinsOrder.getEntrustPrice());
                contractOrderEntity.setEntrustTime(coinsCoinsOrder.getCreateTime());
                contractOrderEntity.setOpeningTime(new Date());
                contractOrderEntity.setId(null);
                contractOrderService.save(contractOrderEntity);
                // 发送爆仓的队列
@@ -621,7 +626,12 @@
                if (isDone) {
                    //删除次仓订单
                    contractHoldOrderService.removeById(orderId);
                    // 订单状态转换
                    if (ContractOrderEntity.ORDER_TYPE_OPEN_MORE == contractOrderEntity.getOrderType()) {
                        contractOrderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CLOSE_MORE);
                    } else {
                        contractOrderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CLOSE_LESS);
                    }
                    //更新主表订单状态位为“已平仓”
                    contractOrderEntity.setId(null);
                    contractOrderEntity.setClosingPrice(nowPrice);
src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
@@ -133,14 +133,8 @@
            contractOrderEntity.setRewardRatio(rewardRatio);
            contractOrderDao.insert(contractOrderEntity);
            log.info("盈亏:{}", profitOrLoss);
            log.info("手续费:{}", holdOrderEntity.getOpeningFeeAmount());
            log.info("保证金:{}", holdOrderEntity.getBondAmount());
            // 计算盈利或亏损后可用金额和总金额应该增加或减少的
            BigDecimal addMoney = holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getOpeningFeeAmount()).add(profitOrLoss);
            log.info("金额:{}", addMoney);
            log.info("----->:{}", contractOrderEntity.getOpeningFeeAmount());
            memberWalletContractDao.increaseWalletContractBalanceById(addMoney, profitOrLoss.subtract(contractOrderEntity.getOpeningFeeAmount()), null, walletContract.getId());
            // 计算佣金
            ThreadPoolUtils.calReturnMoney(memberEntity.getId(), contractOrderEntity.getClosingFeeAmount(), contractOrderEntity, AgentReturnEntity.ORDER_TYPE_CLOSE);
src/main/java/com/xcong/excoin/quartz/job/UsdtCnyExchangePriceUpdateJob.java
@@ -58,9 +58,6 @@
            String code = jsonObject.getString("code");
            if ("200".equals(code)) {
                JSONObject jsonData = (JSONObject) jsonObject.get("data");
                log.info("{}", jsonData);
                log.info("{}", jsonData.getDouble("price"));
                log.info("{}", jsonData.getString("price"));
                cnyUsdtExchangeDao.updateUsdt(BigDecimal.valueOf(jsonData.getDouble("price")));
            }
        } catch (Exception e) {
src/main/resources/application-test.yml
@@ -94,9 +94,9 @@
  debug: true
  redis_expire: 3000
  kline-update-job: false
  newest-price-update-job: false
  other-job: false
  rabbit-consumer: false
  newest-price-update-job: true
  other-job: true
  rabbit-consumer: true
aliyun:
  oss:
src/main/resources/application.yml
@@ -96,10 +96,10 @@
  # k线更新任务控制
  kline-update-job: false
  #最新价任务控制
  newest-price-update-job: true
  newest-price-update-job: false
  #其他任务控制
  other-job: false
  rabbit-consumer: true
  rabbit-consumer: false
aliyun:
  oss:
src/test/java/com/xcong/excoin/RabbitMqTest.java
@@ -1,5 +1,6 @@
package com.xcong.excoin;
import com.xcong.excoin.rabbit.pricequeue.WebsocketPriceService;
import com.xcong.excoin.rabbit.producer.TestProducer;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
@@ -16,9 +17,17 @@
    @Autowired
    private TestProducer testProducer;
    @Resource
    private WebsocketPriceService websocketPriceService;
    @Test
    public void sendTestMsg() {
        testProducer.sendTestMsg("this is test msg");
    }
    @Test
    public void bombTest() {
        websocketPriceService.comparePriceDesc("BTC/USDT", "9608");
    }
}