From 57ac3a35ac056f0a09d8a013e8f3da2ecfe8a7c6 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 18 Mar 2024 11:12:51 +0800
Subject: [PATCH] 抽奖
---
src/main/java/cc/mrbird/febs/mall/dto/TransferDto.java | 2 +-
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java | 6 +++---
src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeNewEnum.java | 2 ++
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 29 +++++++++++++++++++++++++++--
4 files changed, 33 insertions(+), 6 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeNewEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeNewEnum.java
index fe34a7b..1112efb 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeNewEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeNewEnum.java
@@ -11,6 +11,8 @@
@Getter
public enum MoneyFlowTypeNewEnum {
+ NFT_TRANS_IN(30,"卡牌转入"),
+ NFT_TRANS_OUT(29,"卡牌转出"),
PERK_POINT(28,"节点收益"),
PERK_CYCLE(27,"收益"),
GSD_GFA(26,"GFD兑换GFA"),
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/TransferDto.java b/src/main/java/cc/mrbird/febs/mall/dto/TransferDto.java
index fec677f..d654219 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/TransferDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/TransferDto.java
@@ -18,7 +18,7 @@
@ApiModel(value = "TransferDto", description = "转账接收参数类")
public class TransferDto {
- @ApiModelProperty(value = "转出类型 1:FCM 2:令牌", example = "1")
+ @ApiModelProperty(value = "转出类型 1:FCM 2:令牌 3:卡牌", example = "1")
private int type;
@NotBlank(message = "转出账户不能为空")
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
index b98fba7..5104bed 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -1201,7 +1201,7 @@
queryMallMoneyFlow.eq("is_return",AppContants.MEMBER_FLOW_ING);
queryMallMoneyFlow.eq("flow_type",FlowTypeNewEnum.NFT.getValue());
List<MallMoneyFlow> mallMoneyFlows = mallMoneyFlowMapper.selectList(queryMallMoneyFlow);
- if(CollUtil.isNotEmpty(mallMoneyFlows)){
+ if(CollUtil.isEmpty(mallMoneyFlows)){
return;
}
@@ -1268,7 +1268,7 @@
queryMallMoneyFlow.eq("is_return",AppContants.MEMBER_FLOW_ING);
queryMallMoneyFlow.eq("flow_type",FlowTypeNewEnum.NFT.getValue());
List<MallMoneyFlow> mallMoneyFlows = mallMoneyFlowMapper.selectList(queryMallMoneyFlow);
- if(CollUtil.isNotEmpty(mallMoneyFlows)){
+ if(CollUtil.isEmpty(mallMoneyFlows)){
return;
}
@@ -1335,7 +1335,7 @@
queryMallMoneyFlow.eq("is_return",AppContants.MEMBER_FLOW_ING);
queryMallMoneyFlow.eq("flow_type",FlowTypeNewEnum.NFT.getValue());
List<MallMoneyFlow> mallMoneyFlows = mallMoneyFlowMapper.selectList(queryMallMoneyFlow);
- if(CollUtil.isNotEmpty(mallMoneyFlows)){
+ if(CollUtil.isEmpty(mallMoneyFlows)){
return;
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index 49e0d60..60bf5ca 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -493,7 +493,7 @@
BigDecimal amount = transferDto.getAmount();
int type = transferDto.getType();
- if(1 != type && 2 != type){
+ if(1 != type && 2 != type && 3 != type){
throw new FebsException("请选择互转类型");
}
Integer insideWith = loginMember.getInsideWith() == null ? 2 :loginMember.getInsideWith();
@@ -518,7 +518,6 @@
throw new FebsException("交易密码错误");
}
- BigDecimal avaAmount = transferDto.getAmount().setScale(2, BigDecimal.ROUND_DOWN);
MallMemberAmount mallMemberAmountLogin = mallMemberAmountMapper.selectByMemberId(loginMember.getId());
MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(mallMember.getId());
if(1 == type){
@@ -573,6 +572,32 @@
FlowTypeNewEnum.TOKEN.getValue(),
MoneyFlowTypeNewEnum.TOKEN_INSIDE_IN.getDescrition());
}
+ if(3 == type){
+ if (amount.compareTo(mallMemberAmountLogin.getTrendsNft()) > 0) {
+ throw new FebsException("卡牌不足");
+ }
+ mallMemberAmountLogin.setTrendsNft(mallMemberAmountLogin.getTrendsNft().subtract(amount));
+ mallMemberAmountMapper.updateTrendsNftById(mallMemberAmountLogin);
+ String orderNo = MallUtils.getOrderNum("NFT");
+ mallMoneyFlowService.addMoneyFlow(
+ loginMember.getId(),
+ amount.negate(),
+ MoneyFlowTypeNewEnum.NFT_TRANS_OUT.getValue(),
+ orderNo,
+ mallMember.getId(),
+ FlowTypeNewEnum.NFT.getValue(),
+ MoneyFlowTypeNewEnum.NFT_TRANS_OUT.getDescrition());
+ mallMemberAmount.setTrendsNft(mallMemberAmount.getTrendsNft().add(amount));
+ mallMemberAmountMapper.updateTrendsNftById(mallMemberAmount);
+ mallMoneyFlowService.addMoneyFlow(
+ mallMember.getId(),
+ amount,
+ MoneyFlowTypeNewEnum.NFT_TRANS_IN.getValue(),
+ orderNo,
+ loginMember.getId(),
+ FlowTypeNewEnum.NFT.getValue(),
+ MoneyFlowTypeNewEnum.NFT_TRANS_IN.getDescrition());
+ }
}
@Override
--
Gitblit v1.9.1