From 98e8b6427b73efc44dbd9511e8291afea6c188d8 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 24 Aug 2023 11:44:26 +0800
Subject: [PATCH] 后台修改

---
 src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java               |    3 +
 src/main/java/cc/mrbird/febs/dapp/dto/HlmBasicPerkDto.java                     |    6 ++
 src/main/resources/mapper/dapp/DappFundFlowDao.xml                             |    6 ++
 src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java            |   10 +++
 src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java      |    9 +++
 src/main/java/cc/mrbird/febs/dapp/controller/ViewAdminMallGoodsController.java |   14 ++++
 src/main/java/cc/mrbird/febs/dapp/mapper/DappFundFlowDao.java                  |    2 
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java      |   42 ++++++++++++++
 src/main/java/cc/mrbird/febs/dapp/controller/AdminMallGoodsController.java     |    2 
 src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java      |    6 ++
 src/main/resources/templates/febs/views/goods/basicPerkSetting.html            |   17 +++++
 src/main/java/cc/mrbird/febs/dapp/vo/CashOutSettingVo.java                     |   16 +++++
 12 files changed, 132 insertions(+), 1 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/AdminMallGoodsController.java b/src/main/java/cc/mrbird/febs/dapp/controller/AdminMallGoodsController.java
index be16630..393186a 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/AdminMallGoodsController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/AdminMallGoodsController.java
@@ -447,7 +447,7 @@
                 temp.add("快递寄送");
                 temp.add("已支付");
                 temp.add("待发货");
-                temp.add(item.getPayTime());
+                temp.add(DateUtil.format(item.getPayTime(),"yyyy-MM-dd HH:mm:ss"));
 
                 List<MallOrderItemVo> mallOrderItemVoList = dappMemberDao.selectMallOrderItemVoByOrderId(item.getId());
                 if (CollUtil.isNotEmpty(mallOrderItemVoList)) {
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java
index 211642d..e66749f 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java
@@ -116,6 +116,15 @@
         return new FebsResponse().success().data("success");
     }
 
+    @ApiOperation(value = "提现规则", notes = "提现规则")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = CashOutSettingVo.class)
+    })
+    @GetMapping(value = "/cashOutSetting")
+    public FebsResponse cashOutSetting() {
+        return new FebsResponse().success().data(dappWalletService.cashOutSetting());
+    }
+
     @ApiOperation(value = "提现", notes = "提现")
     @PostMapping(value = "/withdraw")
     public FebsResponse withdraw(@RequestBody @Valid WithdrawDto withdrawDto) {
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ViewAdminMallGoodsController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ViewAdminMallGoodsController.java
index 3c45deb..378c9bf 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ViewAdminMallGoodsController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ViewAdminMallGoodsController.java
@@ -228,6 +228,20 @@
             String withDrawFee = ObjectUtil.isEmpty(withDrawFeeDic.getValue()) ? "0" : withDrawFeeDic.getValue();
             hlmBasicPerkDto.setWithDrawFee(withDrawFee);
         }
+        DataDictionaryCustom minWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getType(),
+                DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getCode());
+        if (withDrawFeeDic != null) {
+            String minWithdraw = ObjectUtil.isEmpty(minWithdrawDic.getValue()) ? "0" : minWithdrawDic.getValue();
+            hlmBasicPerkDto.setMinWithdraw(minWithdraw);
+        }
+        DataDictionaryCustom maxWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getType(),
+                DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getCode());
+        if (maxWithdrawDic != null) {
+            String maxWithdraw = ObjectUtil.isEmpty(maxWithdrawDic.getValue()) ? "0" : maxWithdrawDic.getValue();
+            hlmBasicPerkDto.setMaxWithdraw(maxWithdraw);
+        }
         model.addAttribute("hlmBasicPerk", hlmBasicPerkDto);
         return FebsUtil.view("goods/basicPerkSetting");
     }
diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/HlmBasicPerkDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/HlmBasicPerkDto.java
index 35f50bf..945b90d 100644
--- a/src/main/java/cc/mrbird/febs/dapp/dto/HlmBasicPerkDto.java
+++ b/src/main/java/cc/mrbird/febs/dapp/dto/HlmBasicPerkDto.java
@@ -41,4 +41,10 @@
 
     //提现手续费
     private String withDrawFee;
+
+    //提现手续费
+    private String minWithdraw;
+
+    //提现手续费
+    private String maxWithdraw;
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java b/src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java
index 2080552..f9676ac 100644
--- a/src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java
+++ b/src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java
@@ -6,6 +6,16 @@
 public enum DataDictionaryEnum {
 
     /**
+     *  今日最大提现金额
+     */
+    MAX_WITHDRAW_AMOUNT("MAX_WITHDRAW_AMOUNT","MAX_WITHDRAW_AMOUNT"),
+
+    /**
+     *  最小提现金额
+     */
+    MIN_WITHDRAW_AMOUNT("MIN_WITHDRAW_AMOUNT","MIN_WITHDRAW_AMOUNT"),
+
+    /**
      *  团队产生的收益1%奖励积分
      */
     PACKAGE_TEAM_PERK_PERCENT("PACKAGE_TEAM_PERK_PERCENT","PACKAGE_TEAM_PERK_PERCENT"),
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/DappFundFlowDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/DappFundFlowDao.java
index 17f21ea..8bebd17 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappFundFlowDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappFundFlowDao.java
@@ -62,4 +62,6 @@
     List<DappFundFlowEntity> selectListByMemberIdAndTypeAndDate(@Param("memberId")Long memberId, @Param("type")int code, @Param("dateStr") DateTime now);
 
     List<DappFundFlowEntity> selectListByTypeAndDate(@Param("type")int code, @Param("dateStr") DateTime now);
+
+    BigDecimal selectSumAmountByMemberIdAndType(@Param("memberId") Long memberId,@Param("type")int 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 9463c29..098113d 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
@@ -7,6 +7,7 @@
 import cc.mrbird.febs.dapp.entity.DappFundFlowEntity;
 import cc.mrbird.febs.dapp.entity.DappWalletCoinEntity;
 import cc.mrbird.febs.dapp.entity.DappWalletMineEntity;
+import cc.mrbird.febs.dapp.vo.CashOutSettingVo;
 import cc.mrbird.febs.dapp.vo.DappFundFlowVo;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
@@ -60,4 +61,6 @@
     FebsResponse getChangeInPageInPage(ChangeInPageDto changeInPageDto);
 
     FebsResponse changeInToday();
+
+    CashOutSettingVo cashOutSetting();
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
index 7ff7707..b5da304 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
@@ -253,6 +253,12 @@
         updateDataDic(DataDictionaryEnum.WITHDRAW_FEE.getType(),
                 DataDictionaryEnum.WITHDRAW_FEE.getCode(),
                 hlmBasicPerkDto.getWithDrawFee());
+        updateDataDic(DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getType(),
+                DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getCode(),
+                hlmBasicPerkDto.getMinWithdraw());
+        updateDataDic(DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getType(),
+                DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getCode(),
+                hlmBasicPerkDto.getMaxWithdraw());
     }
 
     @Override
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 c97f2c6..4e9db5c 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
@@ -14,6 +14,7 @@
 import cc.mrbird.febs.dapp.vo.*;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.RequiredArgsConstructor;
@@ -117,6 +118,26 @@
                 DataDictionaryEnum.WITHDRAW_FEE.getCode()
         );
         BigDecimal withdrawFee = new BigDecimal(withdrawFeeDic.getValue());
+        //最小提现金额
+        DataDictionaryCustom minWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getType(),
+                DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getCode()
+        );
+        BigDecimal minWithdraw = new BigDecimal(minWithdrawDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
+        if (minWithdraw.compareTo(withdrawDto.getAmount()) > 0) {
+            throw new FebsException("最小提现金额为"+minWithdraw);
+        }
+        //今日最大提现金额
+        DataDictionaryCustom maxWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getType(),
+                DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getCode()
+        );
+        BigDecimal maxWithdraw = new BigDecimal(maxWithdrawDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal withdrawToday = dappFundFlowDao.selectSumAmountByMemberIdAndType(member.getId(), FundFlowEnum.WITHDRAW_USDT.getCode());
+        withdrawToday = withdrawToday.add(withdrawDto.getAmount());
+        if (maxWithdraw.compareTo(withdrawToday) < 0) {
+            throw new FebsException("今日提现最多可申请"+maxWithdraw);
+        }
         //手续费
         BigDecimal feeAmount = amount.multiply(withdrawFee);
         //减少余额
@@ -798,4 +819,25 @@
         DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = dappAccountMoneyChangeDao.selectNewOneByMemberId(memberId);
         return new FebsResponse().success().data(dappAccountMoneyChangeEntity);
     }
+
+    @Override
+    public CashOutSettingVo cashOutSetting() {
+        CashOutSettingVo cashOutSettingVo = new CashOutSettingVo();
+        //最小提现金额
+        DataDictionaryCustom minWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getType(),
+                DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getCode()
+        );
+        BigDecimal minWithdraw = new BigDecimal(minWithdrawDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
+
+        cashOutSettingVo.setMinWithdraw(minWithdraw);
+        //今日最大提现金额
+        DataDictionaryCustom maxWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getType(),
+                DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getCode()
+        );
+        BigDecimal maxWithdraw = new BigDecimal(maxWithdrawDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
+        cashOutSettingVo.setMaxWithdraw(maxWithdraw);
+        return cashOutSettingVo;
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/CashOutSettingVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/CashOutSettingVo.java
new file mode 100644
index 0000000..8e6ed3c
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/CashOutSettingVo.java
@@ -0,0 +1,16 @@
+package cc.mrbird.febs.dapp.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class CashOutSettingVo {
+
+    @ApiModelProperty(value = "每次最小提现金额")
+    private BigDecimal minWithdraw;
+
+    @ApiModelProperty(value = "每日限额")
+    private BigDecimal maxWithdraw;
+}
diff --git a/src/main/resources/mapper/dapp/DappFundFlowDao.xml b/src/main/resources/mapper/dapp/DappFundFlowDao.xml
index e3eff08..179393f 100644
--- a/src/main/resources/mapper/dapp/DappFundFlowDao.xml
+++ b/src/main/resources/mapper/dapp/DappFundFlowDao.xml
@@ -205,4 +205,10 @@
           and status = 2
         group by member_id
     </select>
+
+    <select id="selectSumAmountByMemberIdAndType" resultType="java.math.BigDecimal">
+        select ifnull(sum(amount), 0) from dapp_fund_flow
+        where member_id = #{memberId}
+          and type = #{type}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/goods/basicPerkSetting.html b/src/main/resources/templates/febs/views/goods/basicPerkSetting.html
index e0a3ac2..043fd3c 100644
--- a/src/main/resources/templates/febs/views/goods/basicPerkSetting.html
+++ b/src/main/resources/templates/febs/views/goods/basicPerkSetting.html
@@ -81,6 +81,21 @@
                             <div class="layui-word-aux">资产包卖出划入底池比例</div>
                         </div>
                     </div>
+                    <blockquote class="layui-elem-quote blue-border">提现设置:</blockquote>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label febs-form-item-require">最小金额:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="minWithdraw" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+                            <div class="layui-word-aux">每次提现最小金额</div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label febs-form-item-require">每日限额:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="maxWithdraw" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+                            <div class="layui-word-aux">今日最大提现金额</div>
+                        </div>
+                    </div>
                     <div class="layui-form-item">
                         <label class="layui-form-label febs-form-item-require">提现手续(%):</label>
                         <div class="layui-input-block">
@@ -130,6 +145,8 @@
 
         function initHlmBasicPerkValue() {
             form.val("hlm-basic-perk-form", {
+                "minWithdraw": hlmBasicPerk.minWithdraw,
+                "maxWithdraw": hlmBasicPerk.maxWithdraw,
                 "withDrawFee": hlmBasicPerk.withDrawFee,
                 "packageSaleToPoorPercent": hlmBasicPerk.packageSaleToPoorPercent,
                 "packageScorePrice": hlmBasicPerk.packageScorePrice,

--
Gitblit v1.9.1