From 9d8b98a00e149cba8e7db91a16b22168a694ae25 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 14 一月 2025 16:18:14 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java |   44 +++++++++++++++-----------------------------
 1 files changed, 15 insertions(+), 29 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..aae53d3 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
@@ -418,12 +418,14 @@
 			BigDecimal bigDecimal = BigDecimal.ZERO;
 			for (MyShoppingCartVo myShoppingCartVo : goodsList) {
 				bigDecimal = bigDecimal.add(myShoppingCartVo.getCash().multiply(new BigDecimal(myShoppingCartVo.getNumber())));
+				myShoppingCartVo.setEarnSpendingPoints(myShoppingCartVo.getEarnSpendingPoints() * myShoppingCartVo.getNumber());
 			}
 			confirmOrderVo.setOrderMoney(bigDecimal);
 		}else{
 			int sum = 0;
 			for (MyShoppingCartVo myShoppingCartVo : goodsList) {
 				sum += (myShoppingCartVo.getPoint() * myShoppingCartVo.getNumber());
+				myShoppingCartVo.setEarnSpendingPoints(myShoppingCartVo.getEarnSpendingPoints() * myShoppingCartVo.getNumber());
 			}
 			confirmOrderVo.setOrderPoint(sum);
 		}
@@ -532,7 +534,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 +545,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 +571,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 +964,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 +986,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 +997,7 @@
 		order.setDelFlag(0);
 		order.setCreateTime(LocalDateTime.now());
 		order.setExpressPayMethod(shoppingCartPayment.getFreightPaymentType());
+		order.setDistributionMode(shoppingCartPayment.getDistributionMode());
 
 		if(2 == shoppingCartPayment.getPaymentType()){
 			BigDecimal balance = appUser.getBalance();
@@ -1146,11 +1150,7 @@
 						userCouponClient.editUserCoupon(userCoupon);
 					}
 				}
-				//添加查询快递信息队列
-				if(StringUtils.isNotEmpty(order.getExpressJson())){
-					//一小时后定时查询快递信息
-					redisTemplate.opsForZSet().add("order_express", order.getId(), LocalDateTime.now().plusHours(1).toEpochSecond(ZoneOffset.UTC));
-				}
+				
 
 				//删除购物车数据
 				userid = tokenService.getLoginUserApplet().getUserid();
@@ -1238,6 +1238,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));
@@ -1262,11 +1263,7 @@
 					userCouponClient.editUserCoupon(userCoupon);
 				}
 			}
-			//添加查询快递信息队列
-			if(StringUtils.isNotEmpty(order.getExpressJson())){
-				//一小时后定时查询快递信息
-				redisTemplate.opsForZSet().add("order_express", order.getId(), LocalDateTime.now().plusHours(1).toEpochSecond(ZoneOffset.UTC));
-			}
+			
 		}
 		//积分支付
 		if(3 == shoppingCartPayment.getPaymentType()){
@@ -1361,6 +1358,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));
@@ -1388,14 +1386,7 @@
 				//删除购物车数据
 				this.removeBatchByIds(ids);
 			}
-			//添加查询快递信息队列
-			if(StringUtils.isNotEmpty(order.getExpressJson())){
-				//一小时后定时查询快递信息
-				SystemConfig systemConfig = systemConfigClient.getSystemConfig(3).getData();
-				JSONObject jsonObject = JSON.parseObject(systemConfig.getContent());
-				Integer waitTime = jsonObject.getInteger("waitTime");
-				redisTemplate.opsForZSet().add("order_express", order.getId(), LocalDateTime.now().plusHours(waitTime).toEpochSecond(ZoneOffset.UTC));
-			}
+			
 		}
 
 		//添加账户余额支付明细
@@ -1488,14 +1479,9 @@
 				userCouponClient.editUserCoupon(userCoupon);
 			}
 		}
-		//添加查询快递信息队列
-		if(StringUtils.isNotEmpty(order.getExpressJson())){
-			//一小时后定时查询快递信息
-			redisTemplate.opsForZSet().add("order_express", order.getId(), LocalDateTime.now().plusHours(1).toEpochSecond(ZoneOffset.UTC));
-		}
 
 		//删除购物车数据
-		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