hrjy 3 years ago
parent
commit
3ef5aac214

+ 37 - 0
app/api/controller/order/StoreOrderController.php

@@ -29,6 +29,7 @@ use crmeb\services\{
     SystemConfigService,
     UtilService
 };
+use think\facade\Db;
 
 /**
  * 订单类
@@ -688,4 +689,40 @@ class StoreOrderController
         return app('json')->successful($order);
     }
 
+    /**
+     * 转赠
+     * @param Request $request
+     * @return mixed
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     */
+    public function donation(Request $request)
+    {
+        $data = UtilService::postMore([
+            ['order_id'],
+            ['uid']
+        ]);
+        $order = StoreOrder::where('order_id', $data['order_id'])->where('uid', $request->uid())->find();
+        $user = \app\models\user\User::where('uid', $data['uid'])->find();
+        if ($data['uid'] == $request->uid())return app('json')->fail('不能转赠自己');
+        if (!$user) return app('json')->fail('用户不存在');
+        if (!$order) return app('json')->fail('订单不查找');
+        $order['uid'] = $data['uid'];
+
+        try {
+            Db::startTrans();
+            $order->save();
+            StoreCouponUser::where('order_id', $order['order_id'])->update(['uid' => $data['uid']]);
+            Db::commit();
+            return app('json')->success('转赠成功');
+        } catch (\Exception $e) {
+            Db::rollback();
+            return app('json')->fail('转赠失败');
+        }
+
+
+
+    }
+
 }

+ 7 - 7
app/models/store/StoreOrder.php

@@ -317,13 +317,13 @@ class StoreOrder extends BaseModel
             $totalNum = 0;
             $gainIntegral = 0;
             foreach ($cartInfo as $cart) {
-                $product = StoreProduct::where('id', $cart['productInfo']['id'])->find();
-                if ($product['cate_id'] == 2){
-                    if ($cart['cart_num'] > 1) return self::setErrorInfo('限购一个', true);
-                    $orderId = StoreOrder::where('uid', $uid)->where('status', '>', 0)->column('id');
-                    $orderCart = StoreOrderCartInfo::where([['oid', 'in', $orderId], ['product_id', '=', $product['id']]])->find();
-                    if ($orderCart) return self::setErrorInfo('该礼包只能购买一次', true);
-                }
+//                $product = StoreProduct::where('id', $cart['productInfo']['id'])->find();
+//                if ($product['cate_id'] == 2){
+//                    if ($cart['cart_num'] > 1) return self::setErrorInfo('限购一个', true);
+//                    $orderId = StoreOrder::where('uid', $uid)->where('status', '>', 0)->column('id');
+//                    $orderCart = StoreOrderCartInfo::where([['oid', 'in', $orderId], ['product_id', '=', $product['id']]])->find();
+//                    if ($orderCart) return self::setErrorInfo('该礼包只能购买一次', true);
+//                }
                 $cartIds[] = $cart['id'];
                 $totalNum += $cart['cart_num'];
                 if (!$seckill_id) $seckill_id = $cart['seckill_id'];

+ 1 - 0
route/api/route.php

@@ -170,6 +170,7 @@ Route::group(function () {
     Route::post('share', 'user.UserController/share')->name('share');//分享领取优惠券
     Route::get('coupon_datalis', 'user.UserController/coupon_datalis')->name('coupon_datalis');//优惠券详情
     Route::post('exchange', 'user.UserController/exchange')->name('exchange');// 兑换码兑换
+    Route::post('donation', 'order.StoreOrderController/donation')->name('donation');// 转赠
 
 })->middleware(\app\http\middleware\AllowOriginMiddleware::class)->middleware(\app\http\middleware\AuthTokenMiddleware::class, true);
 //未授权接口