KKSU
2024-03-18 a580b5a79d7d00872455d5d12c4e15b0aaac224c
抽奖
4 files modified
30 ■■■■■ changed files
src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeNewEnum.java 1 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java 25 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
@@ -5,6 +5,8 @@
@Getter
public enum DataDictionaryEnum {
    //卡牌互转手续费
    FCM_INSIDE_NFT_PERCENT("FCM_INSIDE_NFT_PERCENT","FCM_INSIDE_NFT_PERCENT"),
    //销毁数量 按照比例销毁或者返利给节点
    FCM_DESTORY_TOTAL_PERCENT("FCM_DESTORY_TOTAL_PERCENT","FCM_DESTORY_TOTAL_PERCENT"),
    FCM_DESTORY_POINT_PERCENT("FCM_DESTORY_POINT_PERCENT","FCM_DESTORY_POINT_PERCENT"),
src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeNewEnum.java
@@ -11,6 +11,7 @@
@Getter
public enum MoneyFlowTypeNewEnum {
    NFT_TRANS_OUT_FEE(31,"卡牌转出手续费"),
    NFT_TRANS_IN(30,"卡牌转入"),
    NFT_TRANS_OUT(29,"卡牌转出"),
    PERK_POINT(28,"节点收益"),
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -315,6 +315,12 @@
        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);
    }
@@ -573,9 +579,16 @@
                    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");
@@ -587,11 +600,19 @@
                    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(),
src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
@@ -116,5 +116,7 @@
    @ApiModelProperty(value = "收益总额")
    private BigDecimal totalPerk;
    @ApiModelProperty(value = "卡牌互转手续费")
    private String insideNFTPercent;
}