| | |
| | | |
| | | BigDecimal totalPerk = mallProductBuyMapper.selectTotalPerkByMemberId(mallMember.getId()); |
| | | mallMemberVo.setTotalPerk(totalPerk); |
| | | |
| | | DataDictionaryCustom insideNFTPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.FCM_INSIDE_NFT_PERCENT.getType(), |
| | | DataDictionaryEnum.FCM_INSIDE_NFT_PERCENT.getCode() |
| | | ); |
| | | mallMemberVo.setInsideNFTPercent(insideNFTPercentDic.getValue()); |
| | | return new FebsResponse().success().data(mallMemberVo); |
| | | } |
| | | |
| | |
| | | MoneyFlowTypeNewEnum.TOKEN_INSIDE_IN.getDescrition()); |
| | | } |
| | | if(3 == type){ |
| | | DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.FCM_INSIDE_NFT_PERCENT.getType(), |
| | | DataDictionaryEnum.FCM_INSIDE_NFT_PERCENT.getCode() |
| | | ); |
| | | BigDecimal feePercent = new BigDecimal("0.01").multiply(new BigDecimal(dataDictionaryCustom.getValue())); |
| | | if (amount.compareTo(mallMemberAmountLogin.getTrendsNft()) > 0) { |
| | | throw new FebsException("卡牌不足"); |
| | | } |
| | | BigDecimal fee = amount.multiply(feePercent).setScale(2,BigDecimal.ROUND_DOWN); |
| | | BigDecimal amountReal = amount.subtract(fee); |
| | | mallMemberAmountLogin.setTrendsNft(mallMemberAmountLogin.getTrendsNft().subtract(amount)); |
| | | mallMemberAmountMapper.updateTrendsNftById(mallMemberAmountLogin); |
| | | String orderNo = MallUtils.getOrderNum("NFT"); |
| | |
| | | mallMember.getId(), |
| | | FlowTypeNewEnum.NFT.getValue(), |
| | | MoneyFlowTypeNewEnum.NFT_TRANS_OUT.getDescrition()); |
| | | mallMemberAmount.setTrendsNft(mallMemberAmount.getTrendsNft().add(amount)); |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | loginMember.getId(), |
| | | fee.negate(), |
| | | MoneyFlowTypeNewEnum.NFT_TRANS_OUT_FEE.getValue(), |
| | | orderNo, |
| | | mallMember.getId(), |
| | | FlowTypeNewEnum.NFT.getValue(), |
| | | MoneyFlowTypeNewEnum.NFT_TRANS_OUT_FEE.getDescrition()); |
| | | mallMemberAmount.setTrendsNft(mallMemberAmount.getTrendsNft().add(amountReal)); |
| | | mallMemberAmountMapper.updateTrendsNftById(mallMemberAmount); |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | mallMember.getId(), |
| | | amount, |
| | | amountReal, |
| | | MoneyFlowTypeNewEnum.NFT_TRANS_IN.getValue(), |
| | | orderNo, |
| | | loginMember.getId(), |