优化代码
parent
2fed3e583b
commit
296de89431
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
namespace App\Controller\Api\V1;
|
namespace App\Controller\Api\V1;
|
||||||
|
|
||||||
use App\Cache\LastMessage;
|
|
||||||
use App\Cache\UnreadTalk;
|
use App\Cache\UnreadTalk;
|
||||||
use App\Constants\TalkMessageEvent;
|
use App\Constants\TalkMessageEvent;
|
||||||
use App\Constants\TalkMode;
|
use App\Constants\TalkMode;
|
||||||
|
@ -60,7 +59,7 @@ class TalkMessageController extends CController
|
||||||
return $this->response->fail('暂不属于好友关系或群聊成员,无法发送聊天消息!');
|
return $this->response->fail('暂不属于好友关系或群聊成员,无法发送聊天消息!');
|
||||||
}
|
}
|
||||||
|
|
||||||
$record_id = $this->talkMessageService->insertCodeMessage([
|
$isTrue = $this->talkMessageService->insertCodeMessage([
|
||||||
'talk_type' => $params['talk_type'],
|
'talk_type' => $params['talk_type'],
|
||||||
'user_id' => $user_id,
|
'user_id' => $user_id,
|
||||||
'receiver_id' => $params['receiver_id'],
|
'receiver_id' => $params['receiver_id'],
|
||||||
|
@ -70,19 +69,7 @@ class TalkMessageController extends CController
|
||||||
'code' => $params['code']
|
'code' => $params['code']
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if (!$record_id) return $this->response->fail('消息发送失败!');
|
if (!$isTrue) return $this->response->fail('消息发送失败!');
|
||||||
|
|
||||||
MessageProducer::publish(MessageProducer::create(TalkMessageEvent::EVENT_TALK, [
|
|
||||||
'sender_id' => $user_id,
|
|
||||||
'receiver_id' => (int)$params['receiver_id'],
|
|
||||||
'talk_type' => (int)$params['talk_type'],
|
|
||||||
'record_id' => $record_id
|
|
||||||
]));
|
|
||||||
|
|
||||||
LastMessage::getInstance()->save((int)$params['talk_type'], $user_id, (int)$params['receiver_id'], [
|
|
||||||
'text' => '[代码消息]',
|
|
||||||
'created_at' => date('Y-m-d H:i:s')
|
|
||||||
]);
|
|
||||||
|
|
||||||
return $this->response->success();
|
return $this->response->success();
|
||||||
}
|
}
|
||||||
|
@ -122,7 +109,7 @@ class TalkMessageController extends CController
|
||||||
}
|
}
|
||||||
|
|
||||||
// 创建图片消息记录
|
// 创建图片消息记录
|
||||||
$record_id = $this->talkMessageService->insertFileMessage([
|
$isTrue = $this->talkMessageService->insertFileMessage([
|
||||||
'talk_type' => $params['talk_type'],
|
'talk_type' => $params['talk_type'],
|
||||||
'user_id' => $user_id,
|
'user_id' => $user_id,
|
||||||
'receiver_id' => $params['receiver_id'],
|
'receiver_id' => $params['receiver_id'],
|
||||||
|
@ -134,19 +121,7 @@ class TalkMessageController extends CController
|
||||||
'original_name' => $file->getClientFilename(),
|
'original_name' => $file->getClientFilename(),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if (!$record_id) return $this->response->fail('图片上传失败!');
|
if (!$isTrue) return $this->response->fail('图片上传失败!');
|
||||||
|
|
||||||
MessageProducer::publish(MessageProducer::create(TalkMessageEvent::EVENT_TALK, [
|
|
||||||
'sender_id' => $user_id,
|
|
||||||
'receiver_id' => (int)$params['receiver_id'],
|
|
||||||
'talk_type' => (int)$params['talk_type'],
|
|
||||||
'record_id' => $record_id,
|
|
||||||
]));
|
|
||||||
|
|
||||||
LastMessage::getInstance()->save((int)$params['talk_type'], $user_id, (int)$params['receiver_id'], [
|
|
||||||
'text' => '[图片消息]',
|
|
||||||
'created_at' => date('Y-m-d H:i:s')
|
|
||||||
]);
|
|
||||||
|
|
||||||
return $this->response->success();
|
return $this->response->success();
|
||||||
}
|
}
|
||||||
|
@ -181,7 +156,7 @@ class TalkMessageController extends CController
|
||||||
return $this->response->fail('文件不存在...');
|
return $this->response->fail('文件不存在...');
|
||||||
}
|
}
|
||||||
|
|
||||||
$record_id = $this->talkMessageService->insertFileMessage([
|
$isTrue = $this->talkMessageService->insertFileMessage([
|
||||||
'talk_type' => $params['talk_type'],
|
'talk_type' => $params['talk_type'],
|
||||||
'user_id' => $user_id,
|
'user_id' => $user_id,
|
||||||
'receiver_id' => $params['receiver_id']
|
'receiver_id' => $params['receiver_id']
|
||||||
|
@ -194,19 +169,7 @@ class TalkMessageController extends CController
|
||||||
'save_dir' => $save_dir,
|
'save_dir' => $save_dir,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if (!$record_id) return $this->response->fail('表情发送失败!');
|
if (!$isTrue) return $this->response->fail('表情发送失败!');
|
||||||
|
|
||||||
MessageProducer::publish(MessageProducer::create(TalkMessageEvent::EVENT_TALK, [
|
|
||||||
'sender_id' => $user_id,
|
|
||||||
'receiver_id' => (int)$params['receiver_id'],
|
|
||||||
'talk_type' => (int)$params['talk_type'],
|
|
||||||
'record_id' => $record_id
|
|
||||||
]));
|
|
||||||
|
|
||||||
LastMessage::getInstance()->save((int)$params['talk_type'], $user_id, (int)$params['receiver_id'], [
|
|
||||||
'text' => '[文件消息]',
|
|
||||||
'created_at' => date('Y-m-d H:i:s')
|
|
||||||
]);
|
|
||||||
|
|
||||||
return $this->response->success();
|
return $this->response->success();
|
||||||
}
|
}
|
||||||
|
@ -236,6 +199,10 @@ class TalkMessageController extends CController
|
||||||
'title' => $params['title'],
|
'title' => $params['title'],
|
||||||
'options' => $params['options'],
|
'options' => $params['options'],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
if (!$isTrue) return $this->response->fail('发起投票失败!');
|
||||||
|
|
||||||
|
return $this->response->success();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -260,7 +227,7 @@ class TalkMessageController extends CController
|
||||||
|
|
||||||
if (!$emoticon) return $this->response->fail('表情不存在!');
|
if (!$emoticon) return $this->response->fail('表情不存在!');
|
||||||
|
|
||||||
$record_id = $this->talkMessageService->insertFileMessage([
|
$isTrue = $this->talkMessageService->insertFileMessage([
|
||||||
'talk_type' => $params['talk_type'],
|
'talk_type' => $params['talk_type'],
|
||||||
'user_id' => $user_id,
|
'user_id' => $user_id,
|
||||||
'receiver_id' => $params['receiver_id'],
|
'receiver_id' => $params['receiver_id'],
|
||||||
|
@ -272,19 +239,7 @@ class TalkMessageController extends CController
|
||||||
'original_name' => '图片表情',
|
'original_name' => '图片表情',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if (!$record_id) return $this->response->fail('表情发送失败!');
|
if (!$isTrue) return $this->response->fail('表情发送失败!');
|
||||||
|
|
||||||
MessageProducer::publish(MessageProducer::create(TalkMessageEvent::EVENT_TALK, [
|
|
||||||
'sender_id' => $user_id,
|
|
||||||
'receiver_id' => (int)$params['receiver_id'],
|
|
||||||
'talk_type' => (int)$params['talk_type'],
|
|
||||||
'record_id' => $record_id
|
|
||||||
]));
|
|
||||||
|
|
||||||
LastMessage::getInstance()->save((int)$params['talk_type'], $user_id, (int)$params['receiver_id'], [
|
|
||||||
'text' => '[表情包消息]',
|
|
||||||
'created_at' => date('Y-m-d H:i:s')
|
|
||||||
]);
|
|
||||||
|
|
||||||
return $this->response->success();
|
return $this->response->success();
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ use App\Model\BaseModel;
|
||||||
* @property integer $is_disturb 消息免打扰
|
* @property integer $is_disturb 消息免打扰
|
||||||
* @property integer $is_robot 是否机器人
|
* @property integer $is_robot 是否机器人
|
||||||
* @property string $created_at 创建时间
|
* @property string $created_at 创建时间
|
||||||
* @property string $updated_at 更新时间
|
* @property \Carbon\Carbon $updated_at 更新时间
|
||||||
* @package App\Model
|
* @package App\Model
|
||||||
*/
|
*/
|
||||||
class TalkList extends BaseModel
|
class TalkList extends BaseModel
|
||||||
|
|
|
@ -28,8 +28,6 @@ class TalkRecords extends BaseModel
|
||||||
{
|
{
|
||||||
protected $table = 'talk_records';
|
protected $table = 'talk_records';
|
||||||
|
|
||||||
public $timestamps = true;
|
|
||||||
|
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'talk_type',
|
'talk_type',
|
||||||
'msg_type',
|
'msg_type',
|
||||||
|
|
|
@ -26,8 +26,6 @@ class TalkRecordsVote extends BaseModel
|
||||||
{
|
{
|
||||||
protected $table = 'talk_records_vote';
|
protected $table = 'talk_records_vote';
|
||||||
|
|
||||||
public $timestamps = true;
|
|
||||||
|
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'record_id',
|
'record_id',
|
||||||
'user_id',
|
'user_id',
|
||||||
|
|
|
@ -84,7 +84,7 @@ class ReceiveHandleService
|
||||||
// 缓存最后一条聊天消息
|
// 缓存最后一条聊天消息
|
||||||
LastMessage::getInstance()->save($result->talk_type, $result->user_id, $result->receiver_id, [
|
LastMessage::getInstance()->save($result->talk_type, $result->user_id, $result->receiver_id, [
|
||||||
'text' => mb_substr($result->content, 0, 30),
|
'text' => mb_substr($result->content, 0, 30),
|
||||||
'created_at' => $result->created_at
|
'created_at' => date('Y-m-d H:i:s')
|
||||||
]);
|
]);
|
||||||
|
|
||||||
MessageProducer::publish(MessageProducer::create(TalkMessageEvent::EVENT_TALK, [
|
MessageProducer::publish(MessageProducer::create(TalkMessageEvent::EVENT_TALK, [
|
||||||
|
|
|
@ -7,6 +7,7 @@ use App\Cache\ServerRunID;
|
||||||
use App\Cache\UnreadTalk;
|
use App\Cache\UnreadTalk;
|
||||||
use App\Constants\TalkMode;
|
use App\Constants\TalkMode;
|
||||||
use App\Model\Talk\TalkList;
|
use App\Model\Talk\TalkList;
|
||||||
|
use Carbon\Carbon;
|
||||||
|
|
||||||
class TalkListService
|
class TalkListService
|
||||||
{
|
{
|
||||||
|
@ -133,7 +134,7 @@ class TalkListService
|
||||||
'receiver_id' => $item['receiver_id'],
|
'receiver_id' => $item['receiver_id'],
|
||||||
'is_top' => $item['is_top'],
|
'is_top' => $item['is_top'],
|
||||||
'is_disturb' => $item['is_disturb'],
|
'is_disturb' => $item['is_disturb'],
|
||||||
'updated_at' => $item['updated_at'] ?: '2020-01-01 00:00:00',
|
'updated_at' => Carbon::parse($item['updated_at'])->toDateTimeString(),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if ($item['talk_type'] == TalkMode::PRIVATE_CHAT) {
|
if ($item['talk_type'] == TalkMode::PRIVATE_CHAT) {
|
||||||
|
|
|
@ -2,9 +2,12 @@
|
||||||
|
|
||||||
namespace App\Service;
|
namespace App\Service;
|
||||||
|
|
||||||
|
use App\Cache\LastMessage;
|
||||||
|
use App\Constants\TalkMessageEvent;
|
||||||
use App\Constants\TalkMessageType;
|
use App\Constants\TalkMessageType;
|
||||||
use App\Model\Talk\TalkRecordsCode;
|
use App\Model\Talk\TalkRecordsCode;
|
||||||
use App\Model\Talk\TalkRecordsVote;
|
use App\Model\Talk\TalkRecordsVote;
|
||||||
|
use App\Support\MessageProducer;
|
||||||
use Exception;
|
use Exception;
|
||||||
use App\Constants\MediaFileType;
|
use App\Constants\MediaFileType;
|
||||||
use App\Model\Talk\TalkRecords;
|
use App\Model\Talk\TalkRecords;
|
||||||
|
@ -18,7 +21,7 @@ class TalkMessageService
|
||||||
*
|
*
|
||||||
* @param array $message
|
* @param array $message
|
||||||
* @param array $code
|
* @param array $code
|
||||||
* @return bool|int
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public function insertCodeMessage(array $message, array $code)
|
public function insertCodeMessage(array $message, array $code)
|
||||||
{
|
{
|
||||||
|
@ -45,7 +48,19 @@ class TalkMessageService
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $insert->id;
|
MessageProducer::publish(MessageProducer::create(TalkMessageEvent::EVENT_TALK, [
|
||||||
|
'sender_id' => $insert->user_id,
|
||||||
|
'receiver_id' => $insert->receiver_id,
|
||||||
|
'talk_type' => $insert->talk_type,
|
||||||
|
'record_id' => $insert->id
|
||||||
|
]));
|
||||||
|
|
||||||
|
LastMessage::getInstance()->save($insert->talk_type, $insert->user_id, $insert->receiver_id, [
|
||||||
|
'text' => '[代码消息]',
|
||||||
|
'created_at' => date('Y-m-d H:i:s')
|
||||||
|
]);
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -53,7 +68,7 @@ class TalkMessageService
|
||||||
*
|
*
|
||||||
* @param array $message
|
* @param array $message
|
||||||
* @param array $file
|
* @param array $file
|
||||||
* @return bool|int
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public function insertFileMessage(array $message, array $file)
|
public function insertFileMessage(array $message, array $file)
|
||||||
{
|
{
|
||||||
|
@ -81,7 +96,19 @@ class TalkMessageService
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $insert->id;
|
MessageProducer::publish(MessageProducer::create(TalkMessageEvent::EVENT_TALK, [
|
||||||
|
'sender_id' => $insert->user_id,
|
||||||
|
'receiver_id' => $insert->receiver_id,
|
||||||
|
'talk_type' => $insert->talk_type,
|
||||||
|
'record_id' => $insert->id
|
||||||
|
]));
|
||||||
|
|
||||||
|
LastMessage::getInstance()->save($insert->talk_type, $insert->user_id, $insert->receiver_id, [
|
||||||
|
'text' => '[图片消息]',
|
||||||
|
'created_at' => date('Y-m-d H:i:s')
|
||||||
|
]);
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -112,6 +139,18 @@ class TalkMessageService
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $insert->id;
|
MessageProducer::publish(MessageProducer::create(TalkMessageEvent::EVENT_TALK, [
|
||||||
|
'sender_id' => $insert->user_id,
|
||||||
|
'receiver_id' => $insert->receiver_id,
|
||||||
|
'talk_type' => $insert->talk_type,
|
||||||
|
'record_id' => $insert->id
|
||||||
|
]));
|
||||||
|
|
||||||
|
LastMessage::getInstance()->save($insert->talk_type, $insert->user_id, $insert->receiver_id, [
|
||||||
|
'text' => '[投票消息]',
|
||||||
|
'created_at' => date('Y-m-d H:i:s')
|
||||||
|
]);
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue