From 5eb61b4ee44c9eb2394793d436310edbe917db59 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Thu, 24 Aug 2023 00:23:42 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   25 +++++++++++++++++++++----
 1 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index 78fbb90..6a70808 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -86,8 +86,10 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Long createOrder(AddOrderDto addOrderDto) {
-        MallMember member = LoginUserUtil.getLoginUser();
-        //验证用户的等级
+        Long memberId = LoginUserUtil.getLoginUser().getId();
+        MallMember member = mallMemberMapper.selectById(memberId);
+
+                //验证用户的等级
 //        if(AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())){
 //            throw new FebsException("请先申请成为代理人");
 //        }
@@ -180,18 +182,33 @@
                         throw new FebsException(mallGoods.getGoodsName() + "库存不足");
                     }
                     BigDecimal amount = BigDecimal.ZERO;
+                    BigDecimal itemPrice = BigDecimal.ZERO;
                     if(AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())){
                         //普通用户使用原价购买
                         amount = sku.getOriginalPrice().multiply(BigDecimal.valueOf(item.getCnt()));
+                        itemPrice = sku.getOriginalPrice();
+                    }else if(AgentLevelEnum.LEVEL_ONE.name().equals(member.getLevel())){
+                        //普通用户使用原价购买
+                        amount = sku.getLevelOnePrice().multiply(BigDecimal.valueOf(item.getCnt()));
+                        itemPrice = sku.getLevelOnePrice();
+                    }else if(AgentLevelEnum.LEVEL_TWO.name().equals(member.getLevel())){
+                        //普通用户使用原价购买
+                        amount = sku.getLevelTwoPrice().multiply(BigDecimal.valueOf(item.getCnt()));
+                        itemPrice = sku.getLevelTwoPrice();
+                    }else if(AgentLevelEnum.LEVEL_THREE.name().equals(member.getLevel())){
+                        //普通用户使用原价购买
+                        amount = sku.getLevelThreePrice().multiply(BigDecimal.valueOf(item.getCnt()));
+                        itemPrice = sku.getLevelThreePrice();
                     }else{
                         //合伙人使用折扣价
                         amount = sku.getPresentPrice().multiply(BigDecimal.valueOf(item.getCnt()));
+                        itemPrice = sku.getPresentPrice();
                     }
 //                    BigDecimal amount = sku.getPresentPrice().multiply(BigDecimal.valueOf(item.getCnt()));
                     orderItem.setAmount(amount);
                     orderItem.setCnt(item.getCnt());
                     orderItem.setOrderId(orderInfo.getId());
-                    orderItem.setPrice(sku.getPresentPrice());
+                    orderItem.setPrice(itemPrice);
                     orderItem.setGoodsId(sku.getGoodsId());
                     orderItem.setGoodsName(sku.getGoodsName());
                     orderItem.setSkuId(sku.getId());
@@ -370,7 +387,7 @@
                 orderInfo.setPayResult("1");
                 orderInfo.setDeliveryState(OrderDeliveryStateEnum.DELIVERY_WAIT.getValue());
 
-                mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
+                mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue(),"余额支付",2);
                 break;
             case "4":
                 if (orderInfo.getOrderType() != 2) {

--
Gitblit v1.9.1