From 2232259e2d60eba8aabf9265bf6d9765cfd62b78 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 06 Mar 2023 18:08:34 +0800
Subject: [PATCH] 基础补贴

---
 src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java  |   26 ++++++
 src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java   |   53 ++++++++++++-
 src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java   |   26 ++++++
 src/main/java/cc/mrbird/febs/mall/dto/HlmBasicPerkDto.java               |   31 +++++++
 src/main/resources/templates/febs/views/modules/system/hlmBasicPerk.html |  101 +++++++++++++++++++++++++
 5 files changed, 232 insertions(+), 5 deletions(-)

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 d811523..d55a623 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
@@ -5,7 +5,31 @@
 
 @Getter
 public enum DataDictionaryEnum {
-
+    /**
+     * 商城每天新增业绩×本级别占比÷级别的总贡献值×个人贡献值数量=个人每天补贴
+     * 举例:假如您购买了礼包六1万元的产品(20个贡献值),身份是三星合伙人,同级别总共有50个贡献值,今天全网新增业绩50万,
+     * 当天补贴:500000×6%=30000÷50=600×20=12000
+     */
+    /**
+     * 基础补贴-代理商补贴
+     */
+    AGENT_PERK("PERK_SET","AGENT_PERK"),
+    /**
+     * 基础补贴-线下服务中心补贴
+     */
+    OFFLINE_PERK("PERK_SET","OFFLINE_PERK"),
+    /**
+     * 基础补贴-平级奖励补贴
+     */
+    TEAM_EQUALS_PERK("PERK_SET","TEAM_EQUALS_PERK"),
+    /**
+     * 基础补贴-团队补贴
+     */
+    TEAM_PERK("PERK_SET","TEAM_PERK"),
+    /**
+     * 基础补贴-分享补贴
+     */
+    SHARE_PERK("PERK_SET","SHARE_PERK"),
     /**
      * 签到设置-签到积分
      */
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 9d9eaa5..fef1c03 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
@@ -3,6 +3,7 @@
 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.dto.HlmBasicPerkDto;
 import cc.mrbird.febs.mall.dto.HlmScoreSetDto;
 import cc.mrbird.febs.mall.dto.ScorePoorDto;
 import cc.mrbird.febs.mall.service.ICommonService;
@@ -64,4 +65,29 @@
                 hlmScoreSetDto.getScoreChange());
         return new FebsResponse().success();
     }
+
+    @PostMapping(value = "/hlmBasicPerk")
+    public FebsResponse hlmBasicPerk(HlmBasicPerkDto hlmBasicPerkDto) {
+        commonService.updateDataDic(
+                DataDictionaryEnum.SHARE_PERK.getType(),
+                DataDictionaryEnum.SHARE_PERK.getCode(),
+                hlmBasicPerkDto.getSharePerk());
+        commonService.updateDataDic(
+                DataDictionaryEnum.TEAM_PERK.getType(),
+                DataDictionaryEnum.TEAM_PERK.getCode(),
+                hlmBasicPerkDto.getTeamPerk());
+        commonService.updateDataDic(
+                DataDictionaryEnum.TEAM_EQUALS_PERK.getType(),
+                DataDictionaryEnum.TEAM_EQUALS_PERK.getCode(),
+                hlmBasicPerkDto.getTeamEqualsPerk());
+        commonService.updateDataDic(
+                DataDictionaryEnum.OFFLINE_PERK.getType(),
+                DataDictionaryEnum.OFFLINE_PERK.getCode(),
+                hlmBasicPerkDto.getOffLinePerk());
+        commonService.updateDataDic(
+                DataDictionaryEnum.AGENT_PERK.getType(),
+                DataDictionaryEnum.AGENT_PERK.getCode(),
+                hlmBasicPerkDto.getAgentPerk());
+        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 c4d2ba5..087cdc4 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
@@ -7,10 +7,7 @@
 import cc.mrbird.febs.common.service.ValidateCodeService;
 import cc.mrbird.febs.common.utils.FebsUtil;
 import cc.mrbird.febs.common.utils.RedisUtils;
-import cc.mrbird.febs.mall.dto.CashOutSettingDto;
-import cc.mrbird.febs.mall.dto.HlmScoreSetDto;
-import cc.mrbird.febs.mall.dto.ScorePoorDto;
-import cc.mrbird.febs.mall.dto.ScoreSettingDto;
+import cc.mrbird.febs.mall.dto.*;
 import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
 import cc.mrbird.febs.mall.entity.MallMember;
 import cc.mrbird.febs.mall.mapper.*;
@@ -49,6 +46,11 @@
         return FebsUtil.view("modules/system/profitSetting");
     }
 
+    /**
+     * 积分设置
+     * @param model
+     * @return
+     */
     @GetMapping("hlmScoreSet")
     @RequiresPermissions("hlmScoreSet:view")
     public String hlmScoreSet(Model model) {
@@ -151,4 +153,47 @@
         model.addAttribute("indexData", data);
         return FebsUtil.view("modules/system/indexData");
     }
+
+    @GetMapping("hlmBasicPerk")
+    @RequiresPermissions("hlmBasicPerk:view")
+    public String hlmBasicPerk(Model model) {
+        HlmBasicPerkDto hlmBasicPerkDto = new HlmBasicPerkDto();
+        DataDictionaryCustom sharePerkDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.SHARE_PERK.getType(),
+                DataDictionaryEnum.SHARE_PERK.getCode());
+        if (sharePerkDic != null) {
+            String sharePerk = ObjectUtil.isEmpty(sharePerkDic.getValue()) ? "0" : sharePerkDic.getValue();
+            hlmBasicPerkDto.setSharePerk(sharePerk);
+        }
+        DataDictionaryCustom teamPerkDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.TEAM_PERK.getType(),
+                DataDictionaryEnum.TEAM_PERK.getCode());
+        if (teamPerkDic != null) {
+            String teamPerk = ObjectUtil.isEmpty(teamPerkDic.getValue()) ? "0" : teamPerkDic.getValue();
+            hlmBasicPerkDto.setTeamPerk(teamPerk);
+        }
+        DataDictionaryCustom teamEqualsPerkDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.TEAM_EQUALS_PERK.getType(),
+                DataDictionaryEnum.TEAM_EQUALS_PERK.getCode());
+        if (teamEqualsPerkDic != null) {
+            String teamEqualsPerk = ObjectUtil.isEmpty(teamEqualsPerkDic.getValue()) ? "0" : teamEqualsPerkDic.getValue();
+            hlmBasicPerkDto.setTeamEqualsPerk(teamEqualsPerk);
+        }
+        DataDictionaryCustom offLinePerkDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.OFFLINE_PERK.getType(),
+                DataDictionaryEnum.OFFLINE_PERK.getCode());
+        if (offLinePerkDic != null) {
+            String offLinePerk = ObjectUtil.isEmpty(offLinePerkDic.getValue()) ? "0" : offLinePerkDic.getValue();
+            hlmBasicPerkDto.setOffLinePerk(offLinePerk);
+        }
+        DataDictionaryCustom agentPerkDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.AGENT_PERK.getType(),
+                DataDictionaryEnum.AGENT_PERK.getCode());
+        if (agentPerkDic != null) {
+            String agentPerk = ObjectUtil.isEmpty(agentPerkDic.getValue()) ? "0" : agentPerkDic.getValue();
+            hlmBasicPerkDto.setAgentPerk(agentPerk);
+        }
+        model.addAttribute("hlmBasicPerk", hlmBasicPerkDto);
+        return FebsUtil.view("modules/system/hlmBasicPerk");
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/HlmBasicPerkDto.java b/src/main/java/cc/mrbird/febs/mall/dto/HlmBasicPerkDto.java
new file mode 100644
index 0000000..e6074c3
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/HlmBasicPerkDto.java
@@ -0,0 +1,31 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "HlmBasicPerkDto", description = "基础补贴设置")
+public class HlmBasicPerkDto {
+
+    /**
+     * 基础补贴-分享补贴
+     */
+    private String sharePerk;
+    /**
+     * 基础补贴-团队补贴
+     */
+    private String teamPerk;
+    /**
+     * 基础补贴-平级奖励补贴
+     */
+    private String teamEqualsPerk;
+    /**
+     * 基础补贴-线下服务中心补贴
+     */
+    private String offLinePerk;
+    /**
+     * 基础补贴-代理商补贴
+     */
+    private String agentPerk;
+
+}
diff --git a/src/main/resources/templates/febs/views/modules/system/hlmBasicPerk.html b/src/main/resources/templates/febs/views/modules/system/hlmBasicPerk.html
new file mode 100644
index 0000000..9042c15
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/system/hlmBasicPerk.html
@@ -0,0 +1,101 @@
+<div class="layui-fluid layui-anim febs-anim" id="hlm-basic-perk" lay-title="基础补贴设置">
+    <div class="layui-row layui-col-space8 febs-container">
+        <form class="layui-form" action="" lay-filter="hlm-basic-perk-form">
+            <div class="layui-card">
+                <div class="layui-card-body">
+                    <blockquote class="layui-elem-quote blue-border">基础补贴</blockquote>
+                    <div class="layui-row layui-col-space10 layui-form-item">
+                        <label class="layui-form-label febs-form-item-require">分享补贴(%):</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="sharePerk" lay-verify="required|integer" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+                            <div class="layui-word-aux">例:15%,填写15</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="teamPerk" lay-verify="required|integer" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+                            <div class="layui-word-aux">例:15%,填写15</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="teamEqualsPerk" lay-verify="required|integer" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+                            <div class="layui-word-aux">例:15%,填写15</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="offLinePerk" lay-verify="required|integer" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+                            <div class="layui-word-aux">例:15%,填写15</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="agentPerk" lay-verify="required|integer" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+                            <div class="layui-word-aux">例:15%,填写15</div>
+                        </div>
+                    </div>
+                </div>
+
+                <div class="layui-card-footer">
+                    <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="hlm-basic-perk-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', 'febs', 'form', 'eleTree'], function () {
+        var $ = layui.jquery,
+            febs = layui.febs,
+            form = layui.form,
+            hlmBasicPerk = [[${hlmBasicPerk}]],
+            $view = $('#hlm-basic-perk');
+
+        form.verify({
+            integer: [
+                /^[1-9]\d*$/
+                , '只能输入正整数'
+            ]
+        });
+
+        initHlmBasicPerkValue();
+
+        form.render();
+
+        function initHlmBasicPerkValue() {
+            form.val("hlm-basic-perk-form", {
+                "sharePerk": hlmBasicPerk.sharePerk,
+                "teamPerk": hlmBasicPerk.teamPerk,
+                "teamEqualsPerk": hlmBasicPerk.teamEqualsPerk,
+                "offLinePerk": hlmBasicPerk.offLinePerk,
+                "agentPerk": hlmBasicPerk.agentPerk
+            });
+        }
+
+        form.on('submit(hlm-basic-perk-submit)', function (data) {
+            febs.post(ctx + 'admin/system/hlmBasicPerk', data.field, function (res) {
+                febs.alert.success('设置成功');
+                return ;
+            });
+            return false;
+        });
+    });
+</script>
\ No newline at end of file

--
Gitblit v1.9.1