IssueService.php 1.24 KB
<?php

namespace App\Services;

use App\Helper\AesEncrypt;
use App\Helper\ErrorCode;
use App\Helper\Response;
use Illuminate\Support\Facades\Log;

/**
 * Class IssueService
 * @package App\Services
 */
class IssueService extends Service
{
    /**
     * 转发
     * @return \Illuminate\Http\JsonResponse
     */
    public function forward()
    {
        $client = new \GuzzleHttp\Client([
            'base_uri'  =>   env('resource_url'),
            'timeout'   =>   3.0,
        ]);

        try {

            $params['data']             =   $this->request->all();
            $params['ext']              =   [
                'user_id'           =>  $this->identifier->user_id,
                'stakeholder_ids'   =>  $this->stakeholder_ids,
            ];

            $data       =   ['params'   =>  AesEncrypt::encrypt(json_encode($params))];
            $response   =   $client->post($this->request->getRequestUri(), [
                'json'  =>  $data,
            ]);
            $respArr    =   json_decode($response->getBody()->getContents(), true);

            return response()->json($respArr, 200);
        } catch (\Throwable $throwable) {
            return Response::error(ErrorCode::SERVER_ERROR, $throwable->getMessage());
        }
    }


}