where(['identifier' => 'knowCustomerInfo'])->first(); if (!$process) return response()->json(['message' => '主流程数据丢失!'], 400); SiteProcess::query()->create([ 'site_id' => $siteId, 'process_id' => $process->id, 'detail' => '已了解' ]); return response()->json(['message' => '操作成功']); } public function domainRegister($siteId) { $process = Process::query()->where(['identifier' => 'domainRegister'])->first(); if (!$process) return response()->json(['message' => '主流程数据丢失!'], 400); SiteProcess::query()->create([ 'site_id' => $siteId, 'process_id' => $process->id, 'detail' => '已注册' ]); return response()->json(['message' => '操作成功']); } /** * 初定网站架构 * @param $siteId * @param $excel * @return \Illuminate\Http\JsonResponse */ public function initSiteSchema($siteId, $excel) { $process = Process::query()->where(['identifier' => 'domainRegister'])->first(); if (!$process) return response()->json(['message' => '主流程数据丢失!'], 400); SiteProcess::query()->create([ 'site_id' => $siteId, 'process_id' => $process->id, 'detail' => $excel ]); return response()->json(['message' => '操作成功']); } /** * 网站架构反馈 * @param $siteId * @return \Illuminate\Http\JsonResponse */ public function siteSchemaFeedback($siteId, $file) { $process = Process::query()->where(['identifier' => 'domainRegister'])->first(); if (!$process) return response()->json(['message' => '主流程数据丢失!'], 400); SiteProcess::query()->create([ 'site_id' => $siteId, 'process_id' => $process->id, 'detail' => ['excel' => $file] ]); return response()->json(['message' => '操作成功']); } /** * 初始化流程 * @param $siteId */ public function initProcess($siteId) { $init = SiteProcess::query()->create([ 'site_id' => $siteId, 'process_id' => 1, 'active' => 1 //已完成 ]); $this->nextProcess($init); } /** * 流转下一流程 * $siteProcess SiteProcess模型 * @param $siteProcess */ public function nextProcess($siteProcess) { $processMap = Process::query()->pluck('limit_days', 'id')->toArray(); $nextProcessIds = $siteProcess->process->next_ids ?? []; $insertData = []; foreach ($nextProcessIds as $id) { $insertData[] = [ 'site_id' => $siteProcess->site_id, 'process_id' => $id, 'active' => 2, //处理中 'should_end_at' => date('Y-m-d H:i:s', strtotime(sprintf('+%s days', $processMap[$id] ?? 0))), 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s'), ]; } SiteProcess::query()->insert($insertData); } /** * 更改站点状态 * @param $siteProcess */ public function changeStatus($siteProcess) { if ($siteProcess->process_id == 15 && $siteProcess->active = 1) { //网站确认之后 Site::query()->where(['id' => $siteProcess->site_id])->update(['status' => 2]); //实施期 } elseif ($siteProcess->process_id == 17 && $siteProcess->active = 1) {//关键词达标确认之后 Site::query()->where(['id' => $siteProcess->site_id])->update(['status' => 3]); //服务期 } } public function renewForm($validated, $site) { // Site:: } public function hasCheckItemsFor(array $for): bool { $user = auth()->user(); if ($user->is_super) return true; return in_array($user->role_id, $for); } }