123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- <?php
- 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' => '操作成功']);
- }
-
- 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' => '操作成功']);
- }
-
- 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' => '操作成功']);
- }
-
- public function initProcess($siteId)
- {
- $init = SiteProcess::query()->create([
- 'site_id' => $siteId,
- 'process_id' => 1,
- 'active' => 1
- ]);
- $this->nextProcess($init);
- }
-
- 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);
- }
-
- 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)
- {
- }
- public function hasCheckItemsFor(array $for): bool
- {
- $user = auth()->user();
- if ($user->is_super)
- return true;
- return in_array($user->role_id, $for);
- }
- }
|