diff --git a/app/Models/Project.php b/app/Models/Project.php index 19d8d1da..6f852090 100644 --- a/app/Models/Project.php +++ b/app/Models/Project.php @@ -288,7 +288,6 @@ class Project extends AbstractModel public function deleteProject() { AbstractModel::transaction(function () { - WebSocketDialog::whereId($this->dialog_id)->delete(); $columns = ProjectColumn::whereProjectId($this->id)->get(); foreach ($columns as $column) { $column->deleteColumn(false); diff --git a/app/Models/ProjectTask.php b/app/Models/ProjectTask.php index 0e6bdd8c..86fdeeaf 100644 --- a/app/Models/ProjectTask.php +++ b/app/Models/ProjectTask.php @@ -609,9 +609,6 @@ class ProjectTask extends AbstractModel public function deleteTask($pushMsg = true) { AbstractModel::transaction(function () { - if ($this->dialog_id) { - WebSocketDialog::whereId($this->dialog_id)->delete(); - } $this->delete(); $this->addLog("删除{任务}:" . $this->name); }); diff --git a/app/Models/User.php b/app/Models/User.php index c0e88a2a..42b3335d 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -262,7 +262,7 @@ class User extends AbstractModel if (!$user) { $authorization = Base::getToken(); if ($authorization) { - throw new ApiException('身份已失效,请重新登录', $user, -1); + throw new ApiException('身份已失效,请重新登录', [], -1); } else { throw new ApiException('请登录后继续...', [], -1); } diff --git a/app/Models/WebSocketDialog.php b/app/Models/WebSocketDialog.php index 70972eea..53f28af1 100644 --- a/app/Models/WebSocketDialog.php +++ b/app/Models/WebSocketDialog.php @@ -3,7 +3,7 @@ namespace App\Models; use App\Exceptions\ApiException; -use App\Module\Base; +use Illuminate\Database\Eloquent\SoftDeletes; /** * Class WebSocketDialog @@ -21,6 +21,7 @@ use App\Module\Base; * @property-read int|null $dialog_user_count * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog newQuery() + * @method static \Illuminate\Database\Query\Builder|WebSocketDialog onlyTrashed() * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog query() * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereCreatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereDeletedAt($value) @@ -30,10 +31,14 @@ use App\Module\Base; * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereName($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereType($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereUpdatedAt($value) + * @method static \Illuminate\Database\Query\Builder|WebSocketDialog withTrashed() + * @method static \Illuminate\Database\Query\Builder|WebSocketDialog withoutTrashed() * @mixin \Eloquent */ class WebSocketDialog extends AbstractModel { + use SoftDeletes; + /** * @return \Illuminate\Database\Eloquent\Relations\HasMany */ @@ -100,10 +105,10 @@ class WebSocketDialog extends AbstractModel break; case "group": if ($dialog->group_type === 'project') { - $dialog->group_info = Project::select(['id', 'name'])->whereDialogId($dialog->id)->first(); + $dialog->group_info = Project::withTrashed()->select(['id', 'name'])->whereDialogId($dialog->id)->first(); $dialog->name = $dialog->group_info ? $dialog->group_info->name : ''; } elseif ($dialog->group_type === 'task') { - $dialog->group_info = ProjectTask::select(['id', 'name'])->whereDialogId($dialog->id)->first(); + $dialog->group_info = ProjectTask::withTrashed()->select(['id', 'name'])->whereDialogId($dialog->id)->first(); $dialog->name = $dialog->group_info ? $dialog->group_info->name : ''; } break; diff --git a/resources/assets/js/pages/manage/dashboard.vue b/resources/assets/js/pages/manage/dashboard.vue index eecab462..a5c09d31 100644 --- a/resources/assets/js/pages/manage/dashboard.vue +++ b/resources/assets/js/pages/manage/dashboard.vue @@ -8,14 +8,14 @@