From f0a47946682b93a4fb6c9246d8573ee2bc98d60e Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 24 May 2021 11:41:26 +0800
Subject: [PATCH] modify

---
 src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcEntrustOrderServiceImpl.java |   25 +++++++++++++++++++++++--
 1 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcEntrustOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcEntrustOrderServiceImpl.java
index 753715e..35e9229 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcEntrustOrderServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcEntrustOrderServiceImpl.java
@@ -42,6 +42,7 @@
 
     private final MemberDao memberDao;
     private final MemberPaymentMethodDao memberPaymentMethodDao;
+    private final OtcMarketBussinessDao otcMarketBussinessDao;
     private final MemberWalletCoinDao memberWalletCoinDao;
     private final OtcOrderDao otcOrderDao;
     private final CommonService commonService;
@@ -65,16 +66,33 @@
 
         BigDecimal totalAmount = addDto.getUnitPrice().multiply(addDto.getAmount());
         otcEntrustOrder.setTotalAmount(totalAmount);
+
+        if (addDto.getMax().compareTo(totalAmount) < 0) {
+            throw new GlobalException("最大限额应小于总金额");
+        }
+
         if (OtcEntrustOrder.ORDER_TYPE_S.equals(addDto.getType())) {
             MemberWalletCoinEntity coinWallet = memberWalletCoinDao.selectWalletCoinBymIdAndCode(member.getId(), "USDT");
             if(coinWallet.getAvailableBalance().compareTo(totalAmount) < 0) {
                 throw new GlobalException("可用金额不足");
             }
 
-            memberWalletCoinDao.updateFrozenBalance(member.getId(), coinWallet.getId(), totalAmount);
+            memberWalletCoinDao.updateFrozenBalance(member.getId(), coinWallet.getId(), addDto.getAmount());
         }
 
-//        OtcMarketBussiness mb = otcMarketBussinessDao.selectMarketBussinessByMemberId(member.getId());
+        OtcMarketBussiness mb = otcMarketBussinessDao.selectMarketBussinessByMemberId(member.getId());
+        if (mb == null) {
+            OtcMarketBussiness otcMb = new OtcMarketBussiness();
+            otcMb.setMemberId(member.getId());
+            otcMb.setAvgCoinTime(0);
+            otcMb.setAvgPayTime(0);
+            otcMb.setTotalOrderCnt(0);
+            otcMb.setBuyCnt(0);
+            otcMb.setFinishRatio(BigDecimal.ZERO);
+            otcMb.setStatus(OtcMarketBussiness.CHECK_PASS);
+            otcMarketBussinessDao.insert(otcMb);
+        }
+
         if (member.getIsTrader() == 2) {
             otcEntrustOrder.setIsMb(OtcEntrustOrder.IS_MB_N);
         } else {
@@ -191,8 +209,11 @@
         }
 
         MemberEntity member = memberDao.selectById(otcEntrustOrder.getMemberId());
+        OtcMarketBussiness mb = otcMarketBussinessDao.selectMarketBussinessByMemberId(member.getId());
         EntrustOrderDetailVo detail = OtcEntrustOrderMapper.INSTANCE.entityToOrderDetail(otcEntrustOrder);
         detail.setName(member.getName());
+        detail.setOrderCnt(mb.getBuyCnt());
+        detail.setFinishRatio(mb.getFinishRatio());
         return Result.ok(detail);
     }
 }

--
Gitblit v1.9.1