liyinglin 3 years ago
parent c6c7c7f7af
commit 81e60169a0

@ -3,9 +3,12 @@
namespace App\Http\Controllers\Admin;
use App\Models\Admin;
use App\Models\Department;
use App\Models\User;
use App\Models\Visit;
use App\Models\VisitAudit;
use App\Models\VisitLog;
use App\Models\VisitTime;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Validator;
use App\Helpers\ResponseCode;
@ -135,8 +138,45 @@ class VisitAuditController extends CommonController
$model->fill($all);
$model->save();
// 如果全部审核通过则拜访通过
$noPass = VisitAudit::where('visit_id', $all['visit_id'])->whereIn('status', [0, 2])->count();
if (empty($noPass)) Visit::where('id', $all['visit_id'])->update(['audit_status' => 1]);
$waitCount = VisitAudit::where('visit_id', $all['visit_id'])->whereIn('status', [0])->count();
$noPassCount = VisitAudit::where('visit_id', $all['visit_id'])->whereIn('status', [2])->count();
if ($noPassCount || (empty($noPassCount) && empty($waitCount))) {
$auditResult = '';
if ($noPassCount) {
// 不通过
$auditResult = '驳回';
// 修改状态
Visit::where('id', $all['visit_id'])->update(['audit_status' => 2]);
}
if (empty($noPassCount) && empty($waitCount)) {
// 通过
$auditResult = '通过';
Visit::where('id', $all['visit_id'])->update(['audit_status' => 2]);
}
// 发通知
$visit = Visit::find($all['visit_id']);
$user = User::find($visit->user_id);
$visitTime = VisitTime::find($visit->visit_time_id);
$acceptAdmin = Admin::find($visit->accept_admin_id);
$templateData = [
'date1' => [
'value' => $visit->date . '-' . $visitTime->start_time . '-' . $visitTime->end_time
],
'name3' => [
'value' => $acceptAdmin->name,
],
'thing4' => [
'value' => $visit->name
],
'thing13' => [
'value' => $auditResult,
],
'thing9' => [
'value' => $visit->company_name
],
];
Visit::subMsg('IczaKkCmwf55tAAzCcxb_fbbf5L25SWrSKvaBrkIyk4', $user->openid, $templateData);
}
// 审核记录
$auditAdmin = Admin::find($model->audit_admin_id);
VisitLog::add($this->getUser(), '', $all['visit_id'], $auditAdmin->name . '审核' . $all['status'] == 1 ? '通过' : '驳回');

@ -108,6 +108,28 @@ 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']);
$accpetDepartment = Department::find($all['accpet_department_id']);
$templateData = [
'date1' => [
'value' => $all['date'] . '-' . $visitTime->start_time . '-' . $visitTime->end_time
],
'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);
DB::commit();
return $this->success('更新成功');
} catch (\Exception $exception) {

@ -2,6 +2,8 @@
namespace App\Models;
use EasyWeChat\Factory;
class Visit extends SoftDeletesModel
{
protected $guarded = ['id'];
@ -74,4 +76,21 @@ class Visit extends SoftDeletesModel
return $this->hasMany(VisitLog::class, 'visit_id', 'id');
}
// 小程序订阅消息
public static function subMsg($template_id, $openid, $data)
{
$config = [
'app_id' => \config('app.wechat_appid'),
'secret' => \config('app.wechat_appsecret')
];
$app = Factory::miniProgram($config);
$data = [
'template_id' => $template_id,
'touser' => $openid,
'page' => '',
'data' => $data
];
return $app->subscribe_message->send($data);
}
}

Loading…
Cancel
Save