从控制器获取数据到控制器 ın laravel

时间:2021-02-21 20:32:05

标签: php laravel api

我正在尝试用 Laravel 编写一个 api,我是编写 api 的新手。我希望这个 api 将数据发送到我编写的模拟 api 并返回结果作为响应。我查看了 Laravel 文档,但找不到任何对我有用的东西。通过PurchaseController向AndroidController发送数据,我希望控制器运行后数据返回给PurchaseController。

目录结构如下: +API - 采购控制器 +安卓 -AndroidController

###AndroidController###

public static function check(Request $request)
    {
        $data = AndroidModel::where('receipt', '=', $request->receipt)->get();
        $expireDate = date('Y-m-d H:i:s T', (strtotime($data[0]->expireDate) - 21600));
        $validation = $data[0]->receipt . $data[0]->validation;


        if (strlen($validation) > 2) {
            if ($data[0]->validation == 1) {

                $response =
                    [
                        'status' => 'true',
                        'code' => 200,
                        'expireDate' => $expireDate
                    ];
                return response()->json($response);
            } else {
                $response =
                    [
                        'status' => 'false',
                        'code' => 401,
                    ];
                return response()->json($response, 401);
            }
        } else {
            $response =
                [
                    'status' => 'false',
                    'code' => 401,
                    'message' => 'Hatalı Kod!'
                ];
            return response()->json($response, 400);
        }

    }

###PurchaseController###

 public function purchase(Request $request): \Illuminate\Http\JsonResponse
    {

        $expireDate = date('Y-m-d H:i:s T', (strtotime($this->date) - 21600));

        $receipt = $request->receipt;
        $register = RegisterModel::where('clientToken', '=', $request->clientToken)->get();
        $uid = $register[0]->uid;
        $os = $register[0]->os;

        $applications = ApplicationModel::where('uid', '=', $uid)->get();
        $appId = $applications[0]->appId;

        $purchaseId = $uid . $appId;


        //OS = Android
        if ($os == 1) {
            $purchase =
                [
                    'purchaseId' => $purchaseId,
                    'expireDate' => $expireDate,
                ];
            PurchaseModel::create($purchase);

            return response()->json([
                'uid' => $uid,
                'os' => $os,
                'appId' => $appId,
                'expireDate' => $expireDate,
            ], 200);


            //OS = iOS
        } else {

            $purchase =
                [
                    'purchaseId' => $purchaseId,
                    'expireDate' => $expireDate,
                ];
            PurchaseModel::create($purchase);

            return response()->json([
                'uid' => $uid,
                'os' => $os,
                'appId' => $appId,
                'expireDate' => $expireDate,
            ], 200);
        }
    }

expireDate 值必须来自 AndroidController

0 个答案:

没有答案