From a8a697f24469493980dac7c715272ef90015435c Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Sat, 28 May 2022 16:18:49 +0800
Subject: [PATCH] 20220528

---
 src/main/java/cc/mrbird/febs/mall/service/ISystemService.java                |    4 +
 src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java       |   20 +++++
 src/main/java/cc/mrbird/febs/mall/service/ICommonService.java                |    2 
 src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java         |    3 
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |   11 ++
 src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java      |   11 ++
 src/main/java/cc/mrbird/febs/mall/service/impl/SystemServiceImpl.java        |    6 +
 src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java    |    9 ++
 src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java       |    4 
 src/main/resources/templates/febs/views/modules/system/cashOutSetting.html   |   89 ++++++++++++++++++++++
 src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java           |    1 
 src/main/java/cc/mrbird/febs/mall/dto/CashOutSettingDto.java                 |   23 +++++
 src/main/java/cc/mrbird/febs/mall/vo/CashOutSettingVo.java                   |   23 +++++
 13 files changed, 204 insertions(+), 2 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java b/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
index 1f90dab..bde2591 100644
--- a/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
+++ b/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
@@ -23,5 +23,6 @@
         registration.excludePathPatterns("/api/goods/**");
         registration.excludePathPatterns("/api/pay/**");
         registration.excludePathPatterns("/api/news/**");
+        registration.excludePathPatterns("/api/member/cashOutSetting");
     }
 }
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
index 9914870..6f4806f 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
@@ -12,12 +12,12 @@
     INDRECT_BONUS("BONUS_TYPE", "INDRECT_BONUS"),
     AGENT_BONUS("BONUS_TYPE", "AGENT_BONUS"),
     THANKFUL_BONUS("BONUS_TYPE", "THANKFUL_BONUS"),
-
     //积分中奖概率
     WIN_SCORE("WIN_PROBABILITY", "WIN_SCORE"),
     //佣金中奖概率
     WIN_CASH("WIN_PROBABILITY", "WIN_CASH"),
-    RANK_BONUS("BONUS_TYPE", "RANK_BONUS");
+    RANK_BONUS("BONUS_TYPE", "RANK_BONUS"),
+    CASHOUT_SETTING("CASHOUT_SET", "CASHOUT_SETTING");
 
     private String type;
 
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
index 39725ab..03153f4 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
@@ -1,6 +1,9 @@
 package cc.mrbird.febs.mall.controller;
 
 import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
+import cc.mrbird.febs.mall.dto.CashOutSettingDto;
+import cc.mrbird.febs.mall.service.ICommonService;
 import cc.mrbird.febs.mall.service.ISystemService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -23,9 +26,17 @@
     @Autowired
     private ISystemService systemService;
 
+    private final ICommonService commonService;
+
     @PostMapping(value = "/bonusSystemSetting")
     public FebsResponse bonusSystemSetting(@RequestBody Map<String, Object> map) {
         systemService.bonusSystemSetting(map);
         return new FebsResponse().success().message("设置成功");
     }
+
+    @PostMapping(value = "/cashOutSetting")
+    public FebsResponse cashOutSetting(CashOutSettingDto cashOutSettingDto) {
+        commonService.addDataDic(DataDictionaryEnum.CASHOUT_SETTING.getType(), DataDictionaryEnum.CASHOUT_SETTING.getCode(), cashOutSettingDto, "提现设置");
+        return new FebsResponse().success();
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
index 3d5afc2..ede4051 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -94,6 +94,15 @@
         return new FebsResponse().success().message("转账成功");
     }
 
+    @ApiOperation(value = "提现规则", notes = "提现规则")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = CashOutSettingVo.class)
+    })
+    @GetMapping(value = "/cashOutSetting")
+    public FebsResponse cashOutSetting() {
+        return new FebsResponse().success().data(memberService.cashOutSetting());
+    }
+
     @ApiOperation(value = "提现")
     @PostMapping(value = "/withdrawal")
     public FebsResponse withdrawal(@RequestBody @Validated WithdrawalDto withdrawalDto) {
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
index 3bc234b..aee528c 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
@@ -1,9 +1,17 @@
 package cc.mrbird.febs.mall.controller;
 
 import cc.mrbird.febs.common.entity.FebsConstant;
+import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
 import cc.mrbird.febs.common.utils.FebsUtil;
+import cc.mrbird.febs.mall.dto.CashOutSettingDto;
+import cc.mrbird.febs.mall.dto.ScoreSettingDto;
+import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
+import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
+import com.alibaba.fastjson.JSONObject;
 import lombok.RequiredArgsConstructor;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
@@ -13,8 +21,20 @@
 @RequiredArgsConstructor
 public class ViewSystemController {
 
+    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
+
     @GetMapping("profitSetting")
     public String profitSetting() {
         return FebsUtil.view("modules/system/profitSetting");
     }
+
+    @GetMapping("cashOutSetting")
+    @RequiresPermissions("cashOutSetting:update")
+    public String cashOutSetting(Model model) {
+        DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.CASHOUT_SETTING.getType(), DataDictionaryEnum.CASHOUT_SETTING.getCode());
+        if (dic != null) {
+            model.addAttribute("cashout", JSONObject.parseObject(dic.getValue(), CashOutSettingDto.class));
+        }
+        return FebsUtil.view("modules/system/cashOutSetting");
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/CashOutSettingDto.java b/src/main/java/cc/mrbird/febs/mall/dto/CashOutSettingDto.java
new file mode 100644
index 0000000..49dd2d8
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/CashOutSettingDto.java
@@ -0,0 +1,23 @@
+package cc.mrbird.febs.mall.dto;
+
+import lombok.Data;
+import java.math.BigDecimal;
+
+/**
+ *
+ *
+ * {"minCashOut":100,"allCashOut":5000,"serviceFee":0.3,"workingDays":1}
+ *
+ *
+ */
+@Data
+public class CashOutSettingDto {
+    //每次提现最小金额
+    private BigDecimal minCashOut;
+    //金额每日累计上限
+    private BigDecimal allCashOut;
+    //提现手续费率
+    private BigDecimal serviceFee;
+    //提现时间 1:工作日 2:每一天
+    private Integer workingDays;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
index 333e65f..fe1c8c1 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
@@ -5,6 +5,7 @@
 import cc.mrbird.febs.mall.entity.MallMember;
 import cc.mrbird.febs.mall.entity.MallMemberPayment;
 import cc.mrbird.febs.mall.entity.MallShopApply;
+import cc.mrbird.febs.mall.vo.CashOutSettingVo;
 import cc.mrbird.febs.mall.vo.MyCommissionVo;
 import cc.mrbird.febs.mall.vo.MyTeamVo;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -58,4 +59,6 @@
     MallShopApply findNewestApply();
 
     void addRegisterAppeal(RegisterAppealDto registerAppeal);
+
+    CashOutSettingVo cashOutSetting();
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/ICommonService.java b/src/main/java/cc/mrbird/febs/mall/service/ICommonService.java
index 508e71e..74df42d 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/ICommonService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/ICommonService.java
@@ -2,6 +2,7 @@
 
 import cc.mrbird.febs.mall.entity.AppVersion;
 import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
+import cc.mrbird.febs.mall.vo.CashOutSettingVo;
 
 import java.util.List;
 
@@ -17,4 +18,5 @@
     List<AppVersion> findAppVersion();
 
     void addDataDic(String type, String key, Object value, String description);
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/ISystemService.java b/src/main/java/cc/mrbird/febs/mall/service/ISystemService.java
index 60f0ed7..0dfa715 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/ISystemService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/ISystemService.java
@@ -1,8 +1,12 @@
 package cc.mrbird.febs.mall.service;
 
+import cc.mrbird.febs.mall.dto.CashOutSettingDto;
+
 import java.util.Map;
 
 public interface ISystemService {
 
     void bonusSystemSetting(Map<String, Object> map);
+
+    void cashOutSetting(String type, String code, CashOutSettingDto cashOutSettingDto, String 提现设置);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index 01d5eaf..7d9bedb 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -2,6 +2,7 @@
 
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.enumerates.AgentLevelEnum;
+import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
 import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
 import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
 import cc.mrbird.febs.common.exception.FebsException;
@@ -527,4 +528,14 @@
 
         mallRegisterAppealMapper.insert(isExist);
     }
+
+    @Override
+    public CashOutSettingVo cashOutSetting() {
+        CashOutSettingVo cashOutSettingVo = new CashOutSettingVo();
+        DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.CASHOUT_SETTING.getType(), DataDictionaryEnum.CASHOUT_SETTING.getCode());
+        if (dic != null) {
+            cashOutSettingVo = JSONObject.parseObject(dic.getValue(), CashOutSettingVo.class);
+        }
+        return cashOutSettingVo;
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/SystemServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/SystemServiceImpl.java
index 111ef5b..c702346 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/SystemServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/SystemServiceImpl.java
@@ -1,5 +1,6 @@
 package cc.mrbird.febs.mall.service.impl;
 
+import cc.mrbird.febs.mall.dto.CashOutSettingDto;
 import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
 import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
 import cc.mrbird.febs.mall.service.ICommonService;
@@ -42,4 +43,9 @@
             }
         }
     }
+
+    @Override
+    public void cashOutSetting(String type, String code, CashOutSettingDto cashOutSettingDto, String 提现设置) {
+
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/CashOutSettingVo.java b/src/main/java/cc/mrbird/febs/mall/vo/CashOutSettingVo.java
new file mode 100644
index 0000000..ec29d88
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/CashOutSettingVo.java
@@ -0,0 +1,23 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class CashOutSettingVo {
+
+    @ApiModelProperty(value = "每次最小提现金额")
+    private BigDecimal minCashOut;
+
+    @ApiModelProperty(value = "每日提现上限")
+    private BigDecimal allCashOut;
+
+    @ApiModelProperty(value = "提现手续费")
+    private BigDecimal serviceFee;
+
+    @ApiModelProperty(value = "提现时间 1:工作日 2:每一天")
+    private Integer workingDays;
+
+}
diff --git a/src/main/resources/templates/febs/views/modules/system/cashOutSetting.html b/src/main/resources/templates/febs/views/modules/system/cashOutSetting.html
new file mode 100644
index 0000000..f37145b
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/system/cashOutSetting.html
@@ -0,0 +1,89 @@
+<div class="layui-fluid layui-anim febs-anim" id="cashout-setting" lay-title="提现设置">
+    <div class="layui-row layui-col-space8 febs-container">
+        <form class="layui-form" action="" lay-filter="cashout-setting-form">
+            <div class="layui-card">
+                <div class="layui-card-body">
+                    <div class="layui-form-item">
+                        <label class="layui-form-label ">每次最小提现金额:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="minCashOut" data-th-id="${cashout.minCashOut}"
+                                   lay-verify="number" autocomplete="off" class="layui-input" >
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label ">每日提现上限:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="allCashOut" data-th-id="${cashout.allCashOut}"
+                                   lay-verify="number" autocomplete="off" class="layui-input" >
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label ">提现手续费:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="serviceFee" data-th-id="${cashout.serviceFee}"
+                                   lay-verify="text" autocomplete="off" class="layui-input" >
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label">提现时间:</label>
+                        <div class="layui-input-block">
+                            <input type="radio" name="workingDays" value="1" title="工作日">
+                            <input type="radio" name="workingDays" value="2" title="每一天">
+                        </div>
+                    </div>
+                </div>
+
+                <div class="layui-card-footer">
+                    <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="cashout-setting-form-submit" id="submit">保存</button>
+                </div>
+            </div>
+        </form>
+    </div>
+</div>
+<style>
+    .layui-form-label {
+        width: 120px;
+    }
+
+    .layui-form-item .layui-input-block {
+        margin-left: 150px;
+    }
+
+    .layui-table-form .layui-form-item {
+        margin-bottom: 20px !important;
+    }
+</style>
+<script data-th-inline="javascript" type="text/javascript">
+    layui.use(['dropdown', 'jquery', 'validate', 'febs', 'form', 'eleTree'], function () {
+        var $ = layui.jquery,
+            febs = layui.febs,
+            form = layui.form,
+            cashout = [[${cashout}]],
+            validate = layui.validate,
+            $view = $('#cashout-setting');
+
+        form.verify(validate);
+
+        initCashoutValue();
+
+        form.render();
+
+        function initCashoutValue() {
+            form.val("cashout-setting-form", {
+                "minCashOut": cashout.minCashOut,
+                "allCashOut": cashout.allCashOut,
+                "serviceFee": cashout.serviceFee,
+                "workingDays": cashout.workingDays
+            });
+        }
+
+        form.on('submit(cashout-setting-form-submit)', function (data) {
+            console.log(data);
+            febs.post(ctx + 'admin/system/cashOutSetting', data.field, function (res) {
+                febs.alert.success('设置成功');
+            });
+            window.location.reload();
+            return false;
+        });
+    });
+</script>
\ No newline at end of file

--
Gitblit v1.9.1