思信交互记录日志

wenjuan
yanzai 1 year ago
parent e9b02febaa
commit d3696b5c65

@ -5,9 +5,13 @@ namespace App\Http\Controllers\API\Admin\YeWu;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
class PEISApiController extends Controller class PEISApiController extends Controller
{ {
public static $request;
public static function Api($url_code, $code) public static function Api($url_code, $code)
{ {
$url = 'https://dqgatjzx-wx.sixinyun.com'; $url = 'https://dqgatjzx-wx.sixinyun.com';
@ -16,14 +20,15 @@ class PEISApiController extends Controller
$api['套餐查询'] = "{$url}/PEISCommon/QueryCombos/{$code}"; $api['套餐查询'] = "{$url}/PEISCommon/QueryCombos/{$code}";
return $api["{$url_code}"] ?? $url_code; return $api["{$url_code}"] ?? $url_code;
} }
public static function Post($url_code, $hospital_id, $data, $print = false) public static function Post($url_code, $hospital_id, $data, $print = false)
{ {
$hospital = DB::table('hospitals')->where(['id'=>$hospital_id,'status'=>1,'is_del'=>0])->first(); $hospital = DB::table('hospitals')->where(['id' => $hospital_id, 'status' => 1, 'is_del' => 0])->first();
if (!$hospital) return \Yz::echoError1('医院不存在或不可用'); if (!$hospital) return \Yz::echoError1('医院不存在或不可用');
$code = $hospital->code; $code = $hospital->code;
$url = self::Api($url_code, $code); $url = self::Api($url_code, $code);
// self::RequestLog($url, $data, $code, $url_code); self::RequestLog($url, $data, $code, $url_code);
$data_string = json_encode($data, JSON_UNESCAPED_UNICODE); $data_string = json_encode($data, JSON_UNESCAPED_UNICODE);
$ch = curl_init(); $ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_URL, $url);
@ -37,8 +42,17 @@ class PEISApiController extends Controller
$res_string = curl_exec($ch); $res_string = curl_exec($ch);
curl_close($ch); curl_close($ch);
$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();
if (!json_decode($res_string, true)) { if (!json_decode($res_string, true)) {
return \Yz::Return(false,'获取失败', [ return \Yz::Return(false, '获取失败', [
'url' => $url, 'url' => $url,
'data' => $data, 'data' => $data,
'res' => $res_string 'res' => $res_string
@ -53,4 +67,41 @@ class PEISApiController extends Controller
'data' => $res['Records'] 'data' => $res['Records']
]; ];
} }
public static function RequestLog($url, $post_data, $code, $mark)
{
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_peis_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', 300);
$table->timestamps();
});
}
self::$request = new \App\Models\PEISLog();
self::$request->setTable($table_name);
}
} }

@ -12,7 +12,7 @@ class HomeController extends Controller
// 获取配置更新时间 // 获取配置更新时间
public function config_version() public function config_version()
{ {
$version = '2024-08-14 18:00:02'; $version = '2024-08-28 18:00:02';
return \Yz::Return(true, '获取成功', [ return \Yz::Return(true, '获取成功', [
'version' => $version 'version' => $version
]); ]);

@ -0,0 +1,11 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class PEISLog extends Model
{
use HasFactory;
}
Loading…
Cancel
Save