From 86f2368f146af23c9e16507f790752e79858a29f Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Thu, 22 Feb 2024 22:34:31 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallActServiceImpl.java | 78 +++++++++++++++++++++++++++++++++++----
1 files changed, 70 insertions(+), 8 deletions(-)
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 b75b780..f677265 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) {
@@ -56,6 +54,10 @@
String actCode = addMallActDto.getActCode();
if (StrUtil.isEmpty(actCode)) {
return new FebsResponse().fail().message("活动编码不能为空");
+ }
+ String actImage = addMallActDto.getActImage();
+ if (StrUtil.isEmpty(actImage)) {
+ return new FebsResponse().fail().message("活动图片不能为空");
}
Date actStartTime = addMallActDto.getActStartTime();
if(ObjectUtil.isEmpty(actStartTime)){
@@ -109,6 +111,7 @@
MallActSet mallActSet = new MallActSet();
mallActSet.setActCode(actCode);
mallActSet.setActName(actName);
+ mallActSet.setActImage(actImage);
mallActSet.setActStartTime(actStartTime);
mallActSet.setActEndTime(actEndTime);
mallActSet.setActScoreCnt(actScoreCnt);
@@ -148,6 +151,15 @@
MallActSet mallActSet = this.baseMapper.selectById(id);
if (ObjectUtil.isEmpty(mallActSet)) {
return new FebsResponse().fail().message("活动不存在,请刷新当前页面");
+ }
+ Date date = new Date();
+ int compareStart = DateUtil.compare(date, mallActSet.getActStartTime());
+ if(compareStart < 0){
+ return new FebsResponse().fail().message("活动还未开始");
+ }
+ int compareEnd = DateUtil.compare(date, mallActSet.getActEndTime());
+ if(compareEnd > 0){
+ return new FebsResponse().fail().message("活动已结束");
}
mallActSet.setActStatus(MallActSet.ACT_STATUS_ENABLE);
this.baseMapper.updateById(mallActSet);
@@ -206,6 +218,10 @@
if (StrUtil.isEmpty(actCode)) {
return new FebsResponse().fail().message("活动编码不能为空");
}
+ String actImage = mallActUpdateDto.getActImage();
+ if (StrUtil.isEmpty(actImage)) {
+ return new FebsResponse().fail().message("活动图片不能为空");
+ }
Date actStartTime = mallActUpdateDto.getActStartTime();
if(ObjectUtil.isEmpty(actStartTime)){
return new FebsResponse().fail().message("开始日期不能为空");
@@ -257,6 +273,7 @@
}
mallActSet.setActCode(actCode);
mallActSet.setActName(actName);
+ mallActSet.setActImage(actImage);
mallActSet.setActStartTime(actStartTime);
mallActSet.setActEndTime(actEndTime);
mallActSet.setActScoreCnt(actScoreCnt);
@@ -312,4 +329,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("操作成功");
+ }
+
}
--
Gitblit v1.9.1