* @link https://github.com/gzydong/hyperf-chat */ namespace App\Service; use App\Model\User; use App\Model\Contact; use App\Traits\PagingTrait; /** * ContactsService * 注:联系人服务层 * * @package App\Service */ class ContactsService extends BaseService { use PagingTrait; /** * 删除联系人 * * @param int $user_id 用户ID * @param int $friend_id 好友ID * @return bool */ public function delete(int $user_id, int $friend_id): bool { $res = (bool)Contact::where('user_id', $user_id)->where('friend_id', $friend_id)->where('status', 1)->update([ 'status' => 0, 'updated_at' => date('Y-m-d H:i:s') ]); if ($res) redis()->del("good_friends:{$user_id}_{$friend_id}"); return $res; } /** * 编辑联系人备注 * * @param int $user_id 用户ID * @param int $friend_id 好友ID * @param string $remark 好友备注名称 * @return bool */ public function editRemark(int $user_id, int $friend_id, string $remark): bool { return (bool)Contact::where('user_id', $user_id)->where('friend_id', $friend_id)->update([ 'remark' => $remark, 'updated_at' => date('Y-m-d H:i:s') ]); } /** * 搜索联系人 * * @param string $mobile 用户手机号/登录账号 * @return array */ public function findContact(string $mobile): array { $user = User::where('mobile', $mobile)->first(['id', 'nickname', 'mobile', 'avatar', 'gender']); return $user ? $user->toArray() : []; } }