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