From 18e68871f0423910f748a727ceab297a8e4765d1 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期二, 10 十二月 2024 14:27:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java |   23 ++++++++++++++++++++---
 1 files changed, 20 insertions(+), 3 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 36745b4..d0dad92 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
@@ -327,10 +327,11 @@
 	
 
 	@Override
-	public void addGoods(ShoppingCart shoppingCart) {
+	public Long addGoods(ShoppingCart shoppingCart) {
 		Long userid = tokenService.getLoginUserApplet().getUserid();
 		shoppingCart.setAppUserId(userid);
 		this.save(shoppingCart);
+		return shoppingCart.getId();
 	}
 	
 	
@@ -367,7 +368,22 @@
 	 */
 	@Override
 	public ConfirmOrderVo confirmOrder(ConfirmOrder confirmOrder) {
+		Integer position = confirmOrder.getPosition();
 		Long userid = tokenService.getLoginUserApplet().getUserid();
+		//直接购买商品
+		if(2 == position){
+			//先加入购物车
+			String goodsJson = confirmOrder.getGoodsJson();
+			JSONArray objects = JSON.parseArray(goodsJson);
+			Long id = objects.getJSONObject(0).getLong("id");
+			Integer num1 = objects.getJSONObject(0).getInteger("num");
+			ShoppingCart shoppingCart = new ShoppingCart();
+			shoppingCart.setAppUserId(userid);
+			shoppingCart.setGoodsId(id.intValue());
+			shoppingCart.setNumber(num1);
+			Long shoppingCarId = addGoods(shoppingCart);
+			confirmOrder.setGoodsJson("[{\"id\": " + shoppingCarId + ", \"num\": " + num1 + "}]");
+		}
 		AppUser appUser = appUserClient.getAppUserById(userid);
 		Integer shopId = confirmOrder.getShopId();
 		Shop shop = shopClient.getShopById(shopId).getData();
@@ -412,6 +428,7 @@
 		confirmOrderVo.setResidualPoint(appUser.getLavePoint().intValue());
 		//获取默认收货地址
 		UserAddress userAddress = userAddressClient.getDefaultUserAddress(userid).getData();
+		userAddress.setIdStr(userAddress.getId().toString());
 		confirmOrderVo.setUserAddress(userAddress);
 		confirmOrderVo.setPaymentType(confirmOrder.getPaymentType());
 		//获取用户优惠券,用户全部优惠券,不能使用的需要标识出来置灰展示
@@ -795,7 +812,7 @@
 		order.setGoodName(goodName.substring(0, goodName.length() - 1));
 		Goods goods = goodsClient.getGoodsById(goodsList.get(0).getGoodsId()).getData();
 		order.setOrderType(goods.getType());
-		order.setOrderStatus(1);
+		order.setOrderStatus(goods.getType() == 1 ? 3 : 1);
 		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
 		order.setOrderNumber("QJS" + getNumber(3) + sdf.format(new Date()));
 		order.setTotalAmount(orderMoney.setScale(2, RoundingMode.HALF_EVEN));
@@ -1039,7 +1056,7 @@
 				this.removeBatchByIds(ids);
 			}
 		}
-		return R.ok();
+		return R.ok(order.getId().toString());
 	}
 	
 	

--
Gitblit v1.7.1