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