From 7a006a158c3e8b7012f036905f146c60e8b72e39 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 15 Dec 2022 16:19:19 +0800
Subject: [PATCH] 20221213转币

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
index 3a684a9..33d8914 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -185,8 +185,8 @@
      */
     @Override
     public Long transfer(TransferDto transferDto) {
-//        DappMemberEntity member = LoginUserUtil.getAppUser();
-        DappMemberEntity member = dappMemberDao.selectById(transferDto.getMemberId());
+        DappMemberEntity member = LoginUserUtil.getAppUser();
+//        DappMemberEntity member = dappMemberDao.selectById(transferDto.getMemberId());
 
         String upgrade = redisUtils.getString("APP_UPGRADE");
         if ("upgrade".equals(upgrade)) {
@@ -219,6 +219,14 @@
                 type = 6;
             }
             if (transferDto.getId() == null) {
+                DappFundFlowEntity fundFlowOld = dappFundFlowDao.selectBymemberIdAndType(member.getId(),type);
+                if(ObjectUtil.isNotEmpty(fundFlowOld)){
+                    //网络问题导致第二次提交前,未成功就关闭了页面
+                    if (fundFlowOld.getStatus() == 1 && StrUtil.isEmpty(fundFlowOld.getFromHash())) {
+                        dappFundFlowDao.deleteById(fundFlowOld.getId());
+                    }
+                    throw new FebsException("Refresh and try again");
+                }
                 DappFundFlowEntity fundFlow = new DappFundFlowEntity(member.getId(), transferDto.getAmount(), type, 1, transferDto.getFee(), transferDto.getTxHash());
                 dappFundFlowDao.insert(fundFlow);
                 return fundFlow.getId();
@@ -227,12 +235,12 @@
             if ("success".equals(transferDto.getFlag())) {
                 DappFundFlowEntity flow = dappFundFlowDao.selectById(transferDto.getId());
                 if(DappFundFlowEntity.WITHDRAW_STATUS_AGREE == flow.getStatus()){
-                    return null;
+                    throw new FebsException("Do not repeat purchase");
                 }
                 //是否已经加入动能
                 DappSystemProfit dappSystemProfitIng = dappSystemProfitDao.selectByMemberIdAndState(member.getId(), DappSystemProfit.STATE_IN);
                 if(ObjectUtil.isNotEmpty(dappSystemProfitIng)){
-                    return null;
+                    throw new FebsException("Do not repeat purchase");
                 }
 
                 //插入一条会员入列记录,即加入动能队列
@@ -253,7 +261,7 @@
                 DappFundFlowEntity systemProfitFlow = new DappFundFlowEntity(1L, new BigDecimal(systemProfitStr), 2, 1, BigDecimal.ZERO, null,dappSystemProfit.getId());
                 dappFundFlowDao.insert(systemProfitFlow);
                 //发送转币消息
-                chainProducer.sendBnbTransferMsg(systemProfitFlow.getId());
+//                chainProducer.sendBnbTransferMsg(systemProfitFlow.getId());
                 //直接返利30%给直接上级
                 DappMemberEntity dappMemberEntity = dappMemberDao.selectById(member.getId());
                 String refererId = dappMemberEntity.getRefererId();

--
Gitblit v1.9.1