Commit 2c62d0d1 authored by luhongguang's avatar luhongguang

Merge branch 'master' into jielong

parents e96883d1 c150da0e
......@@ -39,7 +39,7 @@ class CommonService
$params['life_account_ids'] = implode(',', $lifeAccountId);
$res = (new Request())->get($url, $params);
if ($res['code'] == 0 && isset($res['response'])) {
return $res['response']['result'];
return !empty($res['response']['result']) ? $res['response']['result'] : [];
}
return [];
}
......
......@@ -65,7 +65,8 @@ class MarketingGoodsService
$where['ORDER'] = ["create_time" => "DESC"];
$marketingWhere = [
"end_time[>]" => date("Y-m-d"),
"end_time[>=]" => date("Y-m-d"),
"start_time[<=]" => date("Y-m-d"),
"online_status" => 1,
];
$marketingList = Marketing::getMarketingList($marketingWhere);
......
......@@ -6,7 +6,7 @@
"require": {
"php": "7.2.*",
"ext-json": "*",
"api/php_utils":"1.0.1",
"api/php_utils":"1.0.2",
"api/php_services":"1.0.1",
"ext-openssl": "*"
},
......
......@@ -3,6 +3,7 @@
namespace Api\PhpUtils\Log;
use Api\PhpUtils\Cache\ApcuUtil;
use Api\PhpUtils\Log\Tracer;
use Api\PhpUtils\Message\Email;
class FileLog
......@@ -17,7 +18,8 @@ class FileLog
*/
public static function info($signature, $detail_info = '', $with_access_log = false)
{
$log = 'PHP User_info: [' . $signature . ']' . ' [detail info:] ' . $detail_info;
$traceId = Tracer::getTraceId();
$log = 'PHP User_info: [' . $signature . '] [traceId:'. $traceId .'] [detail info:] ' . $detail_info;
if ($with_access_log) {
$log .= ' [request info:] ' . self::accessLog();
}
......@@ -33,7 +35,8 @@ class FileLog
*/
public static function waring($signature, $detail_info = '', $exception = null)
{
$log = 'PHP User_warning: [' . $signature . ']' . ' [detail info:] ' . $detail_info . ' [request info:] ' . self::accessLog();
$traceId = Tracer::getTraceId();
$log = 'PHP User_warning: [' . $signature . '] [traceId:'. $traceId .'] [detail info:] ' . $detail_info . ' [request info:] ' . self::accessLog();
if ($exception != '') {
$exception_info = 'In ' . $exception->getFile() . ' on line ' . $exception->getLine() . ' ' . $exception->getCode() . ': ' . $exception->getMessage();
$log .= ' [exception info: ]' . $exception_info;
......@@ -51,7 +54,8 @@ class FileLog
*/
public static function error($signature, $detail_info = '', $exception = null, $mail_to = '')
{
$log = 'PHP User_error: [' . $signature . ']' . ' [detail info:] ' . $detail_info . ' [request info:] ' . self::accessLog();
$traceId = Tracer::getTraceId();
$log = 'PHP User_error: [' . $signature . '] [traceId:'. $traceId .'] [detail info:] ' . $detail_info . ' [request info:] ' . self::accessLog();
if ($exception != '') {
$exception_info = ' [exception info: ] In ' . $exception->getFile() . ' on line ' . $exception->getLine() . ' ' . $exception->getCode() . ': ' . $exception->getMessage();
} else {
......
<?php
namespace Api\PhpUtils\Log;
class Tracer {
const DEBUG = 1;
const INFO = 2;
const WARNING = 3;
const ERROR = 4;
protected static $traceId = '';
protected static $spanId = '';
/**
* http 请求日志
*/
public static function request() {
$tag = 'request';
$message = 'request log';
$content = [
'uri'=>'',
'get'=>[],
'post'=>[],
];
//__METHOD__
self::info($message, $content, $tag);
}
/**
* @param $ret
*/
public static function response($ret) {
$tag = 'response';
$message = 'response log';
$content = [
'ret'=>$ret,
'requestId'=>self::getTraceId(),
];
self::info($message, $content, $tag);
}
public static function daemon() {
$tag = 'daemon';
$message = 'daemon log';
$content = [
'pid'=>posix_getpid(),
];
self::info($message, $content, $tag);
}
/**
* @param $message
* @param array $content
* @param string $tag
*/
public static function debug($message, $content = [], $tag = ''){
self::log(self::DEBUG, $message, $content, $tag);
}
public static function info($message, $content = [], $tag = ''){
self::log(self::INFO, $message, $content, $tag);
}
public static function warning($message, $content = [], $tag = '') {
self::log(self::WARNING, $message, $content, $tag);
}
public static function error($message, $content = [], $tag = '') {
self::log(self::ERROR, $message, $content, $tag);
}
public static function log($level, $message, $content, $tag) {
if (!defined('LOG_PATH')) {
define('LOG_PATH', ROOT_PATH.'/logs/');
}
switch ($level) {
case self::DEBUG:
case self::INFO:
case self::WARNING:
case self::ERROR:
$file = LOG_PATH . 'log_' . date('Y-m-d') . '.log';
break;
}
$dateTime = new \DateTime();
$log = [
'timestamp'=>$dateTime->format(\DateTime::RFC3339_EXTENDED),
'traceId'=>self::getTraceId(),
'spanId'=>self::getSpanId(),
'tag'=>$tag,
'content'=>$content,
'message'=>$message
];
//$_SERVER['HTTP_X_FORWARDED_FOR']
$string = json_encode($log, JSON_UNESCAPED_UNICODE) . "\n";
if($fd = @fopen($file, 'a')) {
fputs($fd, $string);
fclose($fd);
}
}
/**
* @return false|mixed|string
* 获取traceId
*/
public static function getTraceId() {
if(empty(self::$traceId)) {
if(!empty($_SERVER['HTTP_X_TRACE_ID'])) {
self::$traceId = $_SERVER['HTTP_X_TRACE_ID'];
} elseif(!empty($_SERVER['HTTP_X_REQUEST_ID'])) {
self::$traceId = $_SERVER['HTTP_X_REQUEST_ID'];
} else {
self::$traceId = self::genUniqId();
}
}
return self::$traceId;
}
/**
* @return false|string
* 获取spanId
*/
public static function getSpanId() {
if(empty(self::$spanId)) {
self::$spanId = self::genUniqId();
}
return self::$spanId;
}
/**
* @return false|string
* @throws \Exception
* 获取随机串用于记录traceId
*/
public static function genUniqId() {
if (function_exists("random_bytes")) {
$bytes = random_bytes(ceil(8));
return substr(bin2hex($bytes), 0, 16);
} elseif (function_exists("openssl_random_pseudo_bytes")) {
$bytes = openssl_random_pseudo_bytes(ceil(8));
return substr(bin2hex($bytes), 0, 16);
} else {
$pre = rand(1, 4095);
return uniqid(sprintf("%03x", $pre));
}
}
}
......@@ -4,4 +4,4 @@
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit90e85a2e64f8339192f3e91b8700b9f2::getLoader();
return ComposerAutoloaderInit5871a7b0b10b793d91ef1c8029b23ea5::getLoader();
......@@ -32,7 +32,7 @@ private static $installed = array (
'aliases' =>
array (
),
'reference' => 'd92a0e16e4bd237c4597255e7d91981f7eb9f9f4',
'reference' => '5cd0f2ace54fdc6b7e0a0d389e3e8030559220fd',
'name' => 'yidian/yaf_demo',
),
'versions' =>
......@@ -48,12 +48,12 @@ private static $installed = array (
),
'api/php_utils' =>
array (
'pretty_version' => 'v1.0.1',
'version' => '1.0.1.0',
'pretty_version' => 'v1.0.2',
'version' => '1.0.2.0',
'aliases' =>
array (
),
'reference' => '26abffd9afc5b90b7f42f10cf21813bbc3dd4f2d',
'reference' => '98d1aea6e76f55b2bfdd38c897fc6a8faa2bc722',
),
'bacon/bacon-qr-code' =>
array (
......@@ -332,7 +332,7 @@ private static $installed = array (
'aliases' =>
array (
),
'reference' => 'd92a0e16e4bd237c4597255e7d91981f7eb9f9f4',
'reference' => '5cd0f2ace54fdc6b7e0a0d389e3e8030559220fd',
),
),
);
......
......@@ -66,6 +66,7 @@ return array(
'Api\\PhpUtils\\Lock\\FrequencyLockUtil' => $vendorDir . '/api/php_utils/src/Lock/FrequencyLockUtil.php',
'Api\\PhpUtils\\Log\\DaemonLog' => $vendorDir . '/api/php_utils/src/Log/DaemonLog.php',
'Api\\PhpUtils\\Log\\FileLog' => $vendorDir . '/api/php_utils/src/Log/FileLog.php',
'Api\\PhpUtils\\Log\\Tracer' => $vendorDir . '/api/php_utils/src/Log/Tracer.php',
'Api\\PhpUtils\\Message\\Email' => $vendorDir . '/api/php_utils/src/Message/Email.php',
'Api\\PhpUtils\\Mon\\MonUtil' => $vendorDir . '/api/php_utils/src/Mon/MonUtil.php',
'Api\\PhpUtils\\Mon\\TimeCostUtil' => $vendorDir . '/api/php_utils/src/Mon/TimeCostUtil.php',
......
......@@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit90e85a2e64f8339192f3e91b8700b9f2
class ComposerAutoloaderInit5871a7b0b10b793d91ef1c8029b23ea5
{
private static $loader;
......@@ -24,15 +24,15 @@ class ComposerAutoloaderInit90e85a2e64f8339192f3e91b8700b9f2
require __DIR__ . '/platform_check.php';
spl_autoload_register(array('ComposerAutoloaderInit90e85a2e64f8339192f3e91b8700b9f2', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInit5871a7b0b10b793d91ef1c8029b23ea5', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
spl_autoload_unregister(array('ComposerAutoloaderInit90e85a2e64f8339192f3e91b8700b9f2', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInit5871a7b0b10b793d91ef1c8029b23ea5', 'loadClassLoader'));
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if ($useStaticLoader) {
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit90e85a2e64f8339192f3e91b8700b9f2::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInit5871a7b0b10b793d91ef1c8029b23ea5::getInitializer($loader));
} else {
$map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
......@@ -53,19 +53,19 @@ class ComposerAutoloaderInit90e85a2e64f8339192f3e91b8700b9f2
$loader->register(true);
if ($useStaticLoader) {
$includeFiles = Composer\Autoload\ComposerStaticInit90e85a2e64f8339192f3e91b8700b9f2::$files;
$includeFiles = Composer\Autoload\ComposerStaticInit5871a7b0b10b793d91ef1c8029b23ea5::$files;
} else {
$includeFiles = require __DIR__ . '/autoload_files.php';
}
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequire90e85a2e64f8339192f3e91b8700b9f2($fileIdentifier, $file);
composerRequire5871a7b0b10b793d91ef1c8029b23ea5($fileIdentifier, $file);
}
return $loader;
}
}
function composerRequire90e85a2e64f8339192f3e91b8700b9f2($fileIdentifier, $file)
function composerRequire5871a7b0b10b793d91ef1c8029b23ea5($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
require $file;
......
......@@ -4,7 +4,7 @@
namespace Composer\Autoload;
class ComposerStaticInit90e85a2e64f8339192f3e91b8700b9f2
class ComposerStaticInit5871a7b0b10b793d91ef1c8029b23ea5
{
public static $files = array (
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
......@@ -295,6 +295,7 @@ class ComposerStaticInit90e85a2e64f8339192f3e91b8700b9f2
'Api\\PhpUtils\\Lock\\FrequencyLockUtil' => __DIR__ . '/..' . '/api/php_utils/src/Lock/FrequencyLockUtil.php',
'Api\\PhpUtils\\Log\\DaemonLog' => __DIR__ . '/..' . '/api/php_utils/src/Log/DaemonLog.php',
'Api\\PhpUtils\\Log\\FileLog' => __DIR__ . '/..' . '/api/php_utils/src/Log/FileLog.php',
'Api\\PhpUtils\\Log\\Tracer' => __DIR__ . '/..' . '/api/php_utils/src/Log/Tracer.php',
'Api\\PhpUtils\\Message\\Email' => __DIR__ . '/..' . '/api/php_utils/src/Message/Email.php',
'Api\\PhpUtils\\Mon\\MonUtil' => __DIR__ . '/..' . '/api/php_utils/src/Mon/MonUtil.php',
'Api\\PhpUtils\\Mon\\TimeCostUtil' => __DIR__ . '/..' . '/api/php_utils/src/Mon/TimeCostUtil.php',
......@@ -1280,9 +1281,9 @@ class ComposerStaticInit90e85a2e64f8339192f3e91b8700b9f2
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit90e85a2e64f8339192f3e91b8700b9f2::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit90e85a2e64f8339192f3e91b8700b9f2::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit90e85a2e64f8339192f3e91b8700b9f2::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInit5871a7b0b10b793d91ef1c8029b23ea5::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit5871a7b0b10b793d91ef1c8029b23ea5::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit5871a7b0b10b793d91ef1c8029b23ea5::$classMap;
}, null, ClassLoader::class);
}
......
......@@ -27,12 +27,12 @@
},
{
"name": "api/php_utils",
"version": "v1.0.1",
"version_normalized": "1.0.1.0",
"version": "v1.0.2",
"version_normalized": "1.0.2.0",
"source": {
"type": "git",
"url": "https://git.yidian-inc.com:8021/bp/php_utils.git",
"reference": "26abffd9afc5b90b7f42f10cf21813bbc3dd4f2d"
"reference": "98d1aea6e76f55b2bfdd38c897fc6a8faa2bc722"
},
"require": {
"elasticsearch/elasticsearch": "~7.0",
......@@ -44,7 +44,7 @@
"mongodb/mongodb": "1.4.3",
"php": "7.2.*"
},
"time": "2021-08-02T13:20:23+00:00",
"time": "2021-08-03T02:31:09+00:00",
"type": "library",
"installation-source": "source",
"autoload": {
......@@ -1401,7 +1401,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/main"
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1"
},
"funding": [
{
......@@ -1573,7 +1573,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/main"
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1"
},
"funding": [
{
......
......@@ -6,7 +6,7 @@
'aliases' =>
array (
),
'reference' => 'd92a0e16e4bd237c4597255e7d91981f7eb9f9f4',
'reference' => '5cd0f2ace54fdc6b7e0a0d389e3e8030559220fd',
'name' => 'yidian/yaf_demo',
),
'versions' =>
......@@ -22,12 +22,12 @@
),
'api/php_utils' =>
array (
'pretty_version' => 'v1.0.1',
'version' => '1.0.1.0',
'pretty_version' => 'v1.0.2',
'version' => '1.0.2.0',
'aliases' =>
array (
),
'reference' => '26abffd9afc5b90b7f42f10cf21813bbc3dd4f2d',
'reference' => '98d1aea6e76f55b2bfdd38c897fc6a8faa2bc722',
),
'bacon/bacon-qr-code' =>
array (
......@@ -306,7 +306,7 @@
'aliases' =>
array (
),
'reference' => 'd92a0e16e4bd237c4597255e7d91981f7eb9f9f4',
'reference' => '5cd0f2ace54fdc6b7e0a0d389e3e8030559220fd',
),
),
);
......@@ -78,7 +78,6 @@ class CurlFactory implements CurlFactoryInterface
curl_reset($resource);
$this->handles[] = $resource;
}
curl_close($resource);
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment