作者 lyh

gx心跳数据

<?php
/**
* @remark :
* @name :UpdateHeartbeat.php
* @author :lyh
* @method :post
* @time :2024/8/28 15:13
*/
namespace App\Console\Commands\Update;
use App\Models\Log\OperationHeartbeat;
use App\Models\Project\Project;
use App\Services\ProjectServer;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;
class UpdateHeartbeat extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'operation_heartbeat';
/**
* The console command description.
*
* @var string
*/
protected $description = '心跳半小时未操作更新为未操作';
/**
* @remark :更新半小时未操作的界面
* @name :handle
* @author :lyh
* @method :post
* @time :2024/8/28 15:25
*/
public function handle(){
$date = date('Y-m-d H:i:s',time() - 30 * 60);
$operationHeartbeatModel = new OperationHeartbeat();
$operationHeartbeatModel->edit(['status'=>0],['updated_at'=>['<=',$date]]);
echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
}
}
... ...
... ... @@ -36,11 +36,12 @@ class OperationHeartbeatController extends BaseController
'is_template.required' => '详情页/可视化',
'operator_id.required' => '操作人',
]);
$condition = ['source'=>$this->param['source'],'is_list'=>$this->param['is_list'],'is_custom'=>$this->param['is_custom'],'is_template'=>$this->param['is_template']];
$condition = ['project_id'=>$this->user['project_id'],'source'=>$this->param['source'],'is_list'=>$this->param['is_list'],'is_custom'=>$this->param['is_custom'],'is_template'=>$this->param['is_template']];
$operationHeartbeatModel = new OperationHeartbeat();
$info = $operationHeartbeatModel->read($condition,['id','status']);
$condition['status'] = $condition['status'] ?? 0;
if($info === false){
$condition['status'] = 1;
$condition['project_id'] = $this->user['project_id'];
$operationHeartbeatModel->addReturnId($condition);
}else{
$operationHeartbeatModel->edit(['status'=>1],['id'=>$info['id']]);
... ... @@ -69,7 +70,8 @@ class OperationHeartbeatController extends BaseController
'is_template.required' => '详情页/可视化',
'operator_id.required' => '操作人',
]);
$condition = ['source'=>$this->param['source'],'is_list'=>$this->param['is_list'],'is_custom'=>$this->param['is_custom'],'is_template'=>$this->param['is_template']];
$condition = ['project_id'=>$this->user['project_id'],'source'=>$this->param['source'],
'is_list'=>$this->param['is_list'],'is_custom'=>$this->param['is_custom'],'is_template'=>$this->param['is_template']];
$operationHeartbeatModel = new OperationHeartbeat();
$info = $operationHeartbeatModel->read($condition,['id','status']);
$this->response('success',Code::SUCCESS,$info);
... ...
... ... @@ -601,8 +601,11 @@ Route::middleware(['bloginauth'])->group(function () {
Route::any('/del', [\App\Http\Controllers\Bside\Inquiry\InquiryFieldController::class, 'del'])->name('inquiry_field_del');
});
//获取心跳
Route::prefix('operation_heartbeat')->group(function () {
Route::any('/saveHeartbeat', [\App\Http\Controllers\Bside\BCom\OperationHeartbeatController::class, 'saveHeartbeat'])->name('operation_heartbeat_saveHeartbeat');
Route::any('/getInfo', [\App\Http\Controllers\Bside\BCom\OperationHeartbeatController::class, 'getInfo'])->name('operation_heartbeat_getInfo');
});
});
//无需登录验证的路由组
... ...