diff --git a/Laravel/app/Http/Controllers/API/H5/FenZhenController.php b/Laravel/app/Http/Controllers/API/H5/FenZhenController.php index 7397d98..23817e4 100644 --- a/Laravel/app/Http/Controllers/API/H5/FenZhenController.php +++ b/Laravel/app/Http/Controllers/API/H5/FenZhenController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers\API\H5; use App\Http\Controllers\Controller; +use App\Services\SanFangLogService; use Illuminate\Http\Request; use Illuminate\Support\Facades\Http; @@ -11,23 +12,26 @@ class FenZhenController extends Controller public function GetTiJianLine(){ $url="https://ccty-ct.sixinyun.com/h5/tjline.php"; $id_number = request('id_number'); + $nonce=mt_rand(1000, 9999); $data=[ "key"=>"E0934FEF-EF49-41CF-9548-3A7BE2B5A4C7", - "id_number"=>$id_number + "id_number"=>$id_number, + "nonce"=>$nonce ]; - $response = Http::post($url,$data); - if ($response->successful()) { - $res = $response->json(); + //$response = Http::post($url,$data); + $service= SanFangLogService::Post($url,$data,'分诊队列'.$nonce,'分诊'); + if ($service['status']===true) { + $res = $service['data']; if($res['code']==200 and $res['data']['info']['id']<>0){ if(isset( $res['data']['info']['birthday'])){ $res['data']['info']['age']=\App\Lib\Tools::GetAge( $res['data']['info']['birthday']); } - return \Yz::Return(true,"查下成功",$res['data']); + return \Yz::Return(true,"查询成功",$res['data']); }else{ return \Yz::echoError1("未查询到该用户队列信息"); } }else{ - return \Yz::echoError1("查询失败"); + return \Yz::echoError1("查询失败[".$nonce."]"); } } } diff --git a/Laravel/app/Models/PEISLog.php b/Laravel/app/Models/PEISLog.php new file mode 100644 index 0000000..2e5bef7 --- /dev/null +++ b/Laravel/app/Models/PEISLog.php @@ -0,0 +1,11 @@ +successful()) { + $res = $response->json(); + $res_string=json_encode($res, JSON_UNESCAPED_UNICODE); + $str_len = mb_strlen($res_string, 'utf-8'); + $str_size = $str_len / 1024; + $save_res = $res_string; + if ($str_size > 10) $save_res = '{"data":"Row size too large"}'; + self::$request->response_data = $save_res; + self::$request->save(); + return ['status'=>true,'data'=>$res]; + + } else { + $status = $response->status(); + // 获取响应体作为字符串 + $body = $response->body(); + + self::$request->response_data = $body; + self::$request->save(); + return ['status'=>$status,'data'=>$body]; + // throw new HttpResponseException(\Yz::echoError1("调用".$mark."接口失败:" . $status . "body:" . $body)); + } + } + public static function RequestLog($url, $post_data, $mark, $code = 0) + { + self::CheckTableName(); + foreach ($post_data as $key => $post_datum) { + $str_len = mb_strlen(json_encode($post_datum, JSON_UNESCAPED_UNICODE), 'utf-8'); + $str_size = $str_len / 1024; + if ($str_size > 10) { + $post_data["$key"] = 'Row size too large'; + } + } + $post_data = json_encode($post_data, JSON_UNESCAPED_UNICODE); + self::$request->code = $code; + self::$request->mark = $mark; + self::$request->post_data = $post_data == '[]' ? '{}' : $post_data; + self::$request->request_url = $url; + self::$request->save(); + } + + public static function CheckTableName() + { + $table_name = 'zz_sanfang_log_' . date('ym'); + $table_count = DB::select('select count(1) as c from information_schema.TABLES where table_schema = ? and table_name = ?', [env('DB_DATABASE'), $table_name])[0]; + if ($table_count->c === 0) { + Schema::create($table_name, function (Blueprint $table) { + $table->id(); + $table->string('code', 50)->index(); + $table->string('mark', 50)->index(); + $table->text('post_data'); + $table->text('response_data')->nullable(); + $table->string('request_url', 2000); + $table->timestamps(); + }); + } + self::$request = new \App\Models\PEISLog(); + self::$request->setTable($table_name); + } +}