From 10673abd11b3ade3be86c1c422453c70de7dfef8 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 21 May 2021 15:22:56 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcOrderServiceImpl.java | 28 ++++++++++++++++++++++++---- 1 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcOrderServiceImpl.java index 830576d..49225a0 100644 --- a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcOrderServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcOrderServiceImpl.java @@ -95,6 +95,7 @@ otcOrder.setCoinAmount(orderAddDto.getUsdtAmount()); otcOrder.setTotalAmount(orderAddDto.getCnyAmount()); otcOrder.setMemberId(member.getId()); + otcOrder.setOppositeMemberId(entrustOrder.getMemberId()); otcOrder.setStatus(OtcOrder.STATUS_SUBMIT); otcOrder.setPayTime(new Date()); otcOrder.setEntrustMemberId(entrustOrder.getMemberId()); @@ -103,6 +104,7 @@ OtcOrder sale = new OtcOrder(); BeanUtil.copyProperties(otcOrder, sale); sale.setMemberId(entrustOrder.getMemberId()); + otcOrder.setOppositeMemberId(member.getId()); sale.setOrderType(OtcEntrustOrder.ORDER_TYPE_S); otcEntrustOrderDao.updateRemainAmount(entrustOrder.getId(), orderAddDto.getUsdtAmount().negate()); this.baseMapper.insert(otcOrder); @@ -169,11 +171,13 @@ otcOrder.setStatus(OtcOrder.STATUS_SUBMIT); otcOrder.setPayTime(new Date()); otcOrder.setEntrustMemberId(entrustOrder.getMemberId()); + otcOrder.setOppositeMemberId(entrustOrder.getMemberId()); otcOrder.setOrderType(OtcEntrustOrder.ORDER_TYPE_S); OtcOrder buy = new OtcOrder(); BeanUtil.copyProperties(otcOrder, buy); buy.setMemberId(entrustOrder.getMemberId()); + buy.setOppositeMemberId(member.getId()); buy.setOrderType(OtcEntrustOrder.ORDER_TYPE_B); otcEntrustOrderDao.updateRemainAmount(entrustOrder.getId(), orderAddDto.getUsdtAmount().negate()); @@ -272,7 +276,7 @@ buyDetail.setStatus(buyOrder.getStatus()); buyDetail.setTotalAmount(buyOrder.getTotalAmount()); buyDetail.setUnitPrice(buyOrder.getUnitPrice()); - buyDetail.setCreateTime(new Date()); + buyDetail.setCreateTime(buyOrder.getCreateTime()); buyDetail.setIsMb(member.getIsTrader()); OtcOrder saleOrder = this.baseMapper.selectOrderByOrderNoAndType(otcOrder.getOrderNo(), OtcEntrustOrder.ORDER_TYPE_S); @@ -292,8 +296,11 @@ buyDetail.setOrderCnt(otcMb.getBuyCnt()); } - long between = DateUtil.between(buyOrder.getCreateTime(), new Date(), DateUnit.SECOND); - buyDetail.setTimes(between); + + if (OtcOrder.STATUS_SUBMIT.equals(buyOrder.getStatus())) { + long between = DateUtil.between(new Date(), DateUtil.offsetMinute(buyOrder.getCreateTime(), 30), DateUnit.SECOND, false); + buyDetail.setTimes(between); + } return Result.ok(buyDetail); } @@ -317,7 +324,7 @@ saleDetail.setStatus(saleOrder.getStatus()); saleDetail.setTotalAmount(saleOrder.getTotalAmount()); saleDetail.setUnitPrice(saleOrder.getUnitPrice()); - saleDetail.setCreateTime(new Date()); + saleDetail.setCreateTime(saleOrder.getCreateTime()); saleDetail.setIsMb(member.getIsTrader()); saleDetail.setPayName(saleOrder.getPayName()); @@ -326,6 +333,11 @@ saleDetail.setMbId(otcMb.getId()); saleDetail.setFinishRatio(otcMb.getFinishRatio()); saleDetail.setOrderCnt(otcMb.getBuyCnt()); + } + + if (OtcOrder.STATUS_SUBMIT.equals(saleOrder.getStatus())) { + long between = DateUtil.between(new Date(), DateUtil.offsetMinute(saleOrder.getCreateTime(), 30), DateUnit.SECOND, false); + saleDetail.setTimes(between); } return Result.ok(saleDetail); @@ -341,6 +353,14 @@ if (!OtcOrder.STATUS_SUBMIT.equals(otcOrder.getStatus())) { throw new GlobalException("不能取消"); } + + OtcOrder saleOrder = this.baseMapper.selectOrderByOrderNoAndType(otcOrder.getOrderNo(), OtcEntrustOrder.ORDER_TYPE_S); + if (!saleOrder.getMemberId().equals(saleOrder.getEntrustMemberId())) { + MemberWalletCoinEntity wallet = memberWalletCoinDao.selectWalletCoinBymIdAndCode(saleOrder.getMemberId(), "USDT"); + memberWalletCoinDao.subFrozenBalance(saleOrder.getMemberId(), wallet.getId(), saleOrder.getCoinAmount()); + } + + otcEntrustOrderDao.updateRemainAmount(otcOrder.getEntrustOrderId(), otcOrder.getCoinAmount()); this.baseMapper.updateOrderStatusByOrderNo(OtcOrder.STATUS_CANCEL, null, otcOrder.getOrderNo()); } } -- Gitblit v1.9.1