From 0bc524c2ad75096ab88b6fc5d5725012020b3ea9 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 21 Feb 2024 16:25:53 +0800
Subject: [PATCH] 抽奖

---
 src/main/resources/templates/febs/views/modules/goods/tzList.html          |    9 +-
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java  |   24 ++++++++
 src/main/resources/templates/febs/views/modules/goods/tzUpdate.html        |   95 +++++++++++++++++++++++++++++++
 src/main/java/cc/mrbird/febs/mall/service/IAdminMallGoodsService.java      |    2 
 src/main/java/cc/mrbird/febs/mall/controller/AdminMallGoodsController.java |    9 +++
 src/main/java/cc/mrbird/febs/mall/entity/TzInfo.java                       |    2 
 src/main/java/cc/mrbird/febs/mall/service/impl/CJServiceImpl.java          |    9 +++
 src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java     |    5 +
 src/main/java/cc/mrbird/febs/mall/controller/ViewMallGoodsController.java  |   17 +++++
 9 files changed, 167 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 5e33d00..dac8f54 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
@@ -5,6 +5,11 @@
 
 @Getter
 public enum DataDictionaryEnum {
+
+    /**
+     * 本期开奖数字
+     */
+    OPEN_PRICE("OPEN_PRICE","OPEN_PRICE"),
     /**
      * 停止开关
      */
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallGoodsController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallGoodsController.java
index 282d5c8..be8e374 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallGoodsController.java
+++ b/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
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallGoodsController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallGoodsController.java
index 1234f09..bd2c279 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallGoodsController.java
+++ b/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");
+    }
 
     /**
      * 商品列表
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/TzInfo.java b/src/main/java/cc/mrbird/febs/mall/entity/TzInfo.java
index 77f35d9..6633f56 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/TzInfo.java
+++ b/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;//是否开奖
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallGoodsService.java b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallGoodsService.java
index 661995b..7ecd7d3 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallGoodsService.java
+++ b/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);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
index 00625d2..2b1907d 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
+++ b/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("操作成功");
+    }
+
 
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/CJServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/CJServiceImpl.java
index 86722cb..6b95791 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/CJServiceImpl.java
+++ b/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);
 
diff --git a/src/main/resources/templates/febs/views/modules/goods/tzList.html b/src/main/resources/templates/febs/views/modules/goods/tzList.html
index 555af92..3787916 100644
--- a/src/main/resources/templates/febs/views/modules/goods/tzList.html
+++ b/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'}
                 ]]
             });
diff --git a/src/main/resources/templates/febs/views/modules/goods/tzUpdate.html b/src/main/resources/templates/febs/views/modules/goods/tzUpdate.html
new file mode 100644
index 0000000..3469111
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/goods/tzUpdate.html
@@ -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>
\ No newline at end of file

--
Gitblit v1.9.1