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']);
|
|||
|
|
}
|
|||
|
|
}
|