xiaoyong931011
2023-07-20 db0196ae6db238f8e387d24c9bbd4203ba834611
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -145,35 +145,8 @@
            if(1 != goodsResult){
                throw new FebsException(mallGoods.getGoodsName() + "库存不足");
            }
            BigDecimal amount = BigDecimal.ZERO;
            BigDecimal itemPrice = BigDecimal.ZERO;
            /**
             *
             */
            Integer isNormal = mallGoods.getIsNormal();
            if(GoodsTypeEnum.SCORE_CHANGE.getValue() == isNormal){
                //普通用户使用原价购买
                amount = sku.getOriginalPrice().multiply(BigDecimal.valueOf(item.getCnt()));
                itemPrice = sku.getOriginalPrice();
            }else if(GoodsTypeEnum.BUY_SCORE.getValue() == isNormal){
                //普通用户使用原价购买
                amount = sku.getLevelOnePrice().multiply(BigDecimal.valueOf(item.getCnt()));
                itemPrice = sku.getLevelOnePrice();
            }else if(GoodsTypeEnum.NORMAL_GOODS.getValue() == isNormal){
                //普通用户使用原价购买
                amount = sku.getLevelTwoPrice().multiply(BigDecimal.valueOf(item.getCnt()));
                itemPrice = sku.getLevelTwoPrice();
            }else if(GoodsTypeEnum.CLASS_ROLL.getValue() == isNormal){
                //普通用户使用原价购买
                amount = sku.getLevelThreePrice().multiply(BigDecimal.valueOf(item.getCnt()));
                itemPrice = sku.getLevelThreePrice();
            }else if(GoodsTypeEnum.HOUSE_ROLL.getValue() == isNormal){
                //普通用户使用原价购买
                amount = sku.getLevelThreePrice().multiply(BigDecimal.valueOf(item.getCnt()));
                itemPrice = sku.getLevelThreePrice();
            }else{
                throw new FebsException("当前商品无法购买!");
            }
            BigDecimal amount = sku.getPresentPrice().multiply(BigDecimal.valueOf(item.getCnt()));
            BigDecimal itemPrice = sku.getPresentPrice();
            orderItem.setAmount(amount);
            orderItem.setCnt(item.getCnt());
            orderItem.setOrderId(orderInfo.getId());
@@ -322,6 +295,7 @@
        String payResultStr = "";
        String wxResultStr = "";
        String amountActualMsg = "";
        switch (payOrderDto.getType()) {
            case "1":
                BrandWCPayRequestData brandWCPayRequestData = null;
@@ -333,6 +307,7 @@
                wxResultStr = JSONUtil.toJsonStr(brandWCPayRequestData);
                payResultStr = brandWCPayRequestData.getPrepay_id();
                orderInfo.setPayMethod("微信支付");
                amountActualMsg = orderInfo.getAmount().toString();
                break;
            case "2":
                payResultStr = balancePay(orderInfo, payOrderDto.getTradePwd(), "balance");
@@ -346,6 +321,8 @@
                mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(),
                        orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue(),"余额支付",2);
                amountActualMsg = orderInfo.getAmount().toString();
                break;
            case "3":
                /**
@@ -396,6 +373,7 @@
                    mallMoneyFlowService.addMoneyFlow(member.getId(), amountActual.negate(), MoneyFlowTypeEnum.PAY.getValue(),
                            orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue(),"余额支付",2);
                }
                amountActualMsg = amountActual.toString();
                if(scoreActual.compareTo(BigDecimal.ZERO) > 0){
                    mallMoneyFlowService.addMoneyFlow(member.getId(), scoreActual.negate(),
                            MoneyFlowTypeEnum.SCORE_PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue(),"积分支付",2);
@@ -413,7 +391,7 @@
                payResultStr = orderInfo.getOrderNo();
                orderInfo.setPayOrderNo(orderInfo.getOrderNo());
                orderInfo.setPayOrderNo(payOrderDto.getRollId().toString());
                orderInfo.setPayMethod("兑换券支付");
                orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue());
                orderInfo.setPayTime(new Date());
@@ -430,8 +408,11 @@
        String takeCode = ShareCodeUtil.toSerialCode(orderInfo.getId());
        orderInfo.setTakeCode(takeCode);
        this.baseMapper.updateById(orderInfo);
        StringBuffer stringBuffer = new StringBuffer();
        stringBuffer.append(orderInfo.getId().toString());
        stringBuffer.append("@");
        stringBuffer.append(amountActualMsg);
        agentProducer.sendOrderGetMsg(stringBuffer.toString());
//        OrderStateDto orderStateDto = new OrderStateDto();
//        orderStateDto.setOrderNo(orderInfo.getOrderNo());