66 lines
1.6 KiB
PHP
66 lines
1.6 KiB
PHP
<?php namespace Gdoo\Customer\Hooks;
|
|
|
|
use Validator;
|
|
use DB;
|
|
|
|
use Gdoo\User\Models\User;
|
|
use Gdoo\Customer\Models\Contact;
|
|
|
|
class ContactHook
|
|
{
|
|
public function onBeforeForm($params) {
|
|
return $params;
|
|
}
|
|
|
|
public function onAfterForm($params) {
|
|
return $params;
|
|
}
|
|
|
|
public function onBeforeStore($params)
|
|
{
|
|
$master = $params['master'];
|
|
|
|
$_user = [
|
|
'role_id' => 95,
|
|
'group_id' => 3,
|
|
'username' => $master['code'],
|
|
'name' => $master['name'],
|
|
'phone' => $master['phone'],
|
|
'status' => 1,
|
|
];
|
|
|
|
$v = Validator::make($_user, [
|
|
'username' => 'unique:user,username,'.$master['user_id']
|
|
], [], ['username' => '编码']);
|
|
if ($v->fails()) {
|
|
abort_error($v->errors()->first('username'));
|
|
}
|
|
|
|
// 更新用户表
|
|
$user = User::findOrNew($master['user_id']);
|
|
// 密码处理
|
|
if (empty($master['password'])) {
|
|
unset($master['password']);
|
|
} else {
|
|
$user->password = bcrypt($master['password']);
|
|
$master['password'] = $user['password'];
|
|
}
|
|
$user->fill($_user)->save();
|
|
$master['user_id'] = $user->id;
|
|
$params['master'] = $master;
|
|
|
|
return $params;
|
|
}
|
|
|
|
public function onAfterStore($params) {
|
|
return $params;
|
|
}
|
|
|
|
public function onBeforeDelete($params) {
|
|
$ids = $params['ids'];
|
|
$userIds = Contact::whereIn('id', $ids)->pluck('user_id');
|
|
User::whereIn('id', $userIds)->delete();
|
|
return $params;
|
|
}
|
|
}
|