From 60f9b412d8c49501dc55a4ffd8f4a63a69043cd0 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 08 Jun 2022 09:37:02 +0800
Subject: [PATCH] fix transfer

---
 src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java          |    2 +-
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java |   25 ++++++++++++++++++-------
 src/main/java/cc/mrbird/febs/dapp/dto/TransferDto.java                    |    6 ++++++
 3 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/TransferDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/TransferDto.java
index 9f86833..fc37a8f 100644
--- a/src/main/java/cc/mrbird/febs/dapp/dto/TransferDto.java
+++ b/src/main/java/cc/mrbird/febs/dapp/dto/TransferDto.java
@@ -28,4 +28,10 @@
 
     @ApiModelProperty(value = "价格", example = "1.0")
     private BigDecimal price;
+
+    @ApiModelProperty(value = "id", example = "1")
+    private Long id;
+
+    @ApiModelProperty(value = "success/fail", example = "success")
+    private String flag;
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java b/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
index d016ad1..bb42d31 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
@@ -35,7 +35,7 @@
     IPage<DappAccountMoneyChangeEntity> accountMoneyChangeInPage(DappAccountMoneyChangeEntity change, QueryRequest request);
 
 
-    void transfer(TransferDto transferDto);
+    Long transfer(TransferDto transferDto);
 
     Map<String, BigDecimal> calPrice();
 }
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 8279bf7..b38e4a6 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
@@ -198,11 +198,8 @@
     }
 
     @Override
-    public void transfer(TransferDto transferDto) {
+    public Long transfer(TransferDto transferDto) {
         DappMemberEntity member = LoginUserUtil.getAppUser();
-
-//        ChainService.getInstance(ChainEnum.BSC_USDT_SOURCE.name()).balanceOf(member.getAddress());
-//        ChainService.getInstance(ChainEnum.BSC_TFC_SOURCE.name()).balanceOf(member.getAddress());
 
         if (DappFundFlowEntity.TYPE_SALE == transferDto.getType()) {
             String hasStart = redisUtils.getString(AppContants.SYSTEM_START_FLAG);
@@ -211,9 +208,23 @@
             }
         }
 
-        DappFundFlowEntity fundFlow = new DappFundFlowEntity(member.getId(), transferDto.getAmount(), transferDto.getType(), 1, transferDto.getFee(), transferDto.getTxHash());
-        fundFlow.setNewestPrice(transferDto.getPrice());
-        dappFundFlowDao.insert(fundFlow);
+        if (transferDto.getId() == null) {
+            DappFundFlowEntity fundFlow = new DappFundFlowEntity(member.getId(), transferDto.getAmount(), transferDto.getType(), 1, transferDto.getFee(), transferDto.getTxHash());
+            fundFlow.setNewestPrice(transferDto.getPrice());
+            dappFundFlowDao.insert(fundFlow);
+            return fundFlow.getId();
+        }
+
+        if ("success".equals(transferDto.getFlag())) {
+            DappFundFlowEntity flow = dappFundFlowDao.selectById(transferDto.getId());
+
+            flow.setFromHash(transferDto.getTxHash());
+            dappFundFlowDao.updateById(flow);
+        } else {
+            dappFundFlowDao.deleteById(transferDto.getId());
+        }
+
+        return null;
     }
 
     @Override

--
Gitblit v1.9.1