xiaoyong931011
2023-04-17 5a6c79b44c14a8c42c100ffa1ac745e4212c7cae
后台修改
14 files modified
116 ■■■■ changed files
src/main/java/cc/mrbird/febs/common/enumerates/FlowTypeEnum.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/entity/MallGoods.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/entity/MallMemberWallet.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/IAgentService.java 8 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java 26 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/MallGoodsDetailsVo.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/MallGoodsListVo.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java 4 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html 2 ●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html 10 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html 20 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/system/perkSet.html 6 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/system/poolSet.html 24 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/enumerates/FlowTypeEnum.java
@@ -15,7 +15,7 @@
     */
    BALANCE(1),
    /**
     * 积分
     * H金劵
     */
    SCORE(2),
    /**
src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -111,7 +111,7 @@
        return new FebsResponse().success().message("提交成功");
    }
    @ApiOperation(value = "积分转余额")
    @ApiOperation(value = "H金劵转余额")
    @PostMapping(value = "/withdrawalScore")
    public FebsResponse withdrawalScore(@RequestBody @Validated WithdrawalScoreDto withdrawalScoreDto) {
        mallMemberWithdrawService.withdrawalScore(withdrawalScoreDto);
@@ -138,7 +138,7 @@
        return new FebsResponse().success().message("绑定成功");
    }
    @ApiOperation(value = "可提现金额 1:余额 2:积分")
    @ApiOperation(value = "可提现金额 1:余额 2:H金劵")
    @GetMapping(value = "/canWithdrawal/{type}")
    public FebsResponse canWithdrawal(@PathVariable("type") int type) {
        return new FebsResponse().success().data(memberService.canMoney(type));
src/main/java/cc/mrbird/febs/mall/entity/MallGoods.java
@@ -90,12 +90,12 @@
    private BigDecimal costPrice;
    /**
     * 商品类型 1-付费商品 2-积分商品
     * 商品类型 1-付费商品 2-H金劵商品
     */
    private Integer goodsType;
    /**
     * 积分
     * H金劵
     */
    private BigDecimal score;
src/main/java/cc/mrbird/febs/mall/entity/MallMemberWallet.java
@@ -25,7 +25,7 @@
    private BigDecimal balance;
    /**
     * 积分
     * H金劵
     */
    private BigDecimal score;
src/main/java/cc/mrbird/febs/mall/service/IAgentService.java
@@ -5,12 +5,12 @@
    void autoUpAgentLevel(Long memberId);
    /**
     * 1、购买人获得固定比例的积分
     * 2、直推获取8%的现金->余额,4%的积分->积分
     * 3、不同代理级别获取不用的比例的现金和积分
     * 1、购买人获得固定比例的H金劵
     * 2、直推获取8%的现金->余额,4%的H金劵->H金劵
     * 3、不同代理级别获取不用的比例的现金和H金劵
     * 4、董事享受全公司入单分红2%加权(现金)
     * 5、合伙人享全公司入单分红5%加权(现金)
     * 6、入单后,50%入现金池 35%的积分入积分池,更新价格
     * 6、入单后,50%入现金池 35%的H金劵入H金劵池,更新价格
     */
    void returnMoneyToAgent(Long orderId);
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -192,12 +192,12 @@
    @Transactional(rollbackFor = Exception.class)
    public void returnMoneyToAgent(Long orderId) {
        /**
         * 1、购买人获得固定比例的积分
         * 2、直推获取8%的现金->余额,4%的积分->积分
         * 3、不同代理级别获取不用的比例的现金和积分
         * 1、购买人获得固定比例的H金劵
         * 2、直推获取8%的现金->余额,4%的H金劵->H金劵
         * 3、不同代理级别获取不用的比例的现金和H金劵
         * 4、董事享受全公司入单分红2%加权(现金)
         * 5、合伙人享全公司入单分红5%加权(现金)
         * 6、入单后,50%入现金池 35%的积分入积分池,更新价格
         * 6、入单后,50%入现金池 35%的H金劵入H金劵池,更新价格
         */
        //获取当前订单子表信息
        List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectbyOrderId(orderId);
@@ -220,7 +220,7 @@
        Long memberId = mallOrderInfo.getMemberId();
        /**
         * 1、购买人获得固定比例的积分
         * 1、购买人获得固定比例的H金劵
         *      = amountTC * 固定比例
         */
        perkMember(memberId,
@@ -233,7 +233,7 @@
                orderNo);
        /**
         * 2、直推获取8%的现金->余额,4%的积分->积分
         * 2、直推获取8%的现金->余额,4%的H金劵->H金劵
         */
        MallMember mallMember = mallMemberMapper.selectById(memberId);
        if(ObjectUtil.isNotEmpty(mallMember.getReferrerId())){
@@ -291,7 +291,7 @@
        }
        /**
         * 3、团队下不同代理级别获取不用的比例的现金和积分
         * 3、团队下不同代理级别获取不用的比例的现金和H金劵
         */
        if(StrUtil.isNotEmpty(mallMember.getReferrerIds())){
            //团队补贴对象
@@ -330,7 +330,7 @@
                            BigDecimal cashAmount = amountTC.multiply(cashPercent).setScale(2, BigDecimal.ROUND_DOWN);
                            //如果是积分,除以当前价格,得到数量。
                            //如果是H金劵,除以当前价格,得到数量。
                            BigDecimal scoreCnt = amountTC.multiply(scorePercent).setScale(2, BigDecimal.ROUND_DOWN);
                            scoreCnt = scoreCnt.divide(poolScorePrice, 2 ,BigDecimal.ROUND_DOWN);
                            if(cashAmount.compareTo(BigDecimal.ZERO) > 0){
@@ -383,7 +383,7 @@
        }
        /**
         * 6、入单后,50%入现金池 35%的积分入积分池,更新价格
         * 6、入单后,50%入现金池 35%的H金劵入H金劵池,更新价格
         */
        DataDictionaryCustom poolCashPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                PerkEnum.POOL_CASH_PERCENT.getType(),
@@ -412,13 +412,13 @@
                    PerkEnum.POOL_SCORE_PRICE.getCode());
            BigDecimal poolScorePrice = new BigDecimal(poolScorePriceDic.getValue() == null ? "1" : poolScorePriceDic.getValue());
            BigDecimal poolScorePercent = new BigDecimal(poolScorePercentDic.getValue()).multiply(AppContants.PERCENTAGE);
            //新增积分数量
            //新增H金劵数量
            BigDecimal poolScoreAdd = amountTC.multiply(poolScorePercent);
            poolScoreAdd = poolScoreAdd.divide(poolScorePrice,2,BigDecimal.ROUND_DOWN);
            DataDictionaryCustom poolScoreDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                    PerkEnum.POOL_SCORE.getType(),
                    PerkEnum.POOL_SCORE.getCode());
            //当前积分池数量
            //当前H金劵池数量
            BigDecimal poolScore = new BigDecimal(poolScoreDic.getValue());
            poolScore = poolScore.add(poolScoreAdd).setScale(2,BigDecimal.ROUND_DOWN);
            dataDictionaryCustomMapper.updateDicValueByTypeAndCode(
@@ -444,7 +444,7 @@
     * @param memberId 用户ID
     * @param perkEnum 比例的枚举值
     * @param amountTC 总金额
     * @param walletField 类型:score:积分 balance:余额
     * @param walletField 类型:score:H金劵 balance:余额
     * @param type 流水类型
     * @param flowType 流水分类
     * @param orderNo 订单编号
@@ -457,7 +457,7 @@
            BigDecimal perkEnumDicPercent = new BigDecimal(perkEnumDic.getValue() == null ? "0" : perkEnumDic.getValue());
            //获得数量
            BigDecimal perkEnumDicPercentPerk = perkEnumDicPercent.multiply(AppContants.PERCENTAGE).multiply(amountTC).setScale(2, BigDecimal.ROUND_DOWN);
            //如果是积分,除以当前价格,得到数量。
            //如果是H金劵,除以当前价格,得到数量。
            if(walletField.equals("score")){
                DataDictionaryCustom poolScorePriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                        PerkEnum.POOL_SCORE_PRICE.getType(),
src/main/java/cc/mrbird/febs/mall/vo/MallGoodsDetailsVo.java
@@ -51,7 +51,7 @@
    @ApiModelProperty(value = "商品类型")
    private Integer goodsType;
    @ApiModelProperty(value = "积分")
    @ApiModelProperty(value = "H金劵")
    private BigDecimal score;
    @ApiModelProperty(value = "是否有运费")
src/main/java/cc/mrbird/febs/mall/vo/MallGoodsListVo.java
@@ -35,7 +35,7 @@
    @ApiModelProperty(value = "销量")
    private String saleVolume;
    @ApiModelProperty(value = "积分")
    @ApiModelProperty(value = "H金劵")
    private BigDecimal score;
    @ApiModelProperty(value = "是否有运费 1-是 2-包邮")
src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
@@ -66,10 +66,10 @@
    @ApiModelProperty(value = "累计消费")
    private BigDecimal totalCost;
    @ApiModelProperty(value = "积分")
    @ApiModelProperty(value = "H金劵")
    private BigDecimal score;
    @ApiModelProperty(value = "积分价格")
    @ApiModelProperty(value = "H金劵价格")
    private BigDecimal poolScorePrice;
    @ApiModelProperty(value = "抽奖积分")
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -243,7 +243,7 @@
                    {field: 'name', title: '名称', minWidth: 100,align:'left'},
                    {field: 'inviteId', title: '邀请码', minWidth: 100,align:'left'},
                    {field: 'balance', title: '余额', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.balance) }}'},
                    {field: 'score', title: '积分', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.score) }}'},
                    {field: 'score', title: 'H金劵', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.score) }}'},
                    // {field: 'prizeScore', title: '竞猜积分', minWidth: 100,align:'left'},
                    // {field: 'commission', title: '佣金', minWidth: 100,align:'left'},
                    {field: 'referrerName', title: '推荐人', minWidth: 100,align:'left'},
src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html
@@ -59,11 +59,11 @@
                            }else if (d.type === 16) {
                                return '<span>系统拨付</span>'
                            }else if (d.type === 19) {
                                return '<span>套餐获取积分补贴</span>'
                                return '<span>套餐获取H金劵补贴</span>'
                            }else if (d.type === 20) {
                                return '<span>直推现金补贴</span>'
                            }else if (d.type === 21) {
                                return '<span>直推积分补贴</span>'
                                return '<span>直推H金劵补贴</span>'
                            }else if (d.type === 22) {
                                return '<span>董事现金补贴</span>'
                            }else if (d.type === 23) {
@@ -71,9 +71,9 @@
                            }else if (d.type === 24) {
                                return '<span>代理现金补贴</span>'
                            }else if (d.type === 25) {
                                return '<span>代理积分补贴</span>'
                                return '<span>代理H金劵补贴</span>'
                            }else if (d.type === 26) {
                                return '<span>积分转余额</span>'
                                return '<span>H金劵转余额</span>'
                            }else{
                                return '-'
                            }
@@ -83,7 +83,7 @@
                            if (d.flowType === 1) {
                                return '余额';
                            } else if(d.flowType === 2) {
                                return '积分'
                                return 'H金劵'
                            } else {
                                return '-';
                            }
src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html
@@ -36,14 +36,14 @@
                                                <option value="11">退款</option>
                                                <option value="14">签到</option>
                                                <option value="16">系统拨付</option>
                                                <option value="19">套餐获取积分补贴</option>
                                                <option value="19">套餐获取H金劵补贴</option>
                                                <option value="20">直推现金补贴</option>
                                                <option value="21">直推积分补贴</option>
                                                <option value="21">直推H金劵补贴</option>
                                                <option value="22">董事现金补贴</option>
                                                <option value="23">合伙人现金补贴</option>
                                                <option value="24">代理现金补贴</option>
                                                <option value="25">代理积分补贴</option>
                                                <option value="26">积分转余额</option>
                                                <option value="25">代理H金劵补贴</option>
                                                <option value="26">H金劵转余额</option>
                                            </select>
                                        </div>
                                    </div>
@@ -53,7 +53,7 @@
                                            <select name="flowType">
                                                <option value="">请选择</option>
                                                <option value="1">余额</option>
                                                <option value="2">积分</option>
                                                <option value="2">H金劵</option>
                                            </select>
                                        </div>
                                    </div>
@@ -139,11 +139,11 @@
                            }else if (d.type === 16) {
                                return '<span>系统拨付</span>'
                            }else if (d.type === 19) {
                                return '<span>套餐获取积分补贴</span>'
                                return '<span>套餐获取H金劵补贴</span>'
                            }else if (d.type === 20) {
                                return '<span>直推现金补贴</span>'
                            }else if (d.type === 21) {
                                return '<span>直推积分补贴</span>'
                                return '<span>直推H金劵补贴</span>'
                            }else if (d.type === 22) {
                                return '<span>董事现金补贴</span>'
                            }else if (d.type === 23) {
@@ -151,9 +151,9 @@
                            }else if (d.type === 24) {
                                return '<span>代理现金补贴</span>'
                            }else if (d.type === 25) {
                                return '<span>代理积分补贴</span>'
                                return '<span>代理H金劵补贴</span>'
                            }else if (d.type === 26) {
                                return '<span>积分转余额</span>'
                                return '<span>H金劵转余额</span>'
                            }else{
                                return '-'
                            }
@@ -163,7 +163,7 @@
                            if (d.flowType === 1) {
                                return '余额';
                            } else if(d.flowType === 2) {
                                return '积分'
                                return 'H金劵'
                            } else {
                                return '-';
                            }
src/main/resources/templates/febs/views/modules/system/perkSet.html
@@ -3,11 +3,11 @@
        <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>
                    <blockquote class="layui-elem-quote blue-border">补贴比例设置(比例为百分比,例如:20,即获得订单中对应金额*20%的H金劵。)</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-form-mid layui-word-aux">获得【H金劵】比例:</div>
                            <div class="layui-input-inline">
                                <input type="text" name="buySetMealPerkPercent" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input">
                            </div>
@@ -21,7 +21,7 @@
                            <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-form-mid layui-word-aux">%,获得【H金劵】比例:</div>
                            <div class="layui-input-inline">
                                <input type="text" name="directScorePerkPercent" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input">
                            </div>
src/main/resources/templates/febs/views/modules/system/poolSet.html
@@ -1,9 +1,9 @@
<div class="layui-fluid layui-anim febs-anim" id="pool-set" lay-title="积分池设置">
<div class="layui-fluid layui-anim febs-anim" id="pool-set" lay-title="H金劵云设置">
    <div class="layui-row layui-col-space8 febs-container">
        <form class="layui-form" action="" lay-filter="pool-set-form">
            <div class="layui-card">
                <div class="layui-card-body">
                    <blockquote class="layui-elem-quote blue-border">积分池</blockquote>
                    <blockquote class="layui-elem-quote blue-border">H金劵池</blockquote>
                    <div class="layui-form-item">
                        <div class="layui-inline">
                            <label class="layui-form-label febs-form-item-require">现金:</label>
@@ -15,7 +15,7 @@
                    </div>
                    <div class="layui-form-item">
                        <div class="layui-inline">
                            <label class="layui-form-label febs-form-item-require">积分:</label>
                            <label class="layui-form-label febs-form-item-require">H金劵:</label>
                            <div class="layui-form-mid layui-word-aux">数量:</div>
                            <div class="layui-input-inline">
                                <input type="text" name="poolScore" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" readonly>
@@ -24,14 +24,14 @@
                    </div>
                    <div class="layui-form-item">
                        <div class="layui-inline">
                            <label class="layui-form-label febs-form-item-require">当前积分价格:</label>
                            <label class="layui-form-label febs-form-item-require">当前H金劵价格:</label>
                            <div class="layui-form-mid layui-word-aux">价格:</div>
                            <div class="layui-input-inline">
                                <input type="text" name="poolScorePrice" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" readonly>
                            </div>
                        </div>
                    </div>
                    <blockquote class="layui-elem-quote blue-border">积分池比例设置</blockquote>
                    <blockquote class="layui-elem-quote blue-border">H金劵池比例设置</blockquote>
                    <div class="layui-form-item">
                        <div class="layui-inline">
                            <label class="layui-form-label febs-form-item-require">现金:</label>
@@ -39,28 +39,28 @@
                            <div class="layui-input-inline">
                                <input type="text" name="poolCashPercent" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input">
                            </div>
                            <div class="layui-form-mid layui-word-aux">%,进入积分池。</div>
                            <div class="layui-form-mid layui-word-aux">%,进入H金劵池。</div>
                        </div>
                    </div>
                    <div class="layui-form-item">
                        <div class="layui-inline">
                            <label class="layui-form-label febs-form-item-require">积分:</label>
                            <label class="layui-form-label febs-form-item-require">H金劵:</label>
                            <div class="layui-form-mid layui-word-aux">每单产生:</div>
                            <div class="layui-input-inline">
                                <input type="text" name="poolScorePercent" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input">
                            </div>
                            <div class="layui-form-mid layui-word-aux">%,进入积分池。</div>
                            <div class="layui-form-mid layui-word-aux">%,进入H金劵池。</div>
                        </div>
                    </div>
                    <blockquote class="layui-elem-quote blue-border">积分转换比例设置(转换后,积分池【积分】减少,积分池【现金】增加)</blockquote>
                    <blockquote class="layui-elem-quote blue-border">H金劵转换比例设置(转换后,H金劵池【H金劵】减少,H金劵池【现金】增加)</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>
                            <label class="layui-form-label febs-form-item-require">H金劵:</label>
                            <div class="layui-form-mid layui-word-aux">每次转换H金劵数量乘H金劵当前价格后的:</div>
                            <div class="layui-input-inline">
                                <input type="text" name="withdrawScoreCashPercent" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input">
                            </div>
                            <div class="layui-form-mid layui-word-aux">%,进入积分现金池。</div>
                            <div class="layui-form-mid layui-word-aux">%,进入H金劵现金池。</div>
                        </div>
                    </div>
                </div>