|
@@ -12,6 +12,8 @@ namespace App\Http\Controllers\Bside\BCom; |
|
@@ -12,6 +12,8 @@ namespace App\Http\Controllers\Bside\BCom; |
|
12
|
use App\Enums\Common\Code;
|
12
|
use App\Enums\Common\Code;
|
|
13
|
use App\Http\Controllers\Bside\BaseController;
|
13
|
use App\Http\Controllers\Bside\BaseController;
|
|
14
|
use App\Models\Log\OperationHeartbeat;
|
14
|
use App\Models\Log\OperationHeartbeat;
|
|
|
|
15
|
+use App\Models\Manage\Manage;
|
|
|
|
16
|
+use App\Models\User\User;
|
|
15
|
|
17
|
|
|
16
|
class OperationHeartbeatController extends BaseController
|
18
|
class OperationHeartbeatController extends BaseController
|
|
17
|
{
|
19
|
{
|
|
@@ -36,6 +38,7 @@ class OperationHeartbeatController extends BaseController |
|
@@ -36,6 +38,7 @@ class OperationHeartbeatController extends BaseController |
|
36
|
'is_custom.required' => '是否为扩展模版',
|
38
|
'is_custom.required' => '是否为扩展模版',
|
|
37
|
'is_template.required' => '详情页/可视化',
|
39
|
'is_template.required' => '详情页/可视化',
|
|
38
|
]);
|
40
|
]);
|
|
|
|
41
|
+
|
|
39
|
$condition = ['project_id'=>$this->user['project_id'],'source'=>$this->param['source'],'source_id'=>$this->param['source_id'],
|
42
|
$condition = ['project_id'=>$this->user['project_id'],'source'=>$this->param['source'],'source_id'=>$this->param['source_id'],
|
|
40
|
'is_list'=>$this->param['is_list'],'is_custom'=>$this->param['is_custom'],'is_template'=>$this->param['is_template']];
|
43
|
'is_list'=>$this->param['is_list'],'is_custom'=>$this->param['is_custom'],'is_template'=>$this->param['is_template']];
|
|
41
|
$operationHeartbeatModel = new OperationHeartbeat();
|
44
|
$operationHeartbeatModel = new OperationHeartbeat();
|
|
@@ -44,9 +47,11 @@ class OperationHeartbeatController extends BaseController |
|
@@ -44,9 +47,11 @@ class OperationHeartbeatController extends BaseController |
|
44
|
if($info === false){
|
47
|
if($info === false){
|
|
45
|
$condition['operator_id'] = $this->user['id'];
|
48
|
$condition['operator_id'] = $this->user['id'];
|
|
46
|
$condition['project_id'] = $this->user['project_id'];
|
49
|
$condition['project_id'] = $this->user['project_id'];
|
|
|
|
50
|
+ $condition['ip'] = $this->request->ip();
|
|
|
|
51
|
+ $condition['manager_id'] = $this->user['manager_id'] ?? 0;
|
|
47
|
$operationHeartbeatModel->addReturnId($condition);
|
52
|
$operationHeartbeatModel->addReturnId($condition);
|
|
48
|
}else{
|
53
|
}else{
|
|
49
|
- $operationHeartbeatModel->edit(['status'=>$condition['status'] ?? 0],['id'=>$info['id']]);
|
54
|
+ $operationHeartbeatModel->edit(['status'=>$condition['status'] ?? 0,'ip'=>$this->request->ip(),'manager_id'=> $this->user['manager_id'] ?? 0],['id'=>$info['id']]);
|
|
50
|
}
|
55
|
}
|
|
51
|
$this->response('success');
|
56
|
$this->response('success');
|
|
52
|
}
|
57
|
}
|
|
@@ -81,10 +86,28 @@ class OperationHeartbeatController extends BaseController |
|
@@ -81,10 +86,28 @@ class OperationHeartbeatController extends BaseController |
|
81
|
}else{
|
86
|
}else{
|
|
82
|
$date_time = strtotime($info['updated_at']) + 7200;
|
87
|
$date_time = strtotime($info['updated_at']) + 7200;
|
|
83
|
if($date_time < time()){
|
88
|
if($date_time < time()){
|
|
84
|
- $operationHeartbeatModel->edit(['status'=>0],$condition);
|
89
|
+ $operationHeartbeatModel->edit(['status'=>0,'ip'=>'127.0.0.1'],$condition);
|
|
85
|
$info['status'] = 0;
|
90
|
$info['status'] = 0;
|
|
86
|
}
|
91
|
}
|
|
87
|
}
|
92
|
}
|
|
|
|
93
|
+ if($info['status'] == 1){
|
|
|
|
94
|
+ //当前登录为切入登录
|
|
|
|
95
|
+ if(isset($this->user['manager_id']) && !empty($this->user['manager_id'])){
|
|
|
|
96
|
+ //上一次验证也是切入登录
|
|
|
|
97
|
+ if($info['manager_id'] != 0){
|
|
|
|
98
|
+ $managerModel = new Manage();
|
|
|
|
99
|
+ $managerInfo = $managerModel->read(['id'=>$info['manager_id']],['name']);
|
|
|
|
100
|
+ $info['message'] = '此页面数据已有人在编辑,请勿重复操作!操作人ip:'.$info['ip'].'操作的管理员为:'.$managerInfo['name'];
|
|
|
|
101
|
+ }else{
|
|
|
|
102
|
+ //账号密码登录
|
|
|
|
103
|
+ $userModel = new User();
|
|
|
|
104
|
+ $userInfo = $userModel->read(['id'=>$info['operator_id']],['name']);
|
|
|
|
105
|
+ $info['message'] = '此页面数据已有人在编辑,请勿重复操作!'.$userInfo['name'].'用户登录在操作。';
|
|
|
|
106
|
+ }
|
|
|
|
107
|
+ }else{
|
|
|
|
108
|
+ $info['message'] = '此页面数据已有人在编辑,请勿重复操作!';
|
|
|
|
109
|
+ }
|
|
|
|
110
|
+ }
|
|
88
|
$this->response('success',Code::SUCCESS,$info);
|
111
|
$this->response('success',Code::SUCCESS,$info);
|
|
89
|
}
|
112
|
}
|
|
90
|
} |
113
|
} |