63 lines
1.8 KiB
PHP
63 lines
1.8 KiB
PHP
<?php
|
||
namespace common\models;
|
||
|
||
use yii\behaviors\TimestampBehavior;
|
||
use yii\db\ActiveRecord;
|
||
|
||
class ImMessage extends \common\modelsgii\ImMessage
|
||
{
|
||
public function behaviors()
|
||
{
|
||
return [
|
||
[
|
||
'class' => TimestampBehavior::class,
|
||
'attributes' => [
|
||
ActiveRecord::EVENT_BEFORE_INSERT => ['created_at','updated_at'],
|
||
ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_at'],
|
||
],
|
||
],
|
||
];
|
||
}
|
||
|
||
//发送消息
|
||
public static function sendMessage($ims_id,$user_id,$service_id,$content,$type)
|
||
{
|
||
$imMessage = new ImMessage();
|
||
$imMessage->ims_id = $ims_id;
|
||
$imMessage->user_id = $user_id;
|
||
$imMessage->service_id = $service_id;
|
||
$imMessage->content = $content;
|
||
$imMessage->type = $type;
|
||
$imMessage->saveOrFail();
|
||
}
|
||
|
||
//member下消息可以通过关联获取,service下的聊天用户不能通过关联,因为user_id可能是医生药师导医,service_id是客服
|
||
//member下的消息可以通过关联获取,但是再次关联的info,需要区分,因为不仅跟医生,还会跟导医聊
|
||
public function getUser()
|
||
{
|
||
return $this->hasOne(User::className(),['id'=>'user_id']);
|
||
}
|
||
|
||
//关联用户
|
||
public function getUserByServiceId()
|
||
{
|
||
return $this->hasOne(User::className(),['id'=>'service_id']);
|
||
}
|
||
|
||
public function getServiceUser()
|
||
{
|
||
return $this->hasOne(ServiceUser::className(),['id'=>'service_id']);
|
||
}
|
||
|
||
//关联服务人员
|
||
public function getServiceUserByUserId()
|
||
{
|
||
return $this->hasOne(ServiceUser::className(),['id'=>'user_id']);
|
||
}
|
||
|
||
public function getImSession()
|
||
{
|
||
return $this->hasOne(ImMessageSession::className(),['id'=>'ims_id']);
|
||
}
|
||
}
|