From 4bcedc984948c3c757d6b155e019174ef2fe9a0a Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 14 Jun 2024 14:41:17 +0800
Subject: [PATCH] 星级矩阵

---
 src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java            |    4 ++
 src/main/resources/templates/febs/views/dapp/member-withdraw.html           |    2 
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java   |   50 +++++++++++++++++++++++++
 src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java |   23 +++++++++++
 src/main/java/cc/mrbird/febs/dapp/entity/DappFundFlowEntity.java            |    1 
 5 files changed, 78 insertions(+), 2 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 5d085b1..1f7aa3d 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java
@@ -1,5 +1,6 @@
 package cc.mrbird.febs.dapp.controller;
 
+import cc.mrbird.febs.common.annotation.ControllerEndpoint;
 import cc.mrbird.febs.common.controller.BaseController;
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
@@ -11,10 +12,12 @@
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.constraints.NotNull;
 
 /**
  * @author 
@@ -42,4 +45,22 @@
     public FebsResponse accountMoneyChangeFlow(DappAccountMoneyChangeEntity record, QueryRequest request) {
         return new FebsResponse().success().data(getDataTable(dappWalletService.accountMoneyChangeInPage(record, request)));
     }
+
+    /**
+     * 提现转账列表-同意
+     */
+    @GetMapping("withdrawAgree/{id}")
+    @ControllerEndpoint(operation = "提现转账列表-同意", exceptionMessage = "操作失败")
+    public FebsResponse agreeWithdraw(@NotNull(message = "{required}") @PathVariable Long id) {
+        return dappWalletService.agreeWithdraw(id);
+    }
+
+    /**
+     * 提现转账列表-拒绝
+     */
+    @GetMapping("withdrawDisAgree/{id}")
+    @ControllerEndpoint(operation = "提现转账列表-拒绝", exceptionMessage = "操作失败")
+    public FebsResponse disagreeWithdraw(@NotNull(message = "{required}") @PathVariable Long id) {
+        return dappWalletService.disagreeWithdraw(id);
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/entity/DappFundFlowEntity.java b/src/main/java/cc/mrbird/febs/dapp/entity/DappFundFlowEntity.java
index dba1f67..b6428b9 100644
--- a/src/main/java/cc/mrbird/febs/dapp/entity/DappFundFlowEntity.java
+++ b/src/main/java/cc/mrbird/febs/dapp/entity/DappFundFlowEntity.java
@@ -57,6 +57,7 @@
      *  19-手续费充值
      *  20-手续费扣除
      *  21-提现
+     *  22-提现失败
      */
     private Integer type;
 
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 3bc7e5c..21b424e 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
@@ -53,4 +53,8 @@
     MemberNodeVo memberNode(MemberNodeDto memberNodeDto);
 
     Long chargeFee(ChargeFeeDto chargeFeeDto);
+
+    FebsResponse agreeWithdraw(Long id);
+
+    FebsResponse disagreeWithdraw(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 7886ba2..f5d03db 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
@@ -52,6 +52,7 @@
     private final ChainProducer chainProducer;
     private final DappSystemDao dappSystemDao;
     private final DbMemberNodeMapper dbMemberNodeMapper;
+    private final DappWalletService dappWalletService;
 
     @Override
     public WalletInfoVo walletInfo() {
@@ -543,6 +544,55 @@
         return null;
     }
 
+    @Override
+    public FebsResponse agreeWithdraw(Long id) {
+        MemberCoinWithdrawEntity memberCoinWithdrawEntity = memberCoinWithdrawDao.selectById(id);
+        if(ObjectUtil.isEmpty(memberCoinWithdrawEntity)){
+            throw new FebsException("刷新页面重试");
+        }
+
+        if (MemberCoinWithdrawEntity.STATUS_DOING != memberCoinWithdrawEntity.getStatus()) {
+            throw new FebsException("非可审核状态");
+        }
+        memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_YES);
+        memberCoinWithdrawDao.updateById(memberCoinWithdrawEntity);
+
+        DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectById(memberCoinWithdrawEntity.getFlowId());
+        dappFundFlowEntity.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_AGREE);
+        dappFundFlowDao.updateById(dappFundFlowEntity);
+
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public FebsResponse disagreeWithdraw(Long id) {
+        MemberCoinWithdrawEntity memberCoinWithdrawEntity = memberCoinWithdrawDao.selectById(id);
+        if(ObjectUtil.isEmpty(memberCoinWithdrawEntity)){
+            throw new FebsException("刷新页面重试");
+        }
+
+        if (MemberCoinWithdrawEntity.STATUS_DOING != memberCoinWithdrawEntity.getStatus()) {
+            throw new FebsException("非可审核状态");
+        }
+
+        DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectById(memberCoinWithdrawEntity.getFlowId());
+        if (dappFundFlowEntity == null) {
+            throw new FebsException("审核失败,联系管理员");
+        }
+        memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_NO);
+        memberCoinWithdrawDao.updateById(memberCoinWithdrawEntity);
+
+        dappFundFlowEntity.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_DISAGREE);
+        dappFundFlowDao.updateById(dappFundFlowEntity);
+
+        dappWalletService.updateWalletCoinWithLock(memberCoinWithdrawEntity.getAmount(), memberCoinWithdrawEntity.getMemberId(), 1);
+        dappWalletService.updateWalletMineWithLock(memberCoinWithdrawEntity.getFeeAmount(), memberCoinWithdrawEntity.getMemberId(), 1);
+
+        DappFundFlowEntity feeFlow = new DappFundFlowEntity(memberCoinWithdrawEntity.getMemberId(), memberCoinWithdrawEntity.getFeeAmount(), 22, 2, null, null);
+        dappFundFlowDao.insert(feeFlow);
+        return new FebsResponse().success();
+    }
+
     public MemberNodeVo buildTeamMatrix(DbMemberNode dbMemberNode) {
         Long id = dbMemberNode.getId();
 
diff --git a/src/main/resources/templates/febs/views/dapp/member-withdraw.html b/src/main/resources/templates/febs/views/dapp/member-withdraw.html
index a780080..109385a 100644
--- a/src/main/resources/templates/febs/views/dapp/member-withdraw.html
+++ b/src/main/resources/templates/febs/views/dapp/member-withdraw.html
@@ -128,7 +128,7 @@
             tableIns = febs.table.init({
                 elem: $view.find('table'),
                 id: 'withdrawTable',
-                url: ctx + 'flow/fundFlow?type=2',
+                url: ctx + 'flow/fundFlow?type=21',
                 cols: [[
                     {field: 'address', title: '地址', minWidth: 130},
                     {field: 'createTime', title: '创建时间', minWidth: 180},

--
Gitblit v1.9.1