123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 2019/4/16 0016
- * Time: 9:58
- */
- namespace App\Http\Logics\Admin;
- use App\Http\Models\Process;
- use App\Http\Models\Site;
- use App\Http\Models\SiteProcess;
- use Illuminate\Database\Eloquent\Model;
- class ProcessLogic
- {
- public function knowCustomerInfo($siteId)
- {
- $process = Process::query()->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);
- }
- }
|