From 5ed10e400440b46f3427613984a84c978a1ecd89 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 06 Apr 2023 17:41:55 +0800
Subject: [PATCH] 测试环境

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java         |   22 ++--
 src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java       |   41 ++++++++
 src/main/java/cc/mrbird/febs/mall/vo/AdminPerkSetVo.java                     |   34 ++++++
 src/main/resources/templates/febs/views/modules/system/hlmVoucherButton.html |  121 ++++++++++++++++++++++++
 src/main/resources/templates/febs/views/modules/system/perkSet.html          |   62 +++++++++---
 5 files changed, 255 insertions(+), 25 deletions(-)

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 aa09f98..fac74ac 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
@@ -4,6 +4,7 @@
 import cc.mrbird.febs.common.enumerates.AgentLevelEnum;
 import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
 import cc.mrbird.febs.common.enumerates.OrderPayMethodEnum;
+import cc.mrbird.febs.common.enumerates.PerkEnum;
 import cc.mrbird.febs.common.service.ValidateCodeService;
 import cc.mrbird.febs.common.utils.FebsUtil;
 import cc.mrbird.febs.common.utils.RedisUtils;
@@ -13,6 +14,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.AdminPerkSetVo;
 import cc.mrbird.febs.monitor.service.ILoginLogService;
 import cc.mrbird.febs.system.service.IUserService;
 import cn.hutool.core.date.DateUtil;
@@ -120,4 +122,43 @@
         model.addAttribute("indexData", data);
         return FebsUtil.view("modules/system/indexData");
     }
+
+    @GetMapping("perkSet")
+    @RequiresPermissions("perkSet:view")
+    public String perkSet(Model model) {
+        AdminPerkSetVo adminPerkSetVo = new AdminPerkSetVo();
+        DataDictionaryCustom buySetMealPerkPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                PerkEnum.BUY_SET_MEAL_PERK_PERCENT.getType(),
+                PerkEnum.BUY_SET_MEAL_PERK_PERCENT.getCode());
+        if (buySetMealPerkPercentDic != null) {
+            adminPerkSetVo.setBuySetMealPerkPercent(buySetMealPerkPercentDic.getValue());
+        }
+        DataDictionaryCustom directCashPerkPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                PerkEnum.DIRECT_CASH_PERK_PERCENT.getType(),
+                PerkEnum.DIRECT_CASH_PERK_PERCENT.getCode());
+        if (directCashPerkPercentDic != null) {
+            adminPerkSetVo.setDirectCashPerkPercent(directCashPerkPercentDic.getValue());
+        }
+        DataDictionaryCustom directScorePerkPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                PerkEnum.DIRECT_SCORE_PERK_PERCENT.getType(),
+                PerkEnum.DIRECT_SCORE_PERK_PERCENT.getCode());
+        if (directScorePerkPercentDic != null) {
+            adminPerkSetVo.setDirectScorePerkPercent(directScorePerkPercentDic.getValue());
+        }
+        DataDictionaryCustom directorCashPerkPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                PerkEnum.DIRECTOR_CASH_PERK_PERCENT.getType(),
+                PerkEnum.DIRECTOR_CASH_PERK_PERCENT.getCode());
+        if (directorCashPerkPercentDic != null) {
+            adminPerkSetVo.setDirectorCashPerkPercent(directorCashPerkPercentDic.getValue());
+        }
+        DataDictionaryCustom partnerCashPerkPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                PerkEnum.PARTNER_CASH_PERK_PERCENT.getType(),
+                PerkEnum.PARTNER_CASH_PERK_PERCENT.getCode());
+        if (partnerCashPerkPercentDic != null) {
+            adminPerkSetVo.setPartnerCashPerkPercent(partnerCashPerkPercentDic.getValue());
+        }
+
+        model.addAttribute("adminPerkSet", adminPerkSetVo);
+        return FebsUtil.view("modules/system/perkSet");
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
index 7d568b7..0256d1d 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -272,16 +272,18 @@
             BigDecimal perkEnumDicPercent = new BigDecimal(perkEnumDic.getValue() == null ? "0" : perkEnumDic.getValue());
             //获得数量
             BigDecimal perkEnumDicPercentPerk = perkEnumDicPercent.multiply(AppContants.PERCENTAGE).multiply(amountTC).setScale(2, BigDecimal.ROUND_DOWN);
-            //增加
-            iApiMallMemberWalletService.add(perkEnumDicPercentPerk,memberId,walletField);
-            //增加一个流水记录
-            mallMoneyFlowService.addMoneyFlow(
-                    memberId,
-                    perkEnumDicPercentPerk,
-                    type,
-                    orderNo,
-                    flowType,
-                    AppContants.IS_RETURN_YES);
+            if(perkEnumDicPercentPerk.compareTo(BigDecimal.ZERO) > 0){
+                //增加
+                iApiMallMemberWalletService.add(perkEnumDicPercentPerk,memberId,walletField);
+                //增加一个流水记录
+                mallMoneyFlowService.addMoneyFlow(
+                        memberId,
+                        perkEnumDicPercentPerk,
+                        type,
+                        orderNo,
+                        flowType,
+                        AppContants.IS_RETURN_YES);
+            }
         }
     }
 
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminPerkSetVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminPerkSetVo.java
new file mode 100644
index 0000000..a2064e1
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminPerkSetVo.java
@@ -0,0 +1,34 @@
+package cc.mrbird.febs.mall.vo;
+
+import lombok.Data;
+
+@Data
+public class AdminPerkSetVo {
+
+    /**
+     * 购买套餐,给购买人固定比例的积分
+     * BUY_SET_MEAL_PERK_PERCENT
+     */
+    private String buySetMealPerkPercent;
+    /**
+     * 直推固定比例 现金比例
+     * DIRECT_CASH_PERK_PERCENT
+     */
+    private String directCashPerkPercent;
+    /**
+     * 直推固定比例 积分比例
+     * DIRECT_SCORE_PERK_PERCENT
+     */
+    private String directScorePerkPercent;
+    /**
+     * 合伙人享全公司入单分红5%加权(现金)
+     * PARTNER_CASH_PERK_PERCENT
+     */
+    private String partnerCashPerkPercent;
+    /**
+     * 董事享受全公司入单分红2%加权(现金)
+     * DIRECTOR_CASH_PERK_PERCENT
+     */
+    private String directorCashPerkPercent;
+
+}
diff --git a/src/main/resources/templates/febs/views/modules/system/hlmVoucherButton.html b/src/main/resources/templates/febs/views/modules/system/hlmVoucherButton.html
new file mode 100644
index 0000000..bb73368
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/system/hlmVoucherButton.html
@@ -0,0 +1,121 @@
+<div class="layui-fluid layui-anim febs-anim" id="hlm-voucher-button" lay-title="一键卖出">
+    <div class="layui-row layui-col-space8 febs-container">
+        <form class="layui-form" action="" lay-filter="hlm-voucher-button-form">
+            <div class="layui-card">
+                <div class="layui-card-body">
+                    <blockquote class="layui-elem-quote blue-border">绿色积分凭证</blockquote>
+                    <div class="layui-form-item">
+                        <div class="layui-inline">
+                            <label class="layui-form-label febs-form-item-require">价格:</label>
+                            <div class="layui-form-mid layui-word-aux">当前价格:</div>
+                            <div class="layui-input-inline">
+                                <input type="text" name="scorePrice" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input">
+                            </div>
+                        </div>
+                    </div>
+                    <blockquote class="layui-elem-quote blue-border">提现设置,提现时,是否需要凭证</blockquote>
+                    <div class="layui-col-lg6">
+                        <label class="layui-form-label febs-form-item-require">需要凭证:</label>
+                        <div class="layui-input-block">
+                            <input type="radio" name="voucherOnOff" value="1" title="是"  lay-filter="hasVoucher"/>
+                            <input type="radio" name="voucherOnOff" value="2" title="否"  lay-filter="hasVoucher" checked />
+                        </div>
+                    </div>
+
+                    <div class="layui-form-item voucher-percent-input febs-hide">
+                        <label class="layui-form-label">凭证比例:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="voucherPercent" placeholder="" autocomplete="off" class="layui-input">
+                        </div>
+                    </div>
+                    <div class="layui-card-footer">
+                        <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="hlm-voucher-button-submit" id="submit">保存</button>
+                            <div class="layui-btn layui-btn-warm table-action" id="voucherButton">
+                                确认一键卖出
+                            </div>
+                    </div>
+                    <div class="layui-card-footer">
+                    </div>
+                </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,
+            $view = $('#hlm-voucher-button'),
+            hlmVoucherButton = [[${hlmVoucherButtonDto}]],
+            $voucherButton = $view.find('#voucherButton'),
+            $view = $('#hlm-voucher-button');
+
+        form.verify({
+            integer: [
+                /^[1-9]\d*$/
+                , '只能输入正整数'
+            ]
+        });
+
+        initHlmVoucherButtonValue();
+
+        $voucherButton.on('click', function () {
+            febs.modal.confirm('确认一键卖出', '点击【确定】,即强制卖出所有账户的一半积分凭证?', function () {
+                selaHalfVoucher();
+            });
+        });
+
+
+        function selaHalfVoucher() {
+            febs.post(ctx + 'admin/system/selaHalfVoucher', null, function (res) {
+                febs.alert.success('设置成功');
+                return ;
+            });
+        }
+
+        form.on('radio(hasVoucher)', function(data){
+            if (data.value == 2) {
+                $('.voucher-percent-input').hide();
+            } else {
+                $('.voucher-percent-input').show();
+            }
+        });
+
+        form.render();
+
+        function initHlmVoucherButtonValue() {
+            form.val("hlm-voucher-button-form", {
+                "scorePrice": hlmVoucherButton.scorePrice,
+                "voucherOnOff": hlmVoucherButton.voucherOnOff,
+                "voucherPercent": hlmVoucherButton.voucherPercent,
+            });
+
+            if (hlmVoucherButton.voucherOnOff == 1) {
+                $(".voucher-percent-input").show();
+            }
+        }
+
+        form.on('submit(hlm-voucher-button-submit)', function (data) {
+            febs.post(ctx + 'admin/system/hlmVoucherButton', data.field, function (res) {
+                febs.alert.success('设置成功');
+                return ;
+            });
+            return false;
+        });
+    });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/system/perkSet.html b/src/main/resources/templates/febs/views/modules/system/perkSet.html
index a5a8f86..939e89d 100644
--- a/src/main/resources/templates/febs/views/modules/system/perkSet.html
+++ b/src/main/resources/templates/febs/views/modules/system/perkSet.html
@@ -3,21 +3,50 @@
         <form class="layui-form" action="" lay-filter="perk-set-form">
             <div class="layui-card">
                 <div class="layui-card-body">
+                    <blockquote class="layui-elem-quote blue-border">补贴比例设置(比例为百分比,例如:20,即获得订单中对应金额*20%的积分。)</blockquote>
                     <div class="layui-form-item">
-                        <label class="layui-form-label ">增加到积分池比例:</label>
-                        <div class="layui-input-block">
-                            <input type="text" name="everydayRatio" data-th-id="${scorePoor.everydayRatio}"
-                                   lay-verify="number" autocomplete="off" class="layui-input" >
+                        <div class="layui-inline">
+                            <label class="layui-form-label febs-form-item-require">购买人:</label>
+                            <div class="layui-form-mid layui-word-aux">获得【积分】比例:</div>
+                            <div class="layui-input-inline">
+                                <input type="text" name="buySetMealPerkPercent" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input">
+                            </div>
+                            <div class="layui-form-mid layui-word-aux">%。</div>
                         </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="dividEquallyRatio" data-th-id="${scorePoor.dividEquallyRatio}"
-                                   lay-verify="number" autocomplete="off" class="layui-input" >
+                        <div class="layui-inline">
+                            <label class="layui-form-label febs-form-item-require">直推:</label>
+                            <div class="layui-form-mid layui-word-aux">获得【现金】比例:</div>
+                            <div class="layui-input-inline">
+                                <input type="text" name="directCashPerkPercent" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input">
+                            </div>
+                            <div class="layui-form-mid layui-word-aux">%,获得【积分】比例:</div>
+                            <div class="layui-input-inline">
+                                <input type="text" name="directScorePerkPercent" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input">
+                            </div>
+                            <div class="layui-form-mid layui-word-aux">%。</div>
                         </div>
-                        <div class="layui-word-aux" style="margin-left: 150px;">【填写整数】积分池每日平分百分比:直接输入百分比,例如25%,直接输入25</div>
+                    </div>
+                    <div class="layui-form-item">
+                        <div class="layui-inline">
+                            <label class="layui-form-label febs-form-item-require">合伙人:</label>
+                            <div class="layui-form-mid layui-word-aux">获得【现金】比例:</div>
+                            <div class="layui-input-inline">
+                                <input type="text" name="partnerCashPerkPercent" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input">
+                            </div>
+                            <div class="layui-form-mid layui-word-aux">%。</div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <div class="layui-inline">
+                            <label class="layui-form-label febs-form-item-require">董事:</label>
+                            <div class="layui-form-mid layui-word-aux">获得【现金】比例:</div>
+                            <div class="layui-input-inline">
+                                <input type="text" name="directorCashPerkPercent" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input">
+                            </div>
+                            <div class="layui-form-mid layui-word-aux">%。</div>
+                        </div>
                     </div>
                 </div>
 
@@ -46,20 +75,23 @@
         var $ = layui.jquery,
             febs = layui.febs,
             form = layui.form,
-            scorePoor = [[${scorePoor}]],
+            adminPerkSet = [[${adminPerkSet}]],
             validate = layui.validate,
             $view = $('#perk-set');
 
         form.verify(validate);
 
-        initCashoutValue();
+        initPerkSetValue();
 
         form.render();
 
-        function initCashoutValue() {
+        function initPerkSetValue() {
             form.val("perk-set-form", {
-                "everydayRatio": scorePoor.everydayRatio,
-                "dividEquallyRatio": scorePoor.dividEquallyRatio
+                "buySetMealPerkPercent": adminPerkSet.buySetMealPerkPercent,
+                "directCashPerkPercent": adminPerkSet.directCashPerkPercent,
+                "directScorePerkPercent": adminPerkSet.directScorePerkPercent,
+                "partnerCashPerkPercent": adminPerkSet.partnerCashPerkPercent,
+                "directorCashPerkPercent": adminPerkSet.directorCashPerkPercent
             });
         }
 

--
Gitblit v1.9.1