From c27c1f2beb4ca89a94eaa854fce6b4553db8f2f8 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 15 一月 2025 19:58:12 +0800
Subject: [PATCH] 修改

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ShoppingCartController.java |   82 +++++++++++++++++++++++++---------------
 1 files changed, 51 insertions(+), 31 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ShoppingCartController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ShoppingCartController.java
index 25e73ec..5be0fba 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ShoppingCartController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ShoppingCartController.java
@@ -9,6 +9,7 @@
 import com.ruoyi.common.core.web.page.TableDataInfo;
 import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.order.service.ShoppingCartService;
+import com.ruoyi.order.util.payment.model.UniPayCallbackResult;
 import com.ruoyi.order.vo.*;
 import com.ruoyi.other.api.domain.GoodsShop;
 import com.ruoyi.other.api.domain.Shop;
@@ -24,6 +25,9 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -38,11 +42,7 @@
 	
 	@Resource
 	private TokenService tokenService;
-
-	@Resource
-	private GoodsShopClient goodsShopClient;
-	@Resource
-	private ShopClient shopClient;
+	
 	@Resource
 	private AppUserClient appUserClient;
 	
@@ -111,41 +111,61 @@
 	public R<String> shoppingCartPayment(@RequestBody ShoppingCartPayment shoppingCartPayment){
 		return shoppingCartService.shoppingCartPayment(shoppingCartPayment);
 	}
-
-
+	
+	/**
+	 * 订单支付回调通知
+	 */
 	@ResponseBody
-	@GetMapping("/getVerifiableShop")
-	@ApiOperation(value = "获取可核销门店列表", tags = {"购物车-小程序"})
-	public R<List<VerifiableShopVo>> getVerifiableShop(){
-		LoginUser loginUser = tokenService.getLoginUserApplet();
-		List<ShoppingCart> shoppingCarts = shoppingCartService.list(new LambdaQueryWrapper<ShoppingCart>()
-				.eq(ShoppingCart::getAppUserId, loginUser.getUserid()));
-
-		List<Integer> goodsIds = shoppingCarts.stream().map(ShoppingCart::getGoodsId).collect(Collectors.toList());
-		GetGoodsShopByGoodsIds goodsShopByGoodsIds = new GetGoodsShopByGoodsIds();
-		goodsShopByGoodsIds.setGoodsIds(goodsIds);
-		R<List<GoodsShop>> r = goodsShopClient.getGoodsShopByGoodsIds(goodsShopByGoodsIds);
-		List<GoodsShop> goodsShops = r.getData();
-		List<VerifiableShopVo> verifiableShopVoList = new ArrayList<>();
-		if (CollectionUtil.isNotEmpty(goodsShops)){
-			for (GoodsShop goodsShop : goodsShops) {
-				R<Shop> shopR = shopClient.getShopById(goodsShop.getShopId());
-				if (R.isSuccess(shopR) && null != shopR.getData()){
-					VerifiableShopVo verifiableShopVo = new VerifiableShopVo();
-					verifiableShopVo.setId(shopR.getData().getId());
-					verifiableShopVo.setName(shopR.getData().getName());
-					verifiableShopVoList.add(verifiableShopVo);
-				}
+	@GetMapping("/shoppingCartPaymentCallback")
+	public void shoppingCartPaymentCallback(UniPayCallbackResult uniPayCallbackResult, HttpServletResponse response){
+		R callback = shoppingCartService.shoppingCartPaymentCallback(uniPayCallbackResult);
+		if(callback.getCode() == 200){
+			response.setStatus(200);
+			PrintWriter out = null;
+			try {
+				out = response.getWriter();
+			} catch (IOException e) {
+				throw new RuntimeException(e);
 			}
+			out.println("success");
+			out.flush();
+			out.close();
 		}
-		return R.ok(verifiableShopVoList);
 	}
+	
+	
+	/**
+	 * 快递费支付回调
+	 * @param uniPayCallbackResult
+	 * @param response
+	 */
+	@ResponseBody
+	@GetMapping("/shoppingCartMaterialFlowPaymentCallback")
+	public void shoppingCartMaterialFlowPaymentCallback(UniPayCallbackResult uniPayCallbackResult, HttpServletResponse response){
+		R callback = shoppingCartService.shoppingCartMaterialFlowPaymentCallback(uniPayCallbackResult);
+		if(callback.getCode() == 200){
+			response.setStatus(200);
+			PrintWriter out = null;
+			try {
+				out = response.getWriter();
+			} catch (IOException e) {
+				throw new RuntimeException(e);
+			}
+			out.println("success");
+			out.flush();
+			out.close();
+		}
+	}
+	
+	
+
+
 
 
 	@GetMapping("/getGoodsPrice")
 	public R<Price> getGoodsPrice(Long appUserId, Integer goodsId, Integer shopId){
 		AppUser appUser = appUserClient.getAppUserById(appUserId);
-		Price price = shoppingCartService.getPrice(appUser, goodsId, shopId);
+		Price price = shoppingCartService.getPrice(appUser, goodsId, 1, shopId);
 		return R.ok(price);
 	}
 	

--
Gitblit v1.7.1