From a2e4953d756b9ec4d241144d2a2451921814479e Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 06 Jan 2023 15:59:57 +0800
Subject: [PATCH] 20221227 充值归集

---
 src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java   |   53 +++++++++++++
 src/main/java/cc/mrbird/febs/mall/vo/AdminSystemSettingVo.java            |   17 ++++
 src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java    |   35 ++++++++
 src/main/resources/templates/febs/views/modules/system/systemSetting.html |  113 +++++++++++++++------------
 4 files changed, 166 insertions(+), 52 deletions(-)

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 61acaa9..e72bb92 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
@@ -4,8 +4,13 @@
 import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
 import cc.mrbird.febs.mall.dto.CashOutSettingDto;
 import cc.mrbird.febs.mall.dto.ScorePoorDto;
+import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
+import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
 import cc.mrbird.febs.mall.service.ICommonService;
 import cc.mrbird.febs.mall.service.ISystemService;
+import cc.mrbird.febs.mall.vo.AdminSystemSettingVo;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -28,6 +33,7 @@
     private ISystemService systemService;
 
     private final ICommonService commonService;
+    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
 
     @PostMapping(value = "/bonusSystemSetting")
     public FebsResponse bonusSystemSetting(@RequestBody Map<String, Object> map) {
@@ -46,4 +52,51 @@
         commonService.addDataDic(DataDictionaryEnum.SCORE_POOR_RADIO.getType(), DataDictionaryEnum.SCORE_POOR_RADIO.getCode(), scorePoorDto, "积分池设置");
         return new FebsResponse().success();
     }
+
+    @PostMapping(value = "/systemSetting")
+    public FebsResponse systemSetting(AdminSystemSettingVo adminSystemSettingVo) {
+        String returnPercent = StrUtil.isEmpty(adminSystemSettingVo.getReturnPercent()) ? "0" : adminSystemSettingVo.getReturnPercent();
+        DataDictionaryCustom returnPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.RETURN_PERCENT.getType(),
+                DataDictionaryEnum.RETURN_PERCENT.getCode());
+        returnPercentDic.setValue(returnPercent);
+        dataDictionaryCustomMapper.updateById(returnPercentDic);
+
+        String levelOne = StrUtil.isEmpty(adminSystemSettingVo.getLevelOne()) ? "0" : adminSystemSettingVo.getLevelOne();
+        DataDictionaryCustom levelOneDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.LEVEL_ONE.getType(),
+                DataDictionaryEnum.LEVEL_ONE.getCode());
+        levelOneDic.setValue(levelOne);
+        dataDictionaryCustomMapper.updateById(levelOneDic);
+
+        String levelTwo = StrUtil.isEmpty(adminSystemSettingVo.getLevelTwo()) ? "0" : adminSystemSettingVo.getLevelTwo();
+        DataDictionaryCustom levelTwoDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.LEVEL_TWO.getType(),
+                DataDictionaryEnum.LEVEL_TWO.getCode());
+        levelTwoDic.setValue(levelTwo);
+        dataDictionaryCustomMapper.updateById(levelTwoDic);
+
+        String rewardPercent = StrUtil.isEmpty(adminSystemSettingVo.getRewardPercent()) ? "0" : adminSystemSettingVo.getRewardPercent();
+        DataDictionaryCustom rewardPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.REWARD_PERCENT.getType(),
+                DataDictionaryEnum.REWARD_PERCENT.getCode());
+        rewardPercentDic.setValue(rewardPercent);
+        dataDictionaryCustomMapper.updateById(rewardPercentDic);
+
+        String buyTimes = StrUtil.isEmpty(adminSystemSettingVo.getBuyTimes()) ? "0" : adminSystemSettingVo.getBuyTimes();
+        DataDictionaryCustom buyTimesDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.BUY_TIMES.getType(),
+                DataDictionaryEnum.BUY_TIMES.getCode());
+        buyTimesDic.setValue(buyTimes);
+        dataDictionaryCustomMapper.updateById(buyTimesDic);
+
+        String subsidyPercent = StrUtil.isEmpty(adminSystemSettingVo.getSubsidyPercent()) ? "0" : adminSystemSettingVo.getSubsidyPercent();
+        DataDictionaryCustom subsidyPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.SUBSIDY_PERCENT.getType(),
+                DataDictionaryEnum.SUBSIDY_PERCENT.getCode());
+        subsidyPercentDic.setValue(subsidyPercent);
+        dataDictionaryCustomMapper.updateById(subsidyPercentDic);
+
+        return new FebsResponse().success();
+    }
 }
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 ca9a8be..abc4293 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
@@ -13,6 +13,7 @@
 import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
 import cc.mrbird.febs.mall.entity.MallMember;
 import cc.mrbird.febs.mall.mapper.*;
+import cc.mrbird.febs.mall.vo.AdminSystemSettingVo;
 import cc.mrbird.febs.monitor.service.ILoginLogService;
 import cc.mrbird.febs.system.service.IUserService;
 import cn.hutool.core.date.DateUtil;
@@ -80,12 +81,44 @@
     @GetMapping("systemSetting")
     @RequiresPermissions("systemSetting:update")
     public String systemSetting(Model model) {
+        AdminSystemSettingVo adminSystemSettingVo = new AdminSystemSettingVo();
         DataDictionaryCustom returnPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                 DataDictionaryEnum.RETURN_PERCENT.getType(),
                 DataDictionaryEnum.RETURN_PERCENT.getCode());
         if (ObjectUtil.isNotEmpty(returnPercentDic)) {
-            model.addAttribute("returnPercent", returnPercentDic.getValue());
+            adminSystemSettingVo.setReturnPercent(returnPercentDic.getValue());
         }
+        DataDictionaryCustom levelOneDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.LEVEL_ONE.getType(),
+                DataDictionaryEnum.LEVEL_ONE.getCode());
+        if (ObjectUtil.isNotEmpty(levelOneDic)) {
+            adminSystemSettingVo.setLevelOne(levelOneDic.getValue());
+        }
+        DataDictionaryCustom levelTwoDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.LEVEL_TWO.getType(),
+                DataDictionaryEnum.LEVEL_TWO.getCode());
+        if (ObjectUtil.isNotEmpty(levelTwoDic)) {
+            adminSystemSettingVo.setLevelTwo(levelTwoDic.getValue());
+        }
+        DataDictionaryCustom rewardPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.REWARD_PERCENT.getType(),
+                DataDictionaryEnum.REWARD_PERCENT.getCode());
+        if (ObjectUtil.isNotEmpty(rewardPercentDic)) {
+            adminSystemSettingVo.setRewardPercent(rewardPercentDic.getValue());
+        }
+        DataDictionaryCustom buyTimesDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.BUY_TIMES.getType(),
+                DataDictionaryEnum.BUY_TIMES.getCode());
+        if (ObjectUtil.isNotEmpty(buyTimesDic)) {
+            adminSystemSettingVo.setBuyTimes(buyTimesDic.getValue());
+        }
+        DataDictionaryCustom subsidyPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.SUBSIDY_PERCENT.getType(),
+                DataDictionaryEnum.SUBSIDY_PERCENT.getCode());
+        if (ObjectUtil.isNotEmpty(subsidyPercentDic)) {
+            adminSystemSettingVo.setSubsidyPercent(subsidyPercentDic.getValue());
+        }
+        model.addAttribute("adminSystemSettingVo", adminSystemSettingVo);
         return FebsUtil.view("modules/system/systemSetting");
     }
 
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminSystemSettingVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminSystemSettingVo.java
new file mode 100644
index 0000000..fa1640a
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminSystemSettingVo.java
@@ -0,0 +1,17 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "AdminSystemSettingVo", description = "系统参数设置")
+public class AdminSystemSettingVo {
+
+    private String returnPercent;
+    private String subsidyPercent;
+    private String buyTimes;
+    private String rewardPercent;
+    private String levelOne;
+    private String levelTwo;
+
+}
diff --git a/src/main/resources/templates/febs/views/modules/system/systemSetting.html b/src/main/resources/templates/febs/views/modules/system/systemSetting.html
index a803168..75a87a4 100644
--- a/src/main/resources/templates/febs/views/modules/system/systemSetting.html
+++ b/src/main/resources/templates/febs/views/modules/system/systemSetting.html
@@ -3,54 +3,60 @@
         <form class="layui-form" action="" lay-filter="systemSetting-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="returnPercent" data-th-id="${returnPercent}"-->
-<!--                                   lay-verify="number" autocomplete="off" class="layui-input" >-->
-<!--                        </div>-->
-<!--                        <div class="layui-word-aux" style="margin-left: 150px;">【填写整数】:直接输入百分比,例如25%,直接输入25</div>-->
-<!--                    </div>-->
-<!--                    <div class="layui-form-item">-->
-<!--                        <label class="layui-form-label ">每日订单数:</label>-->
-<!--                        <div class="layui-input-block">-->
-<!--                            <input type="text" name="returnPercent" data-th-id="${returnPercent}"-->
-<!--                                   lay-verify="number" autocomplete="off" class="layui-input" >-->
-<!--                        </div>-->
-<!--                        <div class="layui-word-aux" style="margin-left: 150px;">【填写整数】</div>-->
-<!--                    </div>-->
-<!--                    <div class="layui-form-item">-->
-<!--                        <label class="layui-form-label ">直推返利:</label>-->
-<!--                        <div class="layui-input-block">-->
-<!--                            <input type="text" name="returnPercent" data-th-id="${returnPercent}"-->
-<!--                                   lay-verify="number" autocomplete="off" class="layui-input" >-->
-<!--                        </div>-->
-<!--                        <div class="layui-word-aux" style="margin-left: 150px;">【填写整数】:直接输入百分比,例如25%,直接输入25</div>-->
-<!--                    </div>-->
-<!--                    <div class="layui-form-item">-->
-<!--                        <label class="layui-form-label ">第一代分享奖:</label>-->
-<!--                        <div class="layui-input-block">-->
-<!--                            <input type="text" name="returnPercent" data-th-id="${returnPercent}"-->
-<!--                                   lay-verify="number" autocomplete="off" class="layui-input" >-->
-<!--                        </div>-->
-<!--                        <div class="layui-word-aux" style="margin-left: 150px;">【填写整数】:直接输入百分比,例如25%,直接输入25</div>-->
-<!--                    </div>-->
-<!--                    <div class="layui-form-item">-->
-<!--                        <label class="layui-form-label ">第二代分享奖:</label>-->
-<!--                        <div class="layui-input-block">-->
-<!--                            <input type="text" name="returnPercent" data-th-id="${returnPercent}"-->
-<!--                                   lay-verify="number" autocomplete="off" class="layui-input" >-->
-<!--                        </div>-->
-<!--                        <div class="layui-word-aux" style="margin-left: 150px;">【填写整数】:直接输入百分比,例如25%,直接输入25</div>-->
-<!--                    </div>-->
-<!--                    <div class="layui-form-item">-->
-<!--                        <label class="layui-form-label ">保证金返还:</label>-->
-<!--                        <div class="layui-input-block">-->
-<!--                            <input type="text" name="returnPercent" data-th-id="${returnPercent}"-->
-<!--                                   lay-verify="number" autocomplete="off" class="layui-input" >-->
-<!--                        </div>-->
-<!--                        <div class="layui-word-aux" style="margin-left: 150px;">【填写整数】:直接输入百分比,例如25%,直接输入25</div>-->
-<!--                    </div>-->
+                    <div class="layui-form-item">
+                        <label class="layui-form-label ">商品补贴比例:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="subsidyPercent" data-th-id="${adminSystemSettingVo.subsidyPercent}"
+                                   lay-verify="number" autocomplete="off" class="layui-input" >
+                        </div>
+                        <div class="layui-word-aux" style="margin-left: 150px;">完成一单,会员获得补贴订单金额</div>
+                        <div class="layui-word-aux" style="margin-left: 150px;">【填写整数】:直接输入百分比,例如25%,直接输入25</div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label ">每日订单数:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="buyTimes" data-th-id="${adminSystemSettingVo.buyTimes}"
+                                   lay-verify="number" autocomplete="off" class="layui-input" >
+                        </div>
+                        <div class="layui-word-aux" style="margin-left: 150px;">每日会员最多可完成的订单数量</div>
+                        <div class="layui-word-aux" style="margin-left: 150px;">【填写整数】</div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label ">直推返利比例:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="rewardPercent" data-th-id="${adminSystemSettingVo.rewardPercent}"
+                                   lay-verify="number" autocomplete="off" class="layui-input" >
+                        </div>
+                        <div class="layui-word-aux" style="margin-left: 150px;">完成订单,直属上级获得直推奖补贴</div>
+                        <div class="layui-word-aux" style="margin-left: 150px;">【填写整数】:直接输入百分比,例如25%,直接输入25</div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label ">第一代分享奖比例:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="levelOne" data-th-id="${adminSystemSettingVo.levelOne}"
+                                   lay-verify="number" autocomplete="off" class="layui-input" >
+                        </div>
+                        <div class="layui-word-aux" style="margin-left: 150px;">完成订单,直属上级获得分享奖补贴</div>
+                        <div class="layui-word-aux" style="margin-left: 150px;">【填写整数】:直接输入百分比,例如25%,直接输入25</div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label ">第二代分享奖比例:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="levelTwo" data-th-id="${adminSystemSettingVo.levelTwo}"
+                                   lay-verify="number" autocomplete="off" class="layui-input" >
+                        </div>
+                        <div class="layui-word-aux" style="margin-left: 150px;">完成订单,直属上级的直属上级获得分享奖补贴</div>
+                        <div class="layui-word-aux" style="margin-left: 150px;">【填写整数】:直接输入百分比,例如25%,直接输入25</div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label ">保证金返还比例:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="returnPercent" data-th-id="${adminSystemSettingVo.returnPercent}"
+                                   lay-verify="number" autocomplete="off" class="layui-input" >
+                        </div>
+                        <div class="layui-word-aux" style="margin-left: 150px;">购买星级后,每日返还保证金</div>
+                        <div class="layui-word-aux" style="margin-left: 150px;">【填写整数】:直接输入百分比,例如25%,直接输入25</div>
+                    </div>
                 </div>
 
                 <div class="layui-card-footer">
@@ -78,7 +84,7 @@
         var $ = layui.jquery,
             febs = layui.febs,
             form = layui.form,
-            returnPercent = [[${returnPercent}]],
+            adminSystemSettingVo = [[${adminSystemSettingVo}]],
             validate = layui.validate,
             $view = $('#systemSetting');
 
@@ -90,13 +96,18 @@
 
         function initCashoutValue() {
             form.val("systemSetting-form", {
-                "returnPercent": returnPercent,
+                "subsidyPercent": adminSystemSettingVo.subsidyPercent,
+                "buyTimes": adminSystemSettingVo.buyTimes,
+                "rewardPercent": adminSystemSettingVo.rewardPercent,
+                "levelOne": adminSystemSettingVo.levelOne,
+                "levelTwo": adminSystemSettingVo.levelTwo,
+                "returnPercent": adminSystemSettingVo.returnPercent,
             });
         }
 
         form.on('submit(systemSetting-form-submit)', function (data) {
             console.log(data);
-            febs.post(ctx + 'admin/system/scorePoor', data.field, function (res) {
+            febs.post(ctx + 'admin/system/systemSetting', data.field, function (res) {
                 febs.alert.success('设置成功');
             });
             window.location.reload();

--
Gitblit v1.9.1