Files
xk-api-yii/common/models/ImMessage.php

63 lines
1.8 KiB
PHP
Raw Normal View History

2024-09-19 11:32:39 +08:00
<?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']);
}
}