From 60de92280e4cd66a914f41b0681656a62cde346d Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 14 一月 2025 14:50:52 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java | 16 ++++++++++------ 1 files changed, 10 insertions(+), 6 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java index 8432791..b1e22d4 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java @@ -532,7 +532,7 @@ confirmOrderVo.setDiscountAmount(activityAmount); int earnPoint = goodsList.stream().mapToInt(MyShoppingCartVo::getEarnSpendingPoints).sum(); confirmOrderVo.setEarnPoint(earnPoint); - if(BigDecimal.ZERO.compareTo(paymentMoney) > 0){ + if(null != paymentMoney && BigDecimal.ZERO.compareTo(paymentMoney) > 0){ paymentMoney = BigDecimal.ZERO; } @@ -543,6 +543,7 @@ UserAddress userAddress = userAddressClient.getDefaultUserAddress(userid).getData(); if(null != userAddress){ userAddress.setIdStr(userAddress.getId().toString()); + userAddress.setRecieveAddress(userAddress.getProvince() + userAddress.getCity() + userAddress.getDistrict() + userAddress.getRecieveAddress()); confirmOrderVo.setUserAddress(userAddress); } confirmOrderVo.setPaymentType(confirmOrder.getPaymentType()); @@ -568,11 +569,11 @@ } }else{ //部分商品适用 - BigDecimal goodsMoney = BigDecimal.ZERO; + BigDecimal goodsMoney = BigDecimal.ZERO; for (MyShoppingCartVo myShoppingCartVo : goodsList) { Integer goodsId = myShoppingCartVo.getGoodsId(); BigDecimal cash = myShoppingCartVo.getCash(); - if(forGoodIds.contains(goodsId)){ + if(forGoodIds.contains(String.valueOf(goodsId))){ goodsMoney = goodsMoney.add(cash); } } @@ -961,7 +962,7 @@ order.setGoodName(goodName.substring(0, goodName.length() - 1)); Goods goods = goodsClient.getGoodsById(goodsList.get(0).getGoodsId()).getData(); order.setOrderType(goods.getType()); - order.setOrderStatus(goods.getType() == 1 ? 3 : 1); + order.setOrderStatus(goods.getType() == 1 ? 3 : (shoppingCartPayment.getDistributionMode() == 2 ? 1 : 2)); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); order.setOrderNumber("QJS" + getNumber(3) + sdf.format(new Date())); order.setTotalAmount(orderMoney.setScale(2, RoundingMode.HALF_EVEN)); @@ -983,7 +984,7 @@ if(null != orderActivityInfo1){ order.setActivityJson(JSON.toJSONString(orderActivityInfo1)); } - if(null != shoppingCartPayment.getUserAddressId()){ + if(2 == shoppingCartPayment.getDistributionMode()){ UserAddress address = userAddressClient.getUserAddressById(shoppingCartPayment.getUserAddressId()).getData(); order.setExpressAmount(expressFee); order.setAddressJson(JSON.toJSONString(address)); @@ -994,6 +995,7 @@ order.setDelFlag(0); order.setCreateTime(LocalDateTime.now()); order.setExpressPayMethod(shoppingCartPayment.getFreightPaymentType()); + order.setDistributionMode(shoppingCartPayment.getDistributionMode()); if(2 == shoppingCartPayment.getPaymentType()){ BigDecimal balance = appUser.getBalance(); @@ -1238,6 +1240,7 @@ //构建余额明细变动记录 BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord(); balanceChangeRecord.setAppUserId(appUser.getId()); + balanceChangeRecord.setVipId(appUser.getVipId()); balanceChangeRecord.setOrderId(order.getId()); balanceChangeRecord.setChangeType(5); balanceChangeRecord.setBeforeAmount(balance.add(paymentMoney)); @@ -1361,6 +1364,7 @@ //构建余额明细变动记录 BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord(); balanceChangeRecord.setAppUserId(appUser.getId()); + balanceChangeRecord.setVipId(appUser.getVipId()); balanceChangeRecord.setOrderId(order.getId()); balanceChangeRecord.setChangeType(5); balanceChangeRecord.setBeforeAmount(balance.add(expressFee)); @@ -1495,7 +1499,7 @@ } //删除购物车数据 - Long userid = tokenService.getLoginUserApplet().getUserid(); + Long userid = order.getAppUserId(); List<OrderGood> list = orderGoodService.list(new LambdaQueryWrapper<OrderGood>().eq(OrderGood::getOrderId, order.getId())); List<Integer> goodsIds = list.stream().map(OrderGood::getGoodsId).collect(Collectors.toList()); this.remove(new LambdaQueryWrapper<ShoppingCart>().eq(ShoppingCart::getAppUserId, userid).in(ShoppingCart::getGoodsId, goodsIds)); -- Gitblit v1.7.1