xiaoyong931011
2022-05-28 a8a697f24469493980dac7c715272ef90015435c
20220528
3 files added
10 files modified
206 ■■■■■ changed files
src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java 1 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java 20 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/dto/CashOutSettingDto.java 23 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/ICommonService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/ISystemService.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/SystemServiceImpl.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/CashOutSettingVo.java 23 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/system/cashOutSetting.html 89 ●●●●● patch | view | raw | blame | history
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");
    }
}
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;
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();
    }
}
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) {
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");
    }
}
src/main/java/cc/mrbird/febs/mall/dto/CashOutSettingDto.java
New file
@@ -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;
}
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();
}
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);
}
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 提现设置);
}
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;
    }
}
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 提现设置) {
    }
}
src/main/java/cc/mrbird/febs/mall/vo/CashOutSettingVo.java
New file
@@ -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;
}
src/main/resources/templates/febs/views/modules/system/cashOutSetting.html
New file
@@ -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>