UserInfoUpdated.php
4.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?php
namespace App\Jobs\User;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Log;
class UserInfoUpdated implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $model;
protected $desc = '智能门锁信息更新成功';
/**
* Create a new job instance.
*
* @param $model
*/
public function __construct($model)
{
$this->model = $model;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
Log::channel('queue')->info('====================================== '.$this->desc.' begin ======================================');
if ($this->attempts() > 3) {
Log::channel('queue')->info('尝试次数过多');
} else {
Log::channel('queue')->info('请求模型对象' . json_encode($this->model));
// 获取模型
$model = $this->model;
$model->gender = get_gender_from_ID_number($model->ID_number);
$model->birthday = get_birth_from_ID_number($model->ID_number);
$user = $model->user;
if ($user) {
$user->name = $model->name;
$user->ID_number = $model->ID_number;
$user->birthday = $model->birthday;
$user->nation = $model->nation;
$user->issued = $model->issued;
$user->address = $model->address;
$user->valid_date = $model->valid_date;
$user->ID_image = $model->ID_image;
$user->gender = $model->gender;
$user->save();
// Log::channel('queue')->info('更新用户信息');
$user->changeAccountRecords->each(function ($record) use ($model) {
$record->name = $model->name;
$record->mobile = $model->mobile;
$record->ID_number = $model->ID_number;
$record->gender = $model->gender;
$record->save();
});
$tenant = $user->tenant;
if ($tenant) {
$tenant->name = $model->name;
$tenant->mobile = $model->mobile;
$tenant->ID_number = $model->ID_number;
$tenant->gender = $model->gender;
$tenant->birthday = $model->birthday;
$tenant->nation = $model->nation;
$tenant->issued = $model->issued;
$tenant->address = $model->address;
$tenant->valid_date = $model->valid_date;
$tenant->ID_image = $model->ID_image;
$tenant->save();
$tenant->rooms->each(function ($room) use ($model) {
$room->name = $model->name;
$room->mobile = $model->mobile;
$room->ID_number = $model->ID_number;
$room->gender = $model->gender;
$room->save();
});
}
$landlord = $user->landlord;
if ($landlord) {
$landlord->name = $model->name;
$landlord->mobile = $model->mobile;
$landlord->ID_number = $model->ID_number;
$landlord->gender = $model->gender;
$landlord->save();
$landlord->rooms->each(function ($room) use ($model) {
$room->name = $model->name;
$room->mobile = $model->mobile;
$room->ID_number = $model->ID_number;
$room->gender = $model->gender;
$room->save();
});
}
}
}
Log::channel('queue')->info('====================================== '.$this->desc.' end ======================================');
}
}