wesmiler 4 лет назад
Родитель
Сommit
bb6d1a6332

+ 59 - 0
app/Http/Controllers/Api/v1/OrderController.php

@@ -0,0 +1,59 @@
+<?php
+
+namespace App\Http\Controllers\Api\v1;
+
+use App\Http\Controllers\Api\BaseController;
+use App\Services\GongdengFoxiangService;
+use App\Services\GongdengOrderService;
+use App\Services\LampMealsService;
+use App\Services\RechargeService;
+use App\Services\RedisService;
+use App\Services\WechatService;
+
+/**
+ * 订单控制器类
+ * @author wesmiler
+ * @since 2020/11/10
+ * Class OrderController
+ * @package App\Http\Controllers
+ */
+class OrderController extends BaseController
+{
+    /**
+     * 构造函数
+     * @author wesmiler
+     * @since 2020/11/11
+     * OrderController constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct();
+        $this->service = new GongdengOrderService();
+        $this->rechargeService = new RechargeService();
+    }
+
+    public function info(){
+        $orderSn = request()->get('out_trade_no');
+        if(empty($orderSn)){
+            return message('订单号参数错误', false);
+        }
+
+        $info = [];
+        $prefix = substr($orderSn, 0,1);
+        switch ($prefix){
+            case 'G':  // 供灯
+                $info = $this->service->orderInfo($orderSn);
+                break;
+            case 'R':  // 充值
+                $info = $this->service->orderInfo($orderSn);
+                break;
+        }
+
+        if($info){
+            return  message('获取订单信息失败', false);
+        }else{
+            return  message('获取订单信息', true, $info);
+        }
+    }
+
+}

+ 17 - 0
app/Services/GongdengOrderService.php

@@ -122,6 +122,23 @@ class GongdengOrderService extends BaseService
     }
 
     /**
+     * 获取订单信息
+     * @param $orderSn
+     * @return array
+     */
+    public function orderInfo($orderSn){
+        $info = $this->model::where(['order_sn'=> $orderSn, 'mark'=> 1])
+            ->whereIn('status',[1,2,3])
+            ->select(['id','order_sn','source_id','user_id','pay_money','total','status'])
+            ->first();
+        $info = $info? $info->toArray() : [];
+        if($info){
+            $info['type'] = 1;
+        }
+        return $info;
+    }
+
+    /**
      * 供灯下单
      */
     public function buy($userId)

+ 2 - 0
routes/api.php

@@ -59,3 +59,5 @@ Route::post('/gongdeng/list', [\App\Http\Controllers\Api\v1\GongdengController::
 Route::post('/gongdeng/info', [\App\Http\Controllers\Api\v1\GongdengController::class, 'info']);
 Route::post('/gongdeng/buy', [\App\Http\Controllers\Api\v1\GongdengController::class, 'buy']);
 
+// 订单
+Route::post('/order/info', [\App\Http\Controllers\Api\v1\OrderController::class, 'info']);