From ebb754075f9fd70e214b2938d8ef90acf8d6f747 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 26 Aug 2020 15:13:33 +0800
Subject: [PATCH] modify

---
 src/main/java/com/xcong/excoin/modules/contract/dao/ContractEntrustOrderDao.java                  |    2 ++
 src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java |   15 +++++++++++++++
 src/main/resources/mapper/contract/ContractEntrustOrderDao.xml                                    |    5 +++++
 3 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractEntrustOrderDao.java b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractEntrustOrderDao.java
index b342596..fc247b6 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractEntrustOrderDao.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractEntrustOrderDao.java
@@ -22,4 +22,6 @@
     public List<ContractEntrustOrderEntity> selectAllEntrustOrder();
 
     public List<ContractEntrustOrderEntity> selectMemberEntrustOrderByPositionType(@Param("positionType") Integer positionType, @Param("memberId") Long memberId);
+
+    public List<ContractEntrustOrderEntity> selectEntrustOrderByOrderNo(@Param("orderNo") String orderNo);
 }
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java
index 4e673e5..ca87cc2 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java
@@ -1,5 +1,6 @@
 package com.xcong.excoin.modules.contract.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xcong.excoin.common.LoginUserUtils;
@@ -293,6 +294,20 @@
             return Result.fail("可平张数不足");
         }
 
+        List<ContractEntrustOrderEntity> entrustOrders = contractEntrustOrderDao.selectEntrustOrderByOrderNo(holdOrderEntity.getOrderNo());
+        if (CollUtil.isNotEmpty(entrustOrders)) {
+            int entrustCnt = 0;
+            for (ContractEntrustOrderEntity entrustOrder : entrustOrders) {
+                entrustCnt += entrustOrder.getSymbolCnt();
+            }
+
+
+            if (submitCloseEntrustDto.getSymbolCnt() > holdOrderEntity.getSymbolCntSale() - entrustCnt) {
+                return Result.fail("当前存在多个委托,无法提交该数量委托");
+            }
+        }
+
+
         // 获取最新价
         BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(holdOrderEntity.getSymbol())));
 
diff --git a/src/main/resources/mapper/contract/ContractEntrustOrderDao.xml b/src/main/resources/mapper/contract/ContractEntrustOrderDao.xml
index c3b3435..5ba66a5 100644
--- a/src/main/resources/mapper/contract/ContractEntrustOrderDao.xml
+++ b/src/main/resources/mapper/contract/ContractEntrustOrderDao.xml
@@ -36,4 +36,9 @@
         select * from contract_entrust_order
         where position_type=#{positionType} and member_id=#{memberId}
     </select>
+
+    <select id="selectEntrustOrderByOrderNo" resultType="com.xcong.excoin.modules.contract.entity.ContractEntrustOrderEntity">
+        select * from contract_entrust_order
+        where order_no=#{orderNo}
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1