You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.6 KiB
PHP
86 lines
2.6 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Carbon;
|
|
use Illuminate\Support\Facades\Cache;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class Yz{
|
|
public static function echo($data=[],$code=200){
|
|
$result=array();
|
|
$result['code']=$code;
|
|
$result['data']=$data;
|
|
return response()->json($result)->setEncodingOptions(JSON_UNESCAPED_UNICODE);
|
|
}
|
|
public static function echoError($msg){
|
|
$result=array();
|
|
$result['status']='no';
|
|
$result['msg']=$msg;
|
|
return response()->json($result)->setEncodingOptions(JSON_UNESCAPED_UNICODE);
|
|
}
|
|
public static function echoError1($msg){
|
|
$result=array();
|
|
$result['code']=200;
|
|
$result['status']=false;
|
|
$result['msg']=$msg;
|
|
return response()->json($result)->setEncodingOptions(JSON_UNESCAPED_UNICODE);
|
|
}
|
|
|
|
public static function Return($status,$msg,$data=[]){
|
|
$result=array();
|
|
$result['code']=200;
|
|
$result['status']=$status;
|
|
$result['msg']=$msg;
|
|
$result['data']=$data;
|
|
return $result;
|
|
}
|
|
|
|
//检测系统状态
|
|
public static function GetSysConfigs(array $arr)
|
|
{
|
|
if (empty($arr)) {
|
|
throw new \Exception('参数错误');
|
|
}
|
|
|
|
$allConfigs = Cache::remember('all_system_configs', now()->addMinutes(5), function () {
|
|
return DB::table('configs')->get();
|
|
});
|
|
|
|
$requiredLabels = array_flip($arr);
|
|
|
|
return $allConfigs->filter(function ($config) use ($requiredLabels) {
|
|
return isset($requiredLabels[$config->label]);
|
|
});
|
|
}
|
|
public static function systemStatusCheck(){
|
|
|
|
$configs = self::GetSysConfigs(['系统状态']);
|
|
$configMap = $configs->pluck('value', 'label')->toArray();
|
|
|
|
// 1. 检查系统总开关
|
|
if (isset($configMap['系统状态']) && $configMap['系统状态'] != 1) {
|
|
return ['status'=>false,'msg'=>'系统维护中'];
|
|
}
|
|
return ['status'=>true,'msg'=>'系统正常'];
|
|
}
|
|
public static function DayCutCheck(){
|
|
|
|
$configs = self::GetSysConfigs(['日切开始时间']);
|
|
$configMap = $configs->pluck('value', 'label')->toArray();
|
|
|
|
// 2. 检查日切时间
|
|
if (isset($configMap['日切开始时间'])) {
|
|
$now = Carbon::now();
|
|
$cutTimeStr = $configMap['日切开始时间'];
|
|
|
|
$cutTime = Carbon::createFromFormat('H:i', $cutTimeStr)
|
|
->setDate($now->year, $now->month, $now->day);
|
|
|
|
if ($now->gte($cutTime)) {
|
|
return ['status'=>false,'msg'=>'系统结算中'];
|
|
}
|
|
}
|
|
return ['status'=>true,'msg'=>'系统正常'];
|
|
}
|
|
}
|
|
|