|
|
|
|
@ -12,7 +12,6 @@ use App\Models\VisitArea;
|
|
|
|
|
use App\Models\VisitAudit;
|
|
|
|
|
use App\Models\VisitLog;
|
|
|
|
|
use App\Models\VisitTime;
|
|
|
|
|
use App\Notifications\VisitEmailNotify;
|
|
|
|
|
use Illuminate\Support\Carbon;
|
|
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
|
use Illuminate\Support\Facades\Log;
|
|
|
|
|
@ -65,9 +64,9 @@ class VisitController extends CommonController
|
|
|
|
|
{
|
|
|
|
|
$all = \request()->all();
|
|
|
|
|
$messages = [
|
|
|
|
|
'name.required' => __('mobile.visit.name_required'),
|
|
|
|
|
'visit_area_id.required' => __('mobile.visit.visit_area_id_required'),
|
|
|
|
|
'accept_admin_id.required' => __('mobile.visit.accept_admin_id_required')
|
|
|
|
|
'name.required' => '名称必填',
|
|
|
|
|
'visit_area_id.required' => '区域id必填',
|
|
|
|
|
'accept_admin_id.required' => '接待人必填'
|
|
|
|
|
];
|
|
|
|
|
$validator = Validator::make($all, [
|
|
|
|
|
'name' => 'required',
|
|
|
|
|
@ -106,11 +105,11 @@ class VisitController extends CommonController
|
|
|
|
|
// 上级审核
|
|
|
|
|
$admin = Admin::find($all['accept_admin_id']);
|
|
|
|
|
if (empty($admin->department_id)) {
|
|
|
|
|
return $this->fail([ResponseCode::ERROR_BUSINESS, __('mobile.visit.accept_admin_department_not_exists')]);
|
|
|
|
|
return $this->fail([ResponseCode::ERROR_BUSINESS, '接待人部门不存在']);
|
|
|
|
|
}
|
|
|
|
|
$department = Department::find($admin->department_id);
|
|
|
|
|
if (empty($department->manager_id)) {
|
|
|
|
|
return $this->fail([ResponseCode::ERROR_BUSINESS, __('mobile.visit.accept_admin_department_manager_not_exists')]);
|
|
|
|
|
return $this->fail([ResponseCode::ERROR_BUSINESS, '接待人部门不存在负责人']);
|
|
|
|
|
}
|
|
|
|
|
$item['admin_id'] = $department->manager_id;
|
|
|
|
|
}
|
|
|
|
|
@ -127,24 +126,37 @@ class VisitController extends CommonController
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
VisitLog::add('', $this->getUser(), $model->id, isset($all['id']) ? '更新拜访记录' : '新增拜访记录');
|
|
|
|
|
// 通知,发订阅消息给当前用户
|
|
|
|
|
$visitTime = VisitTime::find($all['visit_time_id']);
|
|
|
|
|
// 被访人信息
|
|
|
|
|
$acceptAdmin = Admin::find($all['accept_admin_id']);
|
|
|
|
|
|
|
|
|
|
// 邮件通知被访人
|
|
|
|
|
if ($acceptAdmin && $acceptAdmin->email) {
|
|
|
|
|
$visitData = [
|
|
|
|
|
'name' => $all['name'],
|
|
|
|
|
'date' => $all['date'],
|
|
|
|
|
'mobile' => $all['mobile'],
|
|
|
|
|
'reason' => $all['reason'] ?? null,
|
|
|
|
|
];
|
|
|
|
|
$acceptAdmin->notify(new VisitEmailNotify($visitData));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 邮件通知第一个审核人
|
|
|
|
|
$accpetDepartment = Department::find($all['accpet_department_id']);
|
|
|
|
|
$templateData = [
|
|
|
|
|
'date1' => [
|
|
|
|
|
'value' => $all['date']
|
|
|
|
|
],
|
|
|
|
|
'name2' => [
|
|
|
|
|
'value' => $all['name']
|
|
|
|
|
],
|
|
|
|
|
'phone_number3' => [
|
|
|
|
|
'value' => $all['mobile']
|
|
|
|
|
],
|
|
|
|
|
'name4' => [
|
|
|
|
|
'value' => $acceptAdmin->name ?? '',
|
|
|
|
|
],
|
|
|
|
|
'thing6' => [
|
|
|
|
|
'value' => $accpetDepartment->name ?? ''
|
|
|
|
|
],
|
|
|
|
|
];
|
|
|
|
|
Visit::subMsg('DmzNRREPFdZrMWconNDdbj_ebtVPRWufq27kRQ25eNg', $this->getUser()->openid, $templateData, $model->id);
|
|
|
|
|
// 短信通知被访人
|
|
|
|
|
$vars = ['date' => $all['date'], 'name' => $all['name'], 'phone_number' => $all['mobile']];
|
|
|
|
|
$template_id = '5wReg1';
|
|
|
|
|
sms($acceptAdmin->mobile, $vars, $template_id);
|
|
|
|
|
// 短信通知第一个审核人
|
|
|
|
|
VisitAudit::smsNextAudit($model, -1);
|
|
|
|
|
DB::commit();
|
|
|
|
|
return $this->success(__('mobile.visit.update_success'));
|
|
|
|
|
return $this->success('更新成功');
|
|
|
|
|
} catch (\Exception $exception) {
|
|
|
|
|
DB::rollBack();
|
|
|
|
|
return $this->fail([$exception->getCode(), $exception->getMessage()]);
|
|
|
|
|
@ -169,7 +181,7 @@ class VisitController extends CommonController
|
|
|
|
|
{
|
|
|
|
|
$all = \request()->all();
|
|
|
|
|
$messages = [
|
|
|
|
|
'type.required' => __('mobile.visit.type_required')
|
|
|
|
|
'type.required' => '类型必填'
|
|
|
|
|
];
|
|
|
|
|
$validator = Validator::make($all, [
|
|
|
|
|
'type' => 'required'
|
|
|
|
|
@ -247,13 +259,13 @@ class VisitController extends CommonController
|
|
|
|
|
$type = request('type');
|
|
|
|
|
$log = StudyLog::where('type', $type)->where('user_id', $this->getUserId())->orderBy('id', 'desc')->first();
|
|
|
|
|
if (empty($log)) {
|
|
|
|
|
return $this->fail([ResponseCode::ERROR_BUSINESS, __('mobile.visit.not_studied')]);
|
|
|
|
|
return $this->fail([ResponseCode::ERROR_BUSINESS, '未学习']);
|
|
|
|
|
}
|
|
|
|
|
$diff = Carbon::parse($log->created_at)->diffInDays(Carbon::now());
|
|
|
|
|
if ($diff > $log->expire_day) {
|
|
|
|
|
return $this->fail([ResponseCode::ERROR_BUSINESS, __('mobile.visit.study_expired')]);
|
|
|
|
|
return $this->fail([ResponseCode::ERROR_BUSINESS, '学习过期']);
|
|
|
|
|
}
|
|
|
|
|
return $this->success(__('mobile.visit.study_valid'));
|
|
|
|
|
return $this->success("学习有效中");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@ -304,7 +316,7 @@ class VisitController extends CommonController
|
|
|
|
|
{
|
|
|
|
|
$all = request()->all();
|
|
|
|
|
$messages = [
|
|
|
|
|
'idcard.required' => __('mobile.visit.idcard_required')
|
|
|
|
|
'idcard.required' => '身份证数组必填'
|
|
|
|
|
];
|
|
|
|
|
$validator = Validator::make($all, [
|
|
|
|
|
'idcard' => 'required'
|
|
|
|
|
|