diff --git a/api-server/app/core/work-contact/src/Contract/WorkContactContract.php b/api-server/app/core/work-contact/src/Contract/WorkContactContract.php index 6030bab4..a604e5aa 100644 --- a/api-server/app/core/work-contact/src/Contract/WorkContactContract.php +++ b/api-server/app/core/work-contact/src/Contract/WorkContactContract.php @@ -24,9 +24,10 @@ public function getWorkContactById(int $id, array $columns = ['*']): array; * 查询多条 - 根据ID. * @param array $ids ID * @param array|string[] $columns 查询字段 + * @param bool $withTrashed 是否包含软删除 * @return array 数组 */ - public function getWorkContactsById(array $ids, array $columns = ['*']): array; + public function getWorkContactsById(array $ids, array $columns = ['*'], bool $withTrashed = false): array; /** * 多条分页. diff --git a/api-server/app/core/work-contact/src/Logic/LossContactLogic.php b/api-server/app/core/work-contact/src/Logic/LossContactLogic.php index fa943cbd..82576192 100644 --- a/api-server/app/core/work-contact/src/Logic/LossContactLogic.php +++ b/api-server/app/core/work-contact/src/Logic/LossContactLogic.php @@ -286,7 +286,7 @@ private function getEmployee($employeeIds) */ private function getContact($contactIds) { - $contact = $this->contact->getWorkContactsById($contactIds, ['id', 'name', 'avatar']); + $contact = $this->contact->getWorkContactsById($contactIds, ['id', 'name', 'avatar'], true); if (empty($contact)) { return []; } diff --git a/api-server/app/core/work-contact/src/Service/WorkContactService.php b/api-server/app/core/work-contact/src/Service/WorkContactService.php index 90a1202b..94f5a634 100644 --- a/api-server/app/core/work-contact/src/Service/WorkContactService.php +++ b/api-server/app/core/work-contact/src/Service/WorkContactService.php @@ -45,11 +45,19 @@ public function getWorkContactById(int $id, array $columns = ['*']): array * 查询多条 - 根据ID. * @param array $ids ID * @param array|string[] $columns 查询字段 + * @param bool $withTrashed 是否包含软删除 * @return array 数组 */ - public function getWorkContactsById(array $ids, array $columns = ['*']): array + public function getWorkContactsById(array $ids, array $columns = ['*'], bool $withTrashed = false): array { - return $this->model->getAllById($ids, $columns); + $query = $this->model::newModel(); + if ($withTrashed) { + $query = $query->withTrashed(); + } + + $data = $query->find($ids, $columns); + $data || $data = collect([]); + return $data->toArray(); } /**