xiaoyong931011
2022-09-01 854e2bd522c16327a1be43a4e09e0ff8c795b865
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallActServiceImpl.java
@@ -190,6 +190,7 @@
            }else{
                apiMallAwardDetailsVo.setAwardName("未中奖");
            }
            apiMallAwardDetailsVo.setAwardType(MallActAwardSet.AWARD_TYPE_XXCY);
        }else if(new BigDecimal(randomInt).compareTo(failureScope) > 0
                && new BigDecimal(randomInt).compareTo(failureScope.add(maxProbability.multiply(new BigDecimal(100)))) <= 0){
            //大于failureScope.add(maxProbability.multiply(new BigDecimal(100)))这个数字,则中奖
@@ -225,6 +226,7 @@
                        }else{
                            apiMallAwardDetailsVo.setAwardName("未中奖");
                        }
                        apiMallAwardDetailsVo.setAwardType(MallActAwardSet.AWARD_TYPE_XXCY);
                    }else{
                        List<MallActAwardSet> idList = new ArrayList();
                        for(MallActAwardSet mallActAwardSet : mallActAwardSets){
@@ -293,6 +295,7 @@
                    }else{
                        apiMallAwardDetailsVo.setAwardName("未中奖");
                    }
                    apiMallAwardDetailsVo.setAwardType(MallActAwardSet.AWARD_TYPE_XXCY);
                }
            }else{
                //获取活动下该类别的奖品
@@ -315,6 +318,7 @@
                    }else{
                        apiMallAwardDetailsVo.setAwardName("未中奖");
                    }
                    apiMallAwardDetailsVo.setAwardType(MallActAwardSet.AWARD_TYPE_XXCY);
                }else{
                    List<MallActAwardSet> idList = new ArrayList();
                    for(MallActAwardSet mallActAwardSet : mallActAwardSets){
@@ -400,6 +404,7 @@
                        }else{
                            apiMallAwardDetailsVo.setAwardName("未中奖");
                        }
                        apiMallAwardDetailsVo.setAwardType(MallActAwardSet.AWARD_TYPE_XXCY);
                    }else{
                        List<MallActAwardSet> idList = new ArrayList();
                        for(MallActAwardSet mallActAwardSet : mallActAwardSets){
@@ -468,6 +473,7 @@
                    }else{
                        apiMallAwardDetailsVo.setAwardName("未中奖");
                    }
                    apiMallAwardDetailsVo.setAwardType(MallActAwardSet.AWARD_TYPE_XXCY);
                }
            }else{
                //获取活动下该类别的奖品
@@ -490,6 +496,7 @@
                    }else{
                        apiMallAwardDetailsVo.setAwardName("未中奖");
                    }
                    apiMallAwardDetailsVo.setAwardType(MallActAwardSet.AWARD_TYPE_XXCY);
                }else{
                    List<MallActAwardSet> idList = new ArrayList();
                    for(MallActAwardSet mallActAwardSet : mallActAwardSets){
@@ -554,12 +561,15 @@
        mallMemberWalletService.reduce(useScore, wallet.getMemberId(), "prizeScore");
        mallMoneyFlowService.addMoneyFlow(wallet.getMemberId(), useScore.negate(), MoneyFlowTypeEnum.PRIZE.getValue(), null, FlowTypeEnum.PRIZE_SCORE.getValue());
        if (apiMallAwardDetailsVo.getAwardType() == 1) {
            mallMemberWalletService.add(new BigDecimal(apiMallAwardDetailsVo.getAwardValue()), wallet.getMemberId(), "prizeScore");
            mallMoneyFlowService.addMoneyFlow(wallet.getMemberId(), commission, MoneyFlowTypeEnum.PRIZE.getValue(), null, FlowTypeEnum.PRIZE_SCORE.getValue());
        } else if (apiMallAwardDetailsVo.getAwardType() == 2) {
            mallMemberWalletService.add(new BigDecimal(apiMallAwardDetailsVo.getAwardValue()), wallet.getMemberId(), "commission");
            mallMoneyFlowService.addMoneyFlow(wallet.getMemberId(), commission, MoneyFlowTypeEnum.PRIZE.getValue(), null, FlowTypeEnum.COMMISSION.getValue());
        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());
            } else if (apiMallAwardDetailsVo.getAwardType() == 2) {
                mallMemberWalletService.add(prize, wallet.getMemberId(), "commission");
                mallMoneyFlowService.addMoneyFlow(wallet.getMemberId(), prize, MoneyFlowTypeEnum.PRIZE.getValue(), null, FlowTypeEnum.COMMISSION.getValue());
            }
        }
        return apiMallAwardDetailsVo;
    }