From 5c3e9863d44697dc904812af2dad8393d3a8b6a1 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 15 May 2025 13:41:49 +0800
Subject: [PATCH] feat(mall): 更新积分流动相关功能
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallActServiceImpl.java | 34 ++++++++++++++++++++++++++++++----
src/main/java/cc/mrbird/febs/common/enumerates/ScoreFlowTypeEnum.java | 6 +++++-
2 files changed, 35 insertions(+), 5 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/ScoreFlowTypeEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/ScoreFlowTypeEnum.java
index 02adc0f..89e15fb 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/ScoreFlowTypeEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/ScoreFlowTypeEnum.java
@@ -5,9 +5,13 @@
@Getter
public enum ScoreFlowTypeEnum {
+
/**
- *
+ * 抽奖
*/
+ LUCKY_DRAW_COMMISSION(13, "幸运获得{}佣金"),
+ LUCKY_DRAW_SCORE(12, "幸运获得{}积分"),
+ LUCKY_DRAW(11, "使用{}积分"),
MEMBER_INFO_GIFT(10, "完善个人信息,获得{}积分"),
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 137e07b..b4722f6 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
@@ -3,8 +3,10 @@
import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
+import cc.mrbird.febs.common.enumerates.ScoreFlowTypeEnum;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.LoginUserUtil;
+import cc.mrbird.febs.common.utils.MallUtils;
import cc.mrbird.febs.mall.dto.ApiMallActListDto;
import cc.mrbird.febs.mall.dto.ApiMallActWinDetailsDto;
import cc.mrbird.febs.mall.entity.*;
@@ -134,7 +136,7 @@
BigDecimal prizeScore = wallet.getPrizeScore();
Integer actScoreCnt = mallActSet.getActScoreCnt();
if(prizeScore.compareTo(new BigDecimal(actScoreCnt))<0){
- throw new FebsException("竞猜积分不足");
+ throw new FebsException("积分不足");
}
/**
* 中奖概率 20%
@@ -559,16 +561,40 @@
// 消耗积分
BigDecimal useScore = new BigDecimal(actScoreCnt);
mallMemberWalletService.reduce(useScore, wallet.getMemberId(), "prizeScore");
- mallMoneyFlowService.addMoneyFlow(wallet.getMemberId(), useScore.negate(), MoneyFlowTypeEnum.PRIZE.getValue(), null, FlowTypeEnum.PRIZE_SCORE.getValue());
+ mallMoneyFlowService.addMoneyFlow(
+ wallet.getMemberId(),
+ useScore.negate(),
+ ScoreFlowTypeEnum.LUCKY_DRAW.getValue(),
+ MallUtils.getOrderNum(),
+ FlowTypeEnum.PRIZE_SCORE.getValue(),
+ StrUtil.format(ScoreFlowTypeEnum.LUCKY_DRAW.getDesc(),useScore),
+ 2
+ );
if (apiMallAwardDetailsVo.getAwardType() != 3) {
BigDecimal prize = new BigDecimal(apiMallAwardDetailsVo.getAwardValue());
if (apiMallAwardDetailsVo.getAwardType() == 1) {
mallMemberWalletService.add(prize, wallet.getMemberId(), "prizeScore");
- mallMoneyFlowService.addMoneyFlow(wallet.getMemberId(), prize, MoneyFlowTypeEnum.PRIZE.getValue(), null, FlowTypeEnum.PRIZE_SCORE.getValue());
+ mallMoneyFlowService.addMoneyFlow(
+ wallet.getMemberId(),
+ prize,
+ ScoreFlowTypeEnum.LUCKY_DRAW.getValue(),
+ MallUtils.getOrderNum(),
+ FlowTypeEnum.PRIZE_SCORE.getValue(),
+ StrUtil.format(ScoreFlowTypeEnum.LUCKY_DRAW.getDesc(),prize),
+ 2
+ );
} else if (apiMallAwardDetailsVo.getAwardType() == 2) {
mallMemberWalletService.add(prize, wallet.getMemberId(), "commission");
- mallMoneyFlowService.addMoneyFlow(wallet.getMemberId(), prize, MoneyFlowTypeEnum.PRIZE.getValue(), null, FlowTypeEnum.COMMISSION.getValue());
+ mallMoneyFlowService.addMoneyFlow(
+ wallet.getMemberId(),
+ prize,
+ ScoreFlowTypeEnum.LUCKY_DRAW_COMMISSION.getValue(),
+ MallUtils.getOrderNum(),
+ FlowTypeEnum.COMMISSION.getValue(),
+ StrUtil.format(ScoreFlowTypeEnum.LUCKY_DRAW_COMMISSION.getDesc(),prize),
+ 2
+ );
}
}
return apiMallAwardDetailsVo;
--
Gitblit v1.9.1