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

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java |   51 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 50 insertions(+), 1 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 b5638e1..0bd2117 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
@@ -144,8 +144,31 @@
 		//查询符合商品类型的商品数据
 		List<ShoppingCart> list = this.list(new LambdaQueryWrapper<ShoppingCart>().eq(ShoppingCart::getAppUserId, userid)
 				.in(ShoppingCart::getGoodsId, goodsIds).eq(ShoppingCart::getStatus, 1));
+		//删除过期的秒杀活动商品
+		List<ShoppingCart> list1 = new ArrayList<>();
+		for (ShoppingCart shoppingCart : list) {
+			if(shoppingCart.getType() == 2){
+				GetSeckillActivityInfo info = new GetSeckillActivityInfo();
+				info.setGoodsId(shoppingCart.getGoodsId());
+				info.setVip(appUser.getVipId());
+				GoodsSeckill data1 = seckillActivityInfoClient.getSeckillActivityInfo(info).getData();
+				if(null != data1){
+					SeckillActivityInfo seckillActivityInfo = seckillActivityInfoClient.getSeckillActivityInfoById(data1.getSeckillActivityInfoId()).getData();
+					if(null != seckillActivityInfo && (seckillActivityInfo.getIsShelves() == 1 &&
+							seckillActivityInfo.getStartTime().isBefore(LocalDateTime.now()) && seckillActivityInfo.getEndTime().isAfter(LocalDateTime.now()))){
+						
+						list1.add(shoppingCart);
+						continue;
+					}
+				}
+				this.removeById(shoppingCart.getId());
+			}else{
+				list1.add(shoppingCart);
+			}
+		}
+		
 		//构建返回数据
-		List<MyShoppingCartVo> page = buildDetail(appUser, shopId, list, null);
+		List<MyShoppingCartVo> page = buildDetail(appUser, shopId, list1, null);
 		return page;
 	}
 
@@ -711,6 +734,14 @@
 					}
 				}
 			}
+			
+			if(goods.getStatus() == 1){
+				throw new RuntimeException(goods.getName() + "商品已被下架");
+			}
+			if(!goods.getCommodityAuthority().contains("-1") && !goods.getCommodityAuthority().contains(appUser.getVipId().toString())){
+				throw new RuntimeException("无权限购买" + goods.getName());
+			}
+			
 			ids.add(id);
 		}
 
@@ -1146,6 +1177,11 @@
 					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()){
@@ -1267,6 +1303,14 @@
 				//删除购物车数据
 				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));
+			}
 		}
 
 		//添加账户余额支付明细
@@ -1359,6 +1403,11 @@
 				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();

--
Gitblit v1.7.1