65 lines
1.5 KiB
PHP
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;
|
|
}
|
|
} |