From f277f8fbba56fe460a1c954926f4699592ecfbca Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 03 Jun 2020 15:33:36 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/chonggaoxiao/new_excoin.git

---
 src/main/java/com/xcong/excoin/modules/member/dao/MemberLevelRateDao.java                      |    3 +++
 src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java |    8 ++++++++
 src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java    |   23 +++++++----------------
 src/main/java/com/xcong/excoin/modules/contract/mapper/ContractEntrustOrderEntityMapper.java   |    1 +
 src/main/java/com/xcong/excoin/rabbit/init/OrderProducerInit.java                              |    1 +
 src/main/resources/mapper/member/MemberLevelRateDao.xml                                        |    4 ++++
 src/main/resources/application.yml                                                             |    4 ++--
 7 files changed, 26 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractEntrustOrderEntityMapper.java b/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractEntrustOrderEntityMapper.java
index e926278..bd11e1e 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractEntrustOrderEntityMapper.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractEntrustOrderEntityMapper.java
@@ -32,6 +32,7 @@
 
     public abstract List<ContractEntrustVo> entityListToVoList(List<ContractEntrustOrderEntity> list);
 
+    @Mapping(source = "entrustAmount", target = "prePaymentAmount")
     public abstract ContractHoldOrderEntity entrustOrderToHoldOrder(ContractEntrustOrderEntity entrustOrderEntity);
 
 }
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
index 2c5e3f0..3f9b7b2 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
@@ -22,9 +22,11 @@
 import com.xcong.excoin.modules.contract.parameter.vo.ContractMoneyInfoVo;
 import com.xcong.excoin.modules.contract.parameter.vo.HoldOrderListVo;
 import com.xcong.excoin.modules.contract.service.ContractHoldOrderService;
+import com.xcong.excoin.modules.member.dao.MemberLevelRateDao;
 import com.xcong.excoin.modules.member.dao.MemberWalletContractDao;
 import com.xcong.excoin.modules.member.entity.AgentReturnEntity;
 import com.xcong.excoin.modules.member.entity.MemberEntity;
+import com.xcong.excoin.modules.member.entity.MemberLevelRateEntity;
 import com.xcong.excoin.modules.member.entity.MemberWalletContractEntity;
 import com.xcong.excoin.modules.platform.dao.TradeSettingDao;
 import com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity;
@@ -67,6 +69,9 @@
 
     @Resource
     private MemberWalletContractDao memberWalletContractDao;
+
+    @Resource
+    private MemberLevelRateDao memberLevelRateDao;
 
     @Resource
     private CacheSettingUtils cacheSettingUtils;
@@ -492,6 +497,8 @@
 
         MemberWalletContractEntity walletContractEntity = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberEntity.getId(), CoinTypeEnum.USDT.name());
 
+        MemberLevelRateEntity rateEntity = memberLevelRateDao.selectLeverRateByMemberIdAndSymbol(memberEntity.getId(), symbol);
+
         // 权益
         BigDecimal equity = walletContractEntity.getTotalBalance().add(totalProfitOrLess);
 
@@ -504,6 +511,7 @@
         contractMoneyInfoVo.setLeverAgeRatio(tradeSetting.getLeverageRatio());
         contractMoneyInfoVo.setNewPrice(newPrice);
         contractMoneyInfoVo.setSymbolSku(cacheSettingUtils.getSymbolSku(symbol));
+        contractMoneyInfoVo.setLeverRate(rateEntity.getLevelRateUp());
         return Result.ok(contractMoneyInfoVo);
     }
 }
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java
index 367a0bd..96ab15b 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java
@@ -6,6 +6,7 @@
 import com.xcong.excoin.modules.contract.entity.ContractEntrustOrderEntity;
 import com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity;
 import com.xcong.excoin.modules.contract.entity.ContractOrderEntity;
+import com.xcong.excoin.modules.contract.mapper.ContractEntrustOrderEntityMapper;
 import com.xcong.excoin.modules.contract.mapper.ContractHoldOrderEntityMapper;
 import com.xcong.excoin.modules.contract.service.ContractEntrustOrderService;
 import com.xcong.excoin.modules.contract.service.ContractHoldOrderService;
@@ -486,7 +487,6 @@
      * @param
      */
     public void dealLimitBuyOrder(List<ContractEntrustOrderEntity> orderList) {
-
         //List<CoinsCoinsOrder> orderList = orderMapper.selectOrderByBatchNo(batchno);
         if (CollectionUtils.isNotEmpty(orderList)) {
             ContractHoldOrderEntity contractHoldOrderEntity = null;
@@ -496,23 +496,21 @@
                     continue;
                 }
 
-                contractHoldOrderEntity = new ContractHoldOrderEntity();
+                // 委托单bean转换为持仓单bean
+                contractHoldOrderEntity = ContractEntrustOrderEntityMapper.INSTANCE.entrustOrderToHoldOrder(coinsCoinsOrder);
+                contractHoldOrderEntity.setId(null);
                 Long memId = coinsCoinsOrder.getMemberId();
                 MemberEntity memberEntity = memberService.getById(memId);
                 BigDecimal entrustPrice = coinsCoinsOrder.getEntrustPrice();
                 int symbolCnt = coinsCoinsOrder.getSymbolCnt();
                 int type = coinsCoinsOrder.getEntrustType();
-                //开仓价
-                // Double openPrice = coinsCoinsOrder.getOpenPrice().doubleValue();
-                //委托价
-                // Double markPrice = coinsCoinsOrder.getMarkPrice();
+
                 if (type == 1) {
                     // 开多
                     contractHoldOrderEntity.setOpeningType(ContractHoldOrderEntity.OPENING_TYPE_MORE);
                 } else {
                     // 开空
                     contractHoldOrderEntity.setOpeningType(ContractHoldOrderEntity.OPENING_TYPE_LESS);
-
                 }
 
                 //持仓单赋值
@@ -552,18 +550,11 @@
                     producer.sendPriceOperate(JSONObject.toJSONString(model));
                 }
                 // 扣除手续费
-                //double totalBalance = wallet.getTotalBalance() - coinsCoinsOrder.getClosingPrice();
-                BigDecimal totalBalance = openFeePrice.negate();
-
-                /** TradeSetting tradeSetting = tradeSettingCache.getTradeSetting();
-
-                 Double totalPayPrice = new BigDecimal(coinsCoinsOrder.getPrePrice()).add(new BigDecimal(coinsCoinsOrder.getClosingPrice())).add(new BigDecimal(coinsCoinsOrder.getClosingPrice()))
-                 .setScale(8, BigDecimal.ROUND_HALF_UP).doubleValue();
-                 totalBalance =  totalBalance+(-totalPayPrice*(Double.valueOf(tradeSetting.getSpread())/10000));*/
+                BigDecimal totalBalance = wallet.getTotalBalance().subtract(openFeePrice);
 
                 memberWalletContractService.increaseWalletContractBalanceById(null, totalBalance, null, wallet.getId());
                 // TODO 531 待写
-                calYj(memId, contractOrderEntity.getClosingFeeAmount(), contractOrderEntity, 1);
+                calYj(memId, openFeePrice, contractOrderEntity, 1);
             }
         }
     }
diff --git a/src/main/java/com/xcong/excoin/modules/member/dao/MemberLevelRateDao.java b/src/main/java/com/xcong/excoin/modules/member/dao/MemberLevelRateDao.java
index ee4603e..bfea23f 100644
--- a/src/main/java/com/xcong/excoin/modules/member/dao/MemberLevelRateDao.java
+++ b/src/main/java/com/xcong/excoin/modules/member/dao/MemberLevelRateDao.java
@@ -2,6 +2,9 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.xcong.excoin.modules.member.entity.MemberLevelRateEntity;
+import org.apache.ibatis.annotations.Param;
 
 public interface MemberLevelRateDao extends BaseMapper<MemberLevelRateEntity> {
+
+    public MemberLevelRateEntity selectLeverRateByMemberIdAndSymbol(@Param("memberId") Long memberId, @Param("symbol") String symbol);
 }
diff --git a/src/main/java/com/xcong/excoin/rabbit/init/OrderProducerInit.java b/src/main/java/com/xcong/excoin/rabbit/init/OrderProducerInit.java
index 25638d8..2995aff 100644
--- a/src/main/java/com/xcong/excoin/rabbit/init/OrderProducerInit.java
+++ b/src/main/java/com/xcong/excoin/rabbit/init/OrderProducerInit.java
@@ -50,6 +50,7 @@
 
         if (CollectionUtils.isNotEmpty(holdOrderEntities)) {
             for (ContractHoldOrderEntity order : holdOrderEntities) {
+                log.info("---->>>{}", order.getSymbol());
                 // 开多1,开空 2
                 int openingType = order.getOpeningType();
                 // 1:买入委托2:开多3:开空4:平多5:平空6:爆仓平多7:爆仓平空
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index cf1a6f1..b28cd2d 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -96,10 +96,10 @@
   # k线更新任务控制
   kline-update-job: false
   #最新价任务控制
-  newest-price-update-job: false
+  newest-price-update-job: true
   #其他任务控制
   other-job: false
-  rabbit-consumer: false
+  rabbit-consumer: true
 
 aliyun:
   oss:
diff --git a/src/main/resources/mapper/member/MemberLevelRateDao.xml b/src/main/resources/mapper/member/MemberLevelRateDao.xml
index 56b7d83..2f79547 100644
--- a/src/main/resources/mapper/member/MemberLevelRateDao.xml
+++ b/src/main/resources/mapper/member/MemberLevelRateDao.xml
@@ -2,4 +2,8 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.xcong.excoin.modules.member.dao.MemberLevelRateDao">
 
+    <select id="selectLeverRateByMemberIdAndSymbol" resultType="com.xcong.excoin.modules.member.entity.MemberLevelRateEntity">
+        select * from member_level_rate where member_id=#{memberId} and symbol=#{symbol}
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1