KKSU
2024-02-21 0bc524c2ad75096ab88b6fc5d5725012020b3ea9
抽奖
8 files modified
1 files added
172 ■■■■■ changed files
src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/AdminMallGoodsController.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/ViewMallGoodsController.java 17 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/entity/TzInfo.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/IAdminMallGoodsService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java 24 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/CJServiceImpl.java 9 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/goods/tzList.html 9 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/goods/tzUpdate.html 95 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
@@ -5,6 +5,11 @@
@Getter
public enum DataDictionaryEnum {
    /**
     * 本期开奖数字
     */
    OPEN_PRICE("OPEN_PRICE","OPEN_PRICE"),
    /**
     * 停止开关
     */
src/main/java/cc/mrbird/febs/mall/controller/AdminMallGoodsController.java
@@ -116,6 +116,15 @@
    }
    /**
     * 商品-编辑
     */
    @PostMapping("tzUpdate")
    @ControllerEndpoint(operation = "商品-编辑", exceptionMessage = "操作失败")
    public FebsResponse tzUpdate(TzInfo tzInfo) {
        return adminMallGoodsService.tzUpdate(tzInfo);
    }
    /**
     * 商品列表
     * @param mallGoods
     * @param request
src/main/java/cc/mrbird/febs/mall/controller/ViewMallGoodsController.java
@@ -4,6 +4,8 @@
import cc.mrbird.febs.common.entity.FebsConstant;
import cc.mrbird.febs.common.utils.FebsUtil;
import cc.mrbird.febs.mall.entity.MallGoods;
import cc.mrbird.febs.mall.entity.TzInfo;
import cc.mrbird.febs.mall.mapper.TzInfoMapper;
import cc.mrbird.febs.mall.service.IAdminMallGoodsService;
import cc.mrbird.febs.mall.service.IAdminMallMemberService;
import cc.mrbird.febs.mall.vo.AdminMailGoodsDetailVo;
@@ -23,6 +25,21 @@
public class ViewMallGoodsController extends BaseController {
    private final IAdminMallGoodsService mallGoodsService;
    private final TzInfoMapper tzInfoMapper;
    /**
     * 商品-详情
     * @param id
     * @param model
     * @return
     */
    @GetMapping("tzUpdate/{id}")
    @RequiresPermissions("tzUpdate:update")
    public String tzUpdate(@PathVariable long id, Model model) {
        TzInfo tzInfo = tzInfoMapper.selectById(id);
        model.addAttribute("tzInfoVo", tzInfo);
        return FebsUtil.view("modules/goods/tzUpdate");
    }
    /**
     * 商品列表
src/main/java/cc/mrbird/febs/mall/entity/TzInfo.java
@@ -16,4 +16,6 @@
    private BigDecimal tzPercent;//获奖倍率
    @TableField(exist = false)
    private BigDecimal tzAmount;//投入总金额
    @TableField(exist = false)
    private String isRecommend;//是否开奖
}
src/main/java/cc/mrbird/febs/mall/service/IAdminMallGoodsService.java
@@ -44,4 +44,6 @@
    FebsResponse goodsNotHot(Long id);
    IPage<TzInfo> getTzListInPage(TzInfo tzInfo, QueryRequest request);
    FebsResponse tzUpdate(TzInfo tzInfo);
}
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
@@ -2,6 +2,7 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
import cc.mrbird.febs.common.utils.AppContants;
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.mall.conversion.MallGoodsConversion;
@@ -45,6 +46,8 @@
    private final RedisUtils redisUtils;
    private final CjItemMapper cjItemMapper;
    private final CjInfoMapper cjInfoMapper;
    private final TzInfoMapper tzInfoMapper;
    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
    @Override
    public IPage<AdminMallGoodsVo> getCategoryListInPage(MallGoods mallGoods, QueryRequest request) {
@@ -528,5 +531,26 @@
        return adminMallGoodsVos;
    }
    @Override
    public FebsResponse tzUpdate(TzInfo tzInfo) {
        Long id = tzInfo.getId();
        TzInfo tzInfo1 = tzInfoMapper.selectById(id);
        if(ObjectUtil.isEmpty(tzInfo1)){
            return new FebsResponse().fail().message("设置失败");
        }
        tzInfo1.setTzPercent(tzInfo.getTzPercent());
        tzInfoMapper.updateById(tzInfo1);
        if(ObjectUtil.isNotEmpty(tzInfo.getIsRecommend())){
            dataDictionaryCustomMapper.updateDicValueByTypeAndCode(
                    DataDictionaryEnum.OPEN_PRICE.getType(),
                    DataDictionaryEnum.OPEN_PRICE.getCode(),
                    tzInfo.getIsRecommend()
            );
        }
        return new FebsResponse().success().message("操作成功");
    }
}
src/main/java/cc/mrbird/febs/mall/service/impl/CJServiceImpl.java
@@ -178,7 +178,16 @@
        if(ObjectUtil.isEmpty(kjRecord)){
            return;
        }
        DataDictionaryCustom openPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                DataDictionaryEnum.OPEN_PRICE.getType(),
                DataDictionaryEnum.OPEN_PRICE.getCode()
        );
        int randomInt = RandomUtil.randomInt(1, 25);
        if(StrUtil.isNotEmpty(openPriceDic.getValue())){
            randomInt = Integer.parseInt(openPriceDic.getValue());
            openPriceDic.setValue("");
            dataDictionaryCustomMapper.updateById(openPriceDic);
        }
        kjRecord.setKjNum( String.valueOf(randomInt));
        kjRecordMapper.updateById(kjRecord);
src/main/resources/templates/febs/views/modules/goods/tzList.html
@@ -85,12 +85,11 @@
        table.on('tool(tzTable)', function (obj) {
            var data = obj.data,
                layEvent = obj.event;
            if (layEvent === 'goodsUpdate') {
                febs.modal.open('编辑', 'modules/goods/goodsUpdateNew/' + data.id, {
            if (layEvent === 'tzUpdate') {
                febs.modal.open('编辑', 'modules/goods/tzUpdate/' + data.id, {
                    btn: ['提交', '取消'],
                    area:['100%','100%'],
                    yes: function (index, layero) {
                        $('#febs-update').find('#submit').trigger('click');
                        $('#tz-update').find('#submit').trigger('click');
                    },
                    btn2: function () {
                        layer.closeAll();
@@ -124,7 +123,7 @@
                    {field: 'tzAmount', title: '投注总额', minWidth: 100,align:'left'},
                    {title: '操作',
                        templet: function (d) {
                            return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="goodsUpdate" shiro:hasPermission="user:update">编辑</button>'
                            return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="tzUpdate" shiro:hasPermission="tzUpdate:update">编辑</button>'
                        },minWidth: 160,align:'center'}
                ]]
            });
src/main/resources/templates/febs/views/modules/goods/tzUpdate.html
New file
@@ -0,0 +1,95 @@
<style>
    #tz-update {
        padding: 20px 25px 25px 0;
    }
    #tz-update .layui-treeSelect .ztree li a, .ztree li span {
        margin: 0 0 2px 3px !important;
    }
    #tz-update #data-permission-tree-block {
        border: 1px solid #eee;
        border-radius: 2px;
        padding: 3px 0;
    }
    #tz-update .layui-treeSelect .ztree li span.button.switch {
        top: 1px;
        left: 3px;
    }
    #tz-update img{
        max-width:100px
    }
</style>
<div class="layui-fluid" id="tz-update">
    <form class="layui-form" action="" lay-filter="tz-update-form">
        <div class="layui-form-item febs-hide">
            <label class="layui-form-label febs-form-item-require">用户id:</label>
            <div class="layui-input-block">
                <input type="text" name="id" data-th-value="${tzInfoVo.id}">
            </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="tzCode"
                       class="layui-input" readonly>
            </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="tzPercent"
                       class="layui-input" >
            </div>
        </div>
        <blockquote class="layui-elem-quote blue-border">本期开奖号码:请设置1-24的整数</blockquote>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">号码:</label>
            <div class="layui-input-block">
                <input type="text" name="isRecommend"
                       class="layui-input" >
            </div>
        </div>
        <div class="layui-form-item febs-hide">
            <button class="layui-btn" lay-submit="" lay-filter="tz-update-form-submit" id="submit"></button>
        </div>
    </form>
</div>
<script data-th-inline="javascript">
    layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree', 'laydate','upload'], function () {
        var $ = layui.$,
            febs = layui.febs,
            layer = layui.layer,
            formSelects = layui.formSelects,
            treeSelect = layui.treeSelect,
            form = layui.form,
            laydate = layui.laydate,
            eleTree = layui.eleTree,
            tzInfoVo = [[${tzInfoVo}]],
            $view = $('#tz-update'),
            upload = layui.upload,
            validate = layui.validate;
        form.render();
        initUserValue();
        function initUserValue() {
            form.val("tz-update-form", {
                "id": tzInfoVo.id,
                "tzCode": tzInfoVo.tzCode,
                "tzPercent": tzInfoVo.tzPercent,
                "isRecommend": tzInfoVo.isRecommend
            });
        }
        form.on('submit(tz-update-form-submit)', function (data) {
            febs.post(ctx + 'admin/goods/tzUpdate', data.field, function () {
                layer.closeAll();
                febs.alert.success('操作成功');
                $('#febs-tz').find('#reset').click();
            });
            return false;
        });
    });
</script>