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