From 957fea0c52de40c887b7740685ead7b8550d3ca6 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Sat, 12 Aug 2023 02:17:24 +0800
Subject: [PATCH] 数据修改

---
 src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java            |    5 ++
 src/main/java/cc/mrbird/febs/dapp/mapper/MemberCoinWithdrawDao.java         |    2 +
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java   |   63 +++++++++++++++++++++++++++++++
 src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java |   10 +++++
 src/main/resources/mapper/dapp/MemberCoinWithdrawMapper.xml                 |    9 ++++
 5 files changed, 89 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java b/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java
index fd36668..98ea3bf 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java
@@ -64,4 +64,14 @@
 //        chainProducer.sendBnbTransferMsg(id);
         return new FebsResponse().success().message("操作成功,请稍后查看");
     }
+
+    @GetMapping(value = "/withdrawAgree/{id}")
+    public FebsResponse withdrawAgree(@PathVariable("id") Long id) {
+        return dappWalletService.withdrawAgree(id);
+    }
+
+    @GetMapping(value = "/withdrawDisAgree/{id}")
+    public FebsResponse withdrawDisAgree(@PathVariable("id") Long id) {
+        return dappWalletService.withdrawDisAgree(id);
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/MemberCoinWithdrawDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/MemberCoinWithdrawDao.java
index 02e4119..a2bd3c2 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/MemberCoinWithdrawDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/MemberCoinWithdrawDao.java
@@ -12,4 +12,6 @@
     IPage<AdminMemberCoinWithdrawVo> findMemberWithdrawCoinInPage(Page<MemberCoinWithdrawEntity> page, @Param("record")MemberCoinWithdrawEntity memberCoinWithdrawEntity);
 
     Integer selectByMemberIdAndCreateTime(@Param("memberId")Long memberIdOut, @Param("createTime")String createTime, @Param("type")String type);
+
+    MemberCoinWithdrawEntity selectByFlowId(@Param("memberId")Long memberId,@Param("flowId")Long id);
 }
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 526edfc..ee9b593 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
@@ -1,5 +1,6 @@
 package cc.mrbird.febs.dapp.service;
 
+import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.dapp.dto.*;
 import cc.mrbird.febs.dapp.entity.DappAccountMoneyChangeEntity;
@@ -55,4 +56,8 @@
     void roundCoin(RoundCoinDto roundCoinDto);
 
     void roundCoinAusdt(RoundCoinDto roundCoinDto);
+
+    FebsResponse withdrawAgree(Long id);
+
+    FebsResponse withdrawDisAgree(Long id);
 }
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 5cf58b0..18c0030 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
@@ -2,6 +2,7 @@
 
 import cc.mrbird.febs.common.configure.i18n.MessageSourceUtils;
 import cc.mrbird.febs.common.contants.AppContants;
+import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.utils.FebsUtil;
@@ -685,4 +686,66 @@
 //                dappMemberEntity.getId());
 //        dappFundFlowDao.insert(aCoinCntFlowParent);
     }
+
+    @Override
+    public FebsResponse withdrawAgree(Long id) {
+        DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectById(id);
+
+        if(FundFlowEnum.WITHDRAW_USDT.getCode() != dappFundFlowEntity.getType()){
+            return new FebsResponse().fail().message("该记录不存在");
+        }
+        if(DappFundFlowEntity.WITHDRAW_STATUS_ING != dappFundFlowEntity.getStatus()){
+            return new FebsResponse().fail().message("提现记录不是进行中状态");
+        }
+        DappMemberEntity dappMemberEntity = dappMemberDao.selectById(dappFundFlowEntity.getMemberId());
+        if(ObjectUtil.isEmpty(dappMemberEntity)) {
+            return new FebsResponse().fail().message("会员信息不存在");
+        }
+        MemberCoinWithdrawEntity memberCoinWithdrawEntity = memberCoinWithdrawDao.selectByFlowId(dappMemberEntity.getId(),dappFundFlowEntity.getId());
+        if(ObjectUtil.isEmpty(memberCoinWithdrawEntity)){
+            return new FebsResponse().fail().message("该记录不存在");
+        }
+        if(MemberCoinWithdrawEntity.STATUS_DOING != memberCoinWithdrawEntity.getStatus()){
+            return new FebsResponse().fail().message("提现记录不是进行中状态");
+        }
+        dappFundFlowEntity.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_AGREE);
+        dappFundFlowDao.updateById(dappFundFlowEntity);
+
+        memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_YES);
+        memberCoinWithdrawEntity.setIsInside(MemberCoinWithdrawEntity.ISINSIDE_NO);
+        memberCoinWithdrawDao.updateById(memberCoinWithdrawEntity);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public FebsResponse withdrawDisAgree(Long id) {
+        DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectById(id);
+
+        if(FundFlowEnum.WITHDRAW_USDT.getCode() != dappFundFlowEntity.getType()){
+            return new FebsResponse().fail().message("该记录不存在");
+        }
+        if(DappFundFlowEntity.WITHDRAW_STATUS_ING != dappFundFlowEntity.getStatus()){
+            return new FebsResponse().fail().message("提现记录不是进行中状态");
+        }
+        DappMemberEntity dappMemberEntity = dappMemberDao.selectById(dappFundFlowEntity.getMemberId());
+        if(ObjectUtil.isEmpty(dappMemberEntity)) {
+            return new FebsResponse().fail().message("会员信息不存在");
+        }
+        MemberCoinWithdrawEntity memberCoinWithdrawEntity = memberCoinWithdrawDao.selectByFlowId(dappMemberEntity.getId(),dappFundFlowEntity.getId());
+        if(ObjectUtil.isEmpty(memberCoinWithdrawEntity)){
+            return new FebsResponse().fail().message("该记录不存在");
+        }
+        if(MemberCoinWithdrawEntity.STATUS_DOING != memberCoinWithdrawEntity.getStatus()){
+            return new FebsResponse().fail().message("提现记录不是进行中状态");
+        }
+        dappFundFlowEntity.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_DISAGREE);
+        dappFundFlowDao.updateById(dappFundFlowEntity);
+
+        memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_NO);
+        memberCoinWithdrawEntity.setIsInside(MemberCoinWithdrawEntity.ISINSIDE_NO);
+        memberCoinWithdrawDao.updateById(memberCoinWithdrawEntity);
+        //增加余额
+        this.updateWalletCoinWithLock(dappFundFlowEntity.getAmount().negate(), dappMemberEntity.getId(), 1);
+        return new FebsResponse().success();
+    }
 }
diff --git a/src/main/resources/mapper/dapp/MemberCoinWithdrawMapper.xml b/src/main/resources/mapper/dapp/MemberCoinWithdrawMapper.xml
index 859a9dc..8d5c9f1 100644
--- a/src/main/resources/mapper/dapp/MemberCoinWithdrawMapper.xml
+++ b/src/main/resources/mapper/dapp/MemberCoinWithdrawMapper.xml
@@ -37,4 +37,13 @@
             and a.is_inside = #{type}
     </select>
 
+    <select id="selectByFlowId" resultType="cc.mrbird.febs.dapp.entity.MemberCoinWithdrawEntity">
+        SELECT
+            a.*
+        FROM
+            member_coin_withdraw a
+        where a.member_id = #{memberId}
+          and a.flow_id = #{flowId}
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1