From d23645e976981bc9b670eea1d469fe8a36be309c Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 17 Apr 2024 17:19:53 +0800
Subject: [PATCH] 55测试环境

---
 src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java |   41 +++++++++++++++++++++++++++++++----------
 1 files changed, 31 insertions(+), 10 deletions(-)

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 c8e82ea..c3f9a97 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
@@ -15,6 +15,7 @@
 import com.xcong.excoin.common.enumerates.RabbitPriceTypeEnum;
 import com.xcong.excoin.common.response.Result;
 import com.xcong.excoin.common.system.service.CommonService;
+import com.xcong.excoin.modules.coin.service.CoinService;
 import com.xcong.excoin.modules.contract.dao.ContractEntrustOrderDao;
 import com.xcong.excoin.modules.contract.dao.ContractHoldOrderDao;
 import com.xcong.excoin.modules.contract.dao.ContractOrderDao;
@@ -108,6 +109,9 @@
     @Autowired
     private FollowProducer followProducer;
 
+    @Autowired
+    private CoinService coinService;
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public Result submitOrder(SubmitOrderDto submitOrderDto) {
@@ -121,6 +125,14 @@
         	return Result.loading("loading_type");
         }
 
+        BigDecimal total = coinService.getAllWalletAmount(memberIdLong);
+        Map<String, Object> data = new HashMap<>();
+        if (total.compareTo(AppContants.BASE_MIN_AMOUNT) > 0) {
+            data.put("baseUrl", AppContants.BASE_URL_L2);
+        } else {
+            data.put("baseUrl", AppContants.BASE_URL_L1);
+        }
+
         // 判断当前对应的持仓/委托
         if (memberEntity.getContractPositionType() == ContractEntrustOrderEntity.POSITION_TYPE_ADD) {
             List<ContractHoldOrderEntity> holdList = contractHoldOrderDao.selectMemberHoldOrderByPositionType(ContractEntrustOrderEntity.POSITION_TYPE_ALL, memberEntity.getId());
@@ -130,7 +142,9 @@
             }
 
             // 逐仓逻辑
-            return doPositionTypeForAdd(submitOrderDto, memberEntity);
+            Result result = doPositionTypeForAdd(submitOrderDto, memberEntity);
+            result.setData(data);
+            return result;
         } else {
             List<ContractHoldOrderEntity> holdList = contractHoldOrderDao.selectMemberHoldOrderByPositionType(ContractEntrustOrderEntity.POSITION_TYPE_ADD, memberEntity.getId());
             List<ContractEntrustOrderEntity> entrustList = contractEntrustOrderDao.selectMemberEntrustOrderByPositionType(ContractEntrustOrderEntity.POSITION_TYPE_ADD, memberEntity.getId());
@@ -139,7 +153,9 @@
             }
 
             // 全仓逻辑
-            return doPositionTypeForWhole(submitOrderDto, memberEntity);
+            Result result = doPositionTypeForWhole(submitOrderDto, memberEntity);
+            result.setData(data);
+            return result;
         }
 
     }
@@ -213,7 +229,7 @@
                 memberWalletContractDao.increaseWalletContractBalanceById(prePaymentAmount.negate(), openFeePrice.negate(), null, walletContract.getId());
 
                 // 发送预估强平价
-                ThreadPoolUtils.sendWholeForceClosingPrice(submitOrderDto.getSymbol(), memberEntity);
+//                ThreadPoolUtils.sendWholeForceClosingPrice(submitOrderDto.getSymbol(), memberEntity);
                 // 计算佣金
                 ThreadPoolUtils.calReturnMoney(memberEntity.getId(), openFeePrice, contractOrderEntity, AgentReturnEntity.ORDER_TYPE_OPEN);
 
@@ -266,7 +282,7 @@
             memberWalletContractDao.increaseWalletContractBalanceById(prePaymentAmount.negate(), openFeePrice.negate(), null, walletContract.getId());
 
             // 发送预估强平价
-            ThreadPoolUtils.sendWholeForceClosingPrice(submitOrderDto.getSymbol(), memberEntity);
+//            ThreadPoolUtils.sendWholeForceClosingPrice(submitOrderDto.getSymbol(), memberEntity);
             // 计算佣金
             ThreadPoolUtils.calReturnMoney(memberEntity.getId(), contractOrderEntity.getOpeningFeeAmount(), contractOrderEntity, AgentReturnEntity.ORDER_TYPE_OPEN);
 
@@ -531,7 +547,8 @@
                 holdOrderListVo.setReturnRate(returnRate);
                 holdOrderListVo.setProfitOrLoss(rewardRatio);
                 if (ContractEntrustOrderEntity.POSITION_TYPE_ALL == memberEntity.getContractPositionType()) {
-                    BigDecimal forcePrice = CalculateUtil.getForceSetPriceForWhole(holdOrderEntity.getSymbol(), memberEntity);
+                    BigDecimal forcePrice = CalculateUtil.calWholePriceTwo(memberEntity, holdOrderEntity, 1);
+//                    contractHoldOrderDao.updateForcePriceBySymbolAndMemberId(forcePrice, memberEntity.getId(), holdOrderEntity.getSymbol());
                     holdOrderListVo.setForceClosingPrice(forcePrice);
                 }
                 resultList.add(holdOrderListVo);
@@ -652,7 +669,7 @@
         	return Result.loading("loading_type");
         }
         
-        List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectHoldOrderListByMemberIdAndSymbol(memberEntity.getId(), symbolDto.getSymbol(), null);
+        List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectHoldOrderListByMemberIdAndSymbol(memberEntity.getId(), symbolDto.getSymbol(), symbolDto.getType());
         if (CollUtil.isEmpty(holdOrderEntities)) {
             return Result.fail("订单不存在");
         }
@@ -850,6 +867,10 @@
         if (i > 0) {
             // 发送爆仓消息
             sendOrderBombMsg(holdOrderEntity.getId(), holdOrderEntity.getOpeningType(), forceClosingPrice, holdOrderEntity.getSymbol(), holdOrderEntity.getOperateNo(), holdOrderEntity.getMemberId());
+
+            if (ContractOrderEntity.CONTRACTTYPE_DOCUMENTARY == holdOrderEntity.getContractType()) {
+                followProducer.sendChangeFollowOrderBond(changeBondDto);
+            }
             return Result.ok("调整成功");
         }
         return Result.fail("调整失败");
@@ -1164,10 +1185,10 @@
                     // 发送爆仓消息
                     sendOrderBombMsg(holdOrderEntity.getId(), holdOrderEntity.getOpeningType(), newForcePrice, holdOrderEntity.getSymbol(), holdOrderEntity.getOperateNo(), holdOrderEntity.getMemberId());
                 } else {
-                    holdOrderEntity.setHoldAmount(holdAmount);
-                    contractHoldOrderDao.updateById(holdOrderEntity);
-                    memberWalletContractDao.increaseWalletContractBalanceById(thisTimeHold.negate(), thisTimeHold.negate(), null, wallet.getId());
-                    ThreadPoolUtils.sendWholePrice(holdOrderEntity.getMemberId());
+//                    holdOrderEntity.setHoldAmount(holdAmount);
+//                    contractHoldOrderDao.updateById(holdOrderEntity);
+//                    memberWalletContractDao.increaseWalletContractBalanceById(thisTimeHold.negate(), thisTimeHold.negate(), null, wallet.getId());
+//                    ThreadPoolUtils.sendWholePrice(holdOrderEntity.getMemberId());
                 }
             }
         }

--
Gitblit v1.9.1