From fcbdd13e64a2052c6bbf14e4f03cd43199780f0c Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 23 May 2022 11:40:21 +0800 Subject: [PATCH] 20220518 --- src/main/java/cc/mrbird/febs/mall/controller/AdminMallActController.java | 14 ++- src/main/java/cc/mrbird/febs/mall/dto/LuckDrawSettingDto.java | 13 +++ src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallActServiceImpl.java | 4 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallActServiceImpl.java | 59 ++++++++++++-- src/main/java/cc/mrbird/febs/mall/controller/ViewMallActController.java | 31 +++++++ src/main/java/cc/mrbird/febs/mall/service/IAdminMallActService.java | 3 src/main/resources/templates/febs/views/modules/act/setting.html | 59 ++++++++++++++ 7 files changed, 168 insertions(+), 15 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallActController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallActController.java index 0b238be..0b051b4 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallActController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallActController.java @@ -4,10 +4,8 @@ import cc.mrbird.febs.common.controller.BaseController; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; -import cc.mrbird.febs.mall.dto.AddMallActDto; -import cc.mrbird.febs.mall.dto.AddMallGoodsDto; -import cc.mrbird.febs.mall.dto.MallActUpdateDto; -import cc.mrbird.febs.mall.dto.MallGoodsUpdateDto; +import cc.mrbird.febs.common.enumerates.DataDictionaryEnum; +import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.entity.MallActLuckdrawRecord; import cc.mrbird.febs.mall.entity.MallActSet; import cc.mrbird.febs.mall.entity.MallGoods; @@ -93,5 +91,13 @@ return new FebsResponse().success().data(data); } + /** + * 中奖概率设置 + */ + @PostMapping(value = "/addSetting") + public FebsResponse addSetting(LuckDrawSettingDto luckDrawSettingDto) { + return iAdminMallActService.addSetting(luckDrawSettingDto); + } + } diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallActController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallActController.java index 178b63c..cc10fd2 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallActController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallActController.java @@ -2,12 +2,18 @@ import cc.mrbird.febs.common.controller.BaseController; 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.LuckDrawSettingDto; +import cc.mrbird.febs.mall.dto.ScoreSettingDto; +import cc.mrbird.febs.mall.entity.DataDictionaryCustom; import cc.mrbird.febs.mall.entity.MallActSet; import cc.mrbird.febs.mall.entity.MallActWinRecord; -import cc.mrbird.febs.mall.entity.MallGoods; +import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper; import cc.mrbird.febs.mall.service.IAdminMallActService; +import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; +import cn.hutool.core.util.ObjectUtil; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -21,6 +27,8 @@ public class ViewMallActController extends BaseController { private final IAdminMallActService iAdminMallActService; + + private final DataDictionaryCustomMapper dataDictionaryCustomMapper; /** * 活动-列表 @@ -71,4 +79,25 @@ return FebsUtil.view("modules/act/winRecordInfo"); } + /** + * 中奖概率设置 + */ + @GetMapping("setting") + @RequiresPermissions("luckdrawWinSet:see") + public String setting(Model model) { + DataDictionaryCustom dicScore = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WIN_SCORE.getType(), DataDictionaryEnum.WIN_SCORE.getCode()); + DataDictionaryCustom dicCash = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WIN_CASH.getType(), DataDictionaryEnum.WIN_CASH.getCode()); + LuckDrawSettingDto luckDrawSettingDto = new LuckDrawSettingDto(); + if(ObjectUtil.isNotEmpty(dicCash)){ + luckDrawSettingDto.setCashSet(dicCash.getValue() == null ? "0" : dicCash.getValue()); + } + if(ObjectUtil.isNotEmpty(dicScore)){ + luckDrawSettingDto.setScoreSet(dicScore.getValue() == null ? "0" : dicScore.getValue()); + } + if (dicCash != null) { + model.addAttribute("obj", luckDrawSettingDto); + } + return FebsUtil.view("modules/act/setting"); + } + } diff --git a/src/main/java/cc/mrbird/febs/mall/dto/LuckDrawSettingDto.java b/src/main/java/cc/mrbird/febs/mall/dto/LuckDrawSettingDto.java new file mode 100644 index 0000000..3b254b7 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/LuckDrawSettingDto.java @@ -0,0 +1,13 @@ +package cc.mrbird.febs.mall.dto; + +import lombok.Data; + +@Data +public class LuckDrawSettingDto { + + //积分中奖概率 + private String scoreSet; + //佣金中奖概率 + private String cashSet; + +} diff --git a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallActService.java b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallActService.java index 4e13e61..f00ba85 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallActService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallActService.java @@ -3,6 +3,7 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.mall.dto.AddMallActDto; +import cc.mrbird.febs.mall.dto.LuckDrawSettingDto; import cc.mrbird.febs.mall.dto.MallActUpdateDto; import cc.mrbird.febs.mall.entity.MallActLuckdrawRecord; import cc.mrbird.febs.mall.entity.MallActSet; @@ -32,4 +33,6 @@ IPage<AdminMallActLuckdrawRecordVo> getLuckdrawListInPage(MallActLuckdrawRecord mallActLuckdrawRecord, QueryRequest request); MallActWinRecord selectMallActWinInfoById(long id); + + FebsResponse addSetting(LuckDrawSettingDto luckDrawSettingDto); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallActServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallActServiceImpl.java index 92caadb..40d0090 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallActServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallActServiceImpl.java @@ -2,22 +2,19 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; -import cc.mrbird.febs.mall.dto.AddMallActAwardDto; -import cc.mrbird.febs.mall.dto.AddMallActDto; -import cc.mrbird.febs.mall.dto.MallActAwardUpdateDto; -import cc.mrbird.febs.mall.dto.MallActUpdateDto; +import cc.mrbird.febs.common.enumerates.DataDictionaryEnum; +import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.entity.*; -import cc.mrbird.febs.mall.mapper.MallActAwardSetMapper; -import cc.mrbird.febs.mall.mapper.MallActLuckdrawRecordMapper; -import cc.mrbird.febs.mall.mapper.MallActSetMapper; -import cc.mrbird.febs.mall.mapper.MallActWinRecordMapper; +import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.IAdminMallActService; import cc.mrbird.febs.mall.vo.AdminMallActLuckdrawRecordVo; import cc.mrbird.febs.mall.vo.AdminMallActSetVo; import cn.hutool.core.util.StrUtil; +import cn.hutool.core.util.NumberUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -38,6 +35,7 @@ private final MallActAwardSetMapper mallActAwardSetMapper; private final MallActLuckdrawRecordMapper mallActLuckdrawRecordMapper; private final MallActWinRecordMapper mallActWinRecordMapper; + private final DataDictionaryCustomMapper dataDictionaryCustomMapper; @Override public IPage<AdminMallActSetVo> getActListInPage(MallActSet mallActSet, QueryRequest request) { @@ -322,4 +320,49 @@ MallActWinRecord mallActWinRecord = mallActWinRecordMapper.selectByLuckDrawId(id); return mallActWinRecord; } + + @Override + public FebsResponse addSetting(LuckDrawSettingDto luckDrawSettingDto) { + + if(Double.parseDouble(luckDrawSettingDto.getScoreSet())>1 || Double.parseDouble(luckDrawSettingDto.getScoreSet()) <0){ + return new FebsResponse().fail().message("中奖概率必须是一个在零和一之间的小数"); + } + + if(Double.parseDouble(luckDrawSettingDto.getCashSet())>1 || Double.parseDouble(luckDrawSettingDto.getCashSet()) <0){ + return new FebsResponse().fail().message("中奖概率必须是一个在零和一之间的小数"); + } + + DataDictionaryCustom scoreDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.WIN_SCORE.getType(), + DataDictionaryEnum.WIN_SCORE.getCode()); + DataDictionaryCustom cashDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.WIN_CASH.getType(), + DataDictionaryEnum.WIN_CASH.getCode()); + + if (ObjectUtil.isNotEmpty(scoreDic)) { + scoreDic.setValue(luckDrawSettingDto.getScoreSet().toString()); + dataDictionaryCustomMapper.updateById(scoreDic); + }else{ + DataDictionaryCustom dataDictionaryCustom = new DataDictionaryCustom(); + dataDictionaryCustom.setCode(DataDictionaryEnum.WIN_SCORE.getCode()); + dataDictionaryCustom.setType(DataDictionaryEnum.WIN_SCORE.getType()); + dataDictionaryCustom.setValue(luckDrawSettingDto.getScoreSet().toString()); + dataDictionaryCustom.setDescription("积分中奖概率"); + dataDictionaryCustomMapper.insert(dataDictionaryCustom); + } + if (ObjectUtil.isNotEmpty(cashDic)) { + cashDic.setValue(luckDrawSettingDto.getCashSet().toString()); + dataDictionaryCustomMapper.updateById(cashDic); + }else{ + DataDictionaryCustom dataDictionaryCustom = new DataDictionaryCustom(); + dataDictionaryCustom.setCode(DataDictionaryEnum.WIN_CASH.getCode()); + dataDictionaryCustom.setType(DataDictionaryEnum.WIN_CASH.getType()); + dataDictionaryCustom.setValue(luckDrawSettingDto.getScoreSet().toString()); + dataDictionaryCustom.setDescription("佣金中奖概率"); + dataDictionaryCustomMapper.insert(dataDictionaryCustom); + } + + return new FebsResponse().success().message("操作成功"); + } + } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallActServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallActServiceImpl.java index 47ba08a..f95a34d 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallActServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallActServiceImpl.java @@ -142,8 +142,8 @@ DataDictionaryCustom cashDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( DataDictionaryEnum.WIN_CASH.getType(), DataDictionaryEnum.WIN_CASH.getCode()); - String scoreDicValue = scoreDic.getValue(); - String cashDicValue = cashDic.getValue(); + String scoreDicValue = scoreDic.getValue() == null? "0":scoreDic.getValue(); + String cashDicValue = cashDic.getValue() == null? "0":cashDic.getValue(); BigDecimal totalProbability = new BigDecimal(scoreDicValue).add(new BigDecimal(cashDicValue)); //获取那个更大一点的几率 BigDecimal maxProbability = BigDecimal.ZERO; diff --git a/src/main/resources/templates/febs/views/modules/act/setting.html b/src/main/resources/templates/febs/views/modules/act/setting.html new file mode 100644 index 0000000..c2baa2b --- /dev/null +++ b/src/main/resources/templates/febs/views/modules/act/setting.html @@ -0,0 +1,59 @@ +<div class="layui-fluid layui-anim febs-anim" id="act-setting" lay-title="中奖概率设置"> + <div class="layui-row layui-col-space8 febs-container"> + <form class="layui-form" action="" lay-filter="act-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="scoreSet" lay-verify="text" th:value="${obj != null ? obj.scoreSet : null}" 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="cashSet" lay-verify="text" th:value="${obj != null ? obj.cashSet : null}" autocomplete="off" class="layui-input"> + </div> + </div> + </div> + + <div class="layui-card-footer"> + <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="act-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, + validate = layui.validate, + $view = $('#act-setting'); + + form.verify(validate); + form.render(); + + form.on('submit(act-setting-form-submit)', function (data) { + console.log(data); + febs.post(ctx + 'admin/act/addSetting', data.field, function (res) { + febs.alert.success('设置成功'); + }); + return false; + }); + }); +</script> \ No newline at end of file -- Gitblit v1.9.1