Browse Source

来自购物车,获取可用优惠券

lizhen_gitee 4 months ago
parent
commit
155843881f

+ 22 - 0
addons/shopro/controller/order/Order.php

@@ -201,6 +201,28 @@ class Order extends Common
     public function coupons() 
     {
         $params = $this->request->param();
+
+        //购物车
+        $cart = input('cart',0);
+        if(!empty($cart)){
+            unset($params['goods_list']);
+            // 多个商品
+            $carts = (new \app\admin\model\shopro\Cart)
+                ->whereIn('id', $cart)
+                ->order(['id' => 'desc'])
+                ->select();
+            $goods_list = [];
+            foreach ($carts as $cart) {
+                $goods_list[] = [
+                    'goods_id'           => $cart['goods_id'],
+                    'goods_sku_price_id' => $cart['goods_sku_price_id'],
+                    'goods_num'          => $cart['goods_num'],
+                ];
+            }
+            $params['goods_list'] = empty($goods_list) ? '' : json_encode($goods_list);
+        }
+        //购物车
+
         $this->svalidate($params, ".create");
 
         $orderCreate = new OrderCreate($params);

+ 1 - 0
addons/shopro/service/order/OrderCreate.php

@@ -611,6 +611,7 @@ class OrderCreate
         $this->calcAmount();
 
         // 用户可用优惠券列表
+        // 这里使用的with,没法用 coupon表的减免金额做排序,可能需要重新写
         $coupons = Coupon::with('coupon')->where('user_id', $this->user->id)->canUse()->select();
 
         $cannot_use = [];