2026-05-29 19:54:56 +08:00

65 lines
1.5 KiB
PHP

<?php
/**
* Created by PhpStorm.
* User: zn
* Date: 2017/5/31
* Time: 10:43
*/
namespace common\models;
use common\services\InteractionService;
use common\utils\EnumUtil;
use yii\behaviors\TimestampBehavior;
use yii\db\ActiveRecord;
/**
* 好友
* Class Friend
* @property int $id
* @property int $user_id
* @property int $friend_user_id
* @property int $status
* @property int $created_at
* @property int $updated_at
*/
class Friend extends ActiveRecord
{
public function behaviors()
{
return [
TimestampBehavior::className(),
];
}
public function rules()
{
return [
['user_id', 'required'],
['user_id', 'exist', 'targetClass' => '\common\models\User', 'targetAttribute' => 'id'],
['friend_user_id', 'required'],
['friend_user_id', 'exist', 'targetClass' => '\common\models\User', 'targetAttribute' => 'id'],
['status', 'default', 'value' => EnumUtil::FRIEND_UNTREATED],
['status', 'in', 'range' => EnumUtil::FRIEND_LIST],
];
}
/**
* 生成一个好友的数据
* @param $fromUserID
* @param $beUserID
* @return array
*/
public static function genClientFriendData($fromUserID, $beUserID)
{
$userDbData = User::findById($beUserID);
$returnData = $userDbData->genClientData(false);
$returnData['has_interaction'] = InteractionService::canInteraction($fromUserID, $beUserID);
return $returnData;
}
}