|
@@ -10,19 +10,15 @@ use App\Model\ChatTopic;
|
|
|
use App\Model\ChatTopicsReply;
|
|
use App\Model\ChatTopicsReply;
|
|
|
|
|
|
|
|
use App\Model\ChatTopicClass;
|
|
use App\Model\ChatTopicClass;
|
|
|
-use App\Model\ImGroup;
|
|
|
|
|
-use App\Model\ImGroupMember;
|
|
|
|
|
use App\Model\User;
|
|
use App\Model\User;
|
|
|
use App\Tools\PublicData;
|
|
use App\Tools\PublicData;
|
|
|
use App\Tools\Result;
|
|
use App\Tools\Result;
|
|
|
-use Hyperf\Context\Context;
|
|
|
|
|
use Hyperf\DbConnection\Db;
|
|
use Hyperf\DbConnection\Db;
|
|
|
use Hyperf\RpcServer\Annotation\RpcService;
|
|
use Hyperf\RpcServer\Annotation\RpcService;
|
|
|
use Hyperf\Context\ApplicationContext as ContextApplicationContext;
|
|
use Hyperf\Context\ApplicationContext as ContextApplicationContext;
|
|
|
use Hyperf\Amqp\Producer;
|
|
use Hyperf\Amqp\Producer;
|
|
|
|
|
|
|
|
use App\Amqp\Producer\MqProducer;
|
|
use App\Amqp\Producer\MqProducer;
|
|
|
-use function Hyperf\Support\env;
|
|
|
|
|
|
|
|
|
|
#[RpcService(name: "ChatService", protocol: "jsonrpc-http", server: "jsonrpc-http")]
|
|
#[RpcService(name: "ChatService", protocol: "jsonrpc-http", server: "jsonrpc-http")]
|
|
|
class ChatService implements ChatServiceInterface
|
|
class ChatService implements ChatServiceInterface
|
|
@@ -778,43 +774,26 @@ class ChatService implements ChatServiceInterface
|
|
|
*/
|
|
*/
|
|
|
public function joinGroup(array $data): array
|
|
public function joinGroup(array $data): array
|
|
|
{
|
|
{
|
|
|
- try {
|
|
|
|
|
- var_dump("========",$data);
|
|
|
|
|
- $group = ImGroup::where(['id' => $data['group_id']])->first();
|
|
|
|
|
- if (empty($group)) {
|
|
|
|
|
- return Result::error("群不存在", 0);
|
|
|
|
|
- }
|
|
|
|
|
- $groupMember = ImGroupMember::where(['user_id' => $data['user_id'], 'group_id' => $data['group_id']])->first();
|
|
|
|
|
- if ($groupMember) {
|
|
|
|
|
- return Result::error("已加入群", 0);
|
|
|
|
|
- }
|
|
|
|
|
-// $info = [
|
|
|
|
|
-// 'id' => PublicData::uuid(),
|
|
|
|
|
-// 'user_id' => $data['user_id'],
|
|
|
|
|
-// 'group_id' => $data['group_id'],
|
|
|
|
|
-// ];
|
|
|
|
|
-// $result = ChatGroupsMember::insert($info);
|
|
|
|
|
- $url = env('IM_URL').'/api/v1/group/invite';
|
|
|
|
|
- $dataIM = [
|
|
|
|
|
- 'group_id' => intval($data['group_id']),
|
|
|
|
|
- 'ids' => (string)$data['user_id'],
|
|
|
|
|
- ];
|
|
|
|
|
- $options = [
|
|
|
|
|
- 'authorization'=>$data['token']
|
|
|
|
|
- ];
|
|
|
|
|
- var_dump("参数:",$url,$dataIM,$options);
|
|
|
|
|
- $result = PublicData::im_post($url,$dataIM,$options);
|
|
|
|
|
- var_dump("结果:",$result);
|
|
|
|
|
- if ($result) {
|
|
|
|
|
- return Result::success($data);
|
|
|
|
|
- } else {
|
|
|
|
|
- return Result::error($data);
|
|
|
|
|
- }
|
|
|
|
|
- }catch (\Exception $ex){
|
|
|
|
|
- var_dump($ex->getMessage());
|
|
|
|
|
- return Result::error([]);
|
|
|
|
|
|
|
+ $group = ChatGroups::where(['id' => $data['group_id']])->first();
|
|
|
|
|
+ if (empty($group)) {
|
|
|
|
|
+ return Result::error("群不存在", 0);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+ $groupMember = ChatGroupsMember::where(['user_id' => $data['user_id'], 'group_id' => $data['group_id']])->first();
|
|
|
|
|
+ if ($groupMember) {
|
|
|
|
|
+ return Result::error("已加入群", 0);
|
|
|
|
|
+ }
|
|
|
|
|
+ $info = [
|
|
|
|
|
+ 'id' => PublicData::uuid(),
|
|
|
|
|
+ 'user_id' => $data['user_id'],
|
|
|
|
|
+ 'group_id' => $data['group_id'],
|
|
|
|
|
+ ];
|
|
|
|
|
+ $result = ChatGroupsMember::insert($info);
|
|
|
|
|
+ var_dump($result, '--------------------');
|
|
|
|
|
+ if ($result) {
|
|
|
|
|
+ return Result::success($data);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return Result::error($data);
|
|
|
|
|
+ };
|
|
|
}
|
|
}
|
|
|
/**
|
|
/**
|
|
|
* 话题 - 列表
|
|
* 话题 - 列表
|
|
@@ -872,51 +851,49 @@ class ChatService implements ChatServiceInterface
|
|
|
try {
|
|
try {
|
|
|
$data['created_at'] = date('Y-m-d H:i:s');
|
|
$data['created_at'] = date('Y-m-d H:i:s');
|
|
|
$data['updated_at'] = date('Y-m-d H:i:s');
|
|
$data['updated_at'] = date('Y-m-d H:i:s');
|
|
|
- if($data['type_id'] != 10000){
|
|
|
|
|
|
|
+ if ($data['type_id'] != 10000) {
|
|
|
$this->sendMessage([
|
|
$this->sendMessage([
|
|
|
- 'talk_type'=>300,
|
|
|
|
|
- 'title'=>$data['title'],
|
|
|
|
|
- 'content'=>'提交了审核',
|
|
|
|
|
- 'messageType'=>4,
|
|
|
|
|
|
|
+ 'talk_type' => 300,
|
|
|
|
|
+ 'title' => $data['title'],
|
|
|
|
|
+ 'content' => '提交了审核',
|
|
|
|
|
+ 'messageType' => 4,
|
|
|
]);
|
|
]);
|
|
|
$data['status'] = 1;
|
|
$data['status'] = 1;
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
$data['status'] = 2;
|
|
$data['status'] = 2;
|
|
|
-
|
|
|
|
|
-// if($data['is_group'] == 1){
|
|
|
|
|
-// $group_id = PublicData::uuid();
|
|
|
|
|
-// $groupData = [
|
|
|
|
|
-// 'id' => $group_id,
|
|
|
|
|
-// 'creator_id' => $data['user_id'],
|
|
|
|
|
-// 'group_name' => $data['group_name'] ?? '',
|
|
|
|
|
-// 'profile' => '',
|
|
|
|
|
-// ];
|
|
|
|
|
-// $groupResult = ChatGroups::insertGetId($groupData);
|
|
|
|
|
-// $groupMemberData = [
|
|
|
|
|
-// 'id' => PublicData::uuid(),
|
|
|
|
|
-// 'user_id' => $data['user_id'],
|
|
|
|
|
-// 'group_id' => $group_id,
|
|
|
|
|
-// 'leader' => 2,
|
|
|
|
|
-// ];
|
|
|
|
|
-// $groupMemberResult = ChatGroupsMember::insertGetId($groupMemberData);
|
|
|
|
|
|
|
+ if ($data['is_group'] == 1) {
|
|
|
|
|
+ $group_id = PublicData::uuid();
|
|
|
|
|
+ $groupData = [
|
|
|
|
|
+ 'id' => $group_id,
|
|
|
|
|
+ 'creator_id' => $data['user_id'],
|
|
|
|
|
+ 'group_name' => $data['group_name'] ?? '',
|
|
|
|
|
+ 'profile' => '',
|
|
|
|
|
+ ];
|
|
|
|
|
+ $groupResult = ChatGroups::insertGetId($groupData);
|
|
|
|
|
+ $groupMemberData = [
|
|
|
|
|
+ 'id' => PublicData::uuid(),
|
|
|
|
|
+ 'user_id' => $data['user_id'],
|
|
|
|
|
+ 'group_id' => $group_id,
|
|
|
|
|
+ 'leader' => 2,
|
|
|
|
|
+ ];
|
|
|
|
|
+ $groupMemberResult = ChatGroupsMember::insertGetId($groupMemberData);
|
|
|
//更新result的 group_id
|
|
//更新result的 group_id
|
|
|
-// $datas['group_id'] = $group_id;
|
|
|
|
|
-// ChatTopic::where(['id' => $data['id']])->update($datas);
|
|
|
|
|
-
|
|
|
|
|
|
|
+ $datas['group_id'] = $group_id;
|
|
|
|
|
+ ChatTopic::where(['id' => $data['id']])->update($datas);
|
|
|
|
|
+
|
|
|
//插入一条消息
|
|
//插入一条消息
|
|
|
-// $chatRecordsData = [
|
|
|
|
|
-// 'user_id' => $data['user_id'],
|
|
|
|
|
-// 'receiver_id' => $group_id,
|
|
|
|
|
-// 'content' => '我创建了一个群' . Date('Y-m-d H:i:s'),
|
|
|
|
|
-// 'msg_type' => 1,
|
|
|
|
|
-// 'is_read' => 0,
|
|
|
|
|
-// 'talk_type' => 2,
|
|
|
|
|
-// 'action' => 'said',
|
|
|
|
|
-// 'group_receiver_id' => $data['user_id'],
|
|
|
|
|
-// ];
|
|
|
|
|
-// ChatRecords::insert($chatRecordsData);
|
|
|
|
|
-// }
|
|
|
|
|
-
|
|
|
|
|
|
|
+ $chatRecordsData = [
|
|
|
|
|
+ 'user_id' => $data['user_id'],
|
|
|
|
|
+ 'receiver_id' => $group_id,
|
|
|
|
|
+ 'content' => '我创建了一个群' . Date('Y-m-d H:i:s'),
|
|
|
|
|
+ 'msg_type' => 1,
|
|
|
|
|
+ 'is_read' => 0,
|
|
|
|
|
+ 'talk_type' => 2,
|
|
|
|
|
+ 'action' => 'said',
|
|
|
|
|
+ 'group_receiver_id' => $data['user_id'],
|
|
|
|
|
+ ];
|
|
|
|
|
+ ChatRecords::insert($chatRecordsData);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
unset($data['type_id']);
|
|
unset($data['type_id']);
|
|
|
$result = ChatTopic::insertGetId($data);
|
|
$result = ChatTopic::insertGetId($data);
|
|
@@ -936,115 +913,72 @@ class ChatService implements ChatServiceInterface
|
|
|
$query = ChatTopic::where(['id' => $data['id']]);
|
|
$query = ChatTopic::where(['id' => $data['id']]);
|
|
|
$topdata = $query->first();
|
|
$topdata = $query->first();
|
|
|
|
|
|
|
|
- $group_id = '';
|
|
|
|
|
- /**************************************new*************************************************************/
|
|
|
|
|
- if($data['status']==2){
|
|
|
|
|
- //同意-需要创建群聊-开始创建
|
|
|
|
|
- if($topdata['is_group']==1){
|
|
|
|
|
- //是否已经创建过群聊-没有创建才进行创建
|
|
|
|
|
- if(!$topdata['group_id']){
|
|
|
|
|
- $url = env('IM_URL').'/api/v1/group/create';
|
|
|
|
|
- $dataIM = [
|
|
|
|
|
- 'avatar' => '',
|
|
|
|
|
- 'name' => $topdata['group_name'],
|
|
|
|
|
- 'profile'=>'',
|
|
|
|
|
- 'ids' => '',
|
|
|
|
|
- 'create_user_id'=>$topdata['user_id']
|
|
|
|
|
- ];
|
|
|
|
|
- $options = [
|
|
|
|
|
- 'authorization'=>$data['token']
|
|
|
|
|
- ];
|
|
|
|
|
- $res = PublicData::im_post($url,$dataIM,$options);
|
|
|
|
|
- if($res['code']==200){
|
|
|
|
|
- $group_id = $res['data']['group_id'];
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- $this->sendMessage([
|
|
|
|
|
- 'talk_type'=>301,
|
|
|
|
|
- 'title'=>$topdata['title'],
|
|
|
|
|
- 'content'=>'审核通过',
|
|
|
|
|
- 'messageType'=>4,
|
|
|
|
|
- 'user_id'=>$topdata['user_id'],
|
|
|
|
|
- ]);
|
|
|
|
|
- }else if($data['status']==3){
|
|
|
|
|
- if($topdata['group_id']){
|
|
|
|
|
- $url = env('IM_URL').'/api/v1/group/dismiss';
|
|
|
|
|
- $dataIM = [
|
|
|
|
|
- 'group_id' => intval($topdata['group_id']),
|
|
|
|
|
- 'create_user_id'=>$topdata['user_id']
|
|
|
|
|
|
|
+ $result = ChatTopic::where(['id' => $data['id']])->update(['status' => $data['status']]);
|
|
|
|
|
+ // var_dump($data, 'tedst111111111111111');
|
|
|
|
|
+ // var_dump(date('Y-m-d H:i:s'), 'tedst111111111111111');
|
|
|
|
|
+ $creatter = $topdata['user_id'];
|
|
|
|
|
+ if ($data['status'] == 2 && $topdata['is_group'] == 1) {
|
|
|
|
|
+ $group_id = '';
|
|
|
|
|
+ if (empty($topdata['group_id'])) {
|
|
|
|
|
+ $group_id = PublicData::uuid();
|
|
|
|
|
+ $groupData = [
|
|
|
|
|
+ 'id' => $group_id,
|
|
|
|
|
+ 'creator_id' => $topdata['user_id'],
|
|
|
|
|
+ 'group_name' => $topdata['group_name'] ?? '',
|
|
|
|
|
+ 'profile' => '',
|
|
|
];
|
|
];
|
|
|
- $options = [
|
|
|
|
|
- 'authorization'=>$data['token']
|
|
|
|
|
|
|
+ $groupResult = ChatGroups::insertGetId($groupData);
|
|
|
|
|
+ $groupMemberData = [
|
|
|
|
|
+ 'id' => PublicData::uuid(),
|
|
|
|
|
+ 'user_id' => $topdata['user_id'],
|
|
|
|
|
+ 'group_id' => $group_id,
|
|
|
|
|
+ 'leader' => 2,
|
|
|
];
|
|
];
|
|
|
- $res = PublicData::im_post($url,$dataIM,$options);
|
|
|
|
|
- if($res['code']!=200){
|
|
|
|
|
- //$group_id = $res['data']['group_id'];
|
|
|
|
|
- Db::rollBack();
|
|
|
|
|
- return Result::error($data, '群聊解散失败');
|
|
|
|
|
- }
|
|
|
|
|
- $group_id = '';
|
|
|
|
|
|
|
+ $groupMemberResult = ChatGroupsMember::insertGetId($groupMemberData);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ $group_id = $topdata['group_id'];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //更新result的 group_id
|
|
|
|
|
+ $datas['group_id'] = $group_id;
|
|
|
|
|
+ ChatTopic::where(['id' => $data['id']])->update($datas);
|
|
|
|
|
+
|
|
|
|
|
+ //插入一条消息
|
|
|
|
|
+ $chatRecordsData = [
|
|
|
|
|
+ 'user_id' => $topdata['user_id'],
|
|
|
|
|
+ 'receiver_id' => $group_id,
|
|
|
|
|
+ 'content' => '我创建了一个群' . Date('Y-m-d H:i:s'),
|
|
|
|
|
+ 'msg_type' => 1,
|
|
|
|
|
+ 'is_read' => 0,
|
|
|
|
|
+ 'talk_type' => 2,
|
|
|
|
|
+ 'action' => 'said',
|
|
|
|
|
+ 'group_receiver_id' => $topdata['user_id'],
|
|
|
|
|
+ ];
|
|
|
|
|
+ ChatRecords::insert($chatRecordsData);
|
|
|
|
|
+ } elseif ($data['status'] == 3) {
|
|
|
|
|
+ if (isset($topdata['group_id']) && !empty($topdata['group_id'])) {
|
|
|
|
|
+ ChatRecords::where('receiver_id', $topdata['group_id'])->delete();
|
|
|
|
|
+ ChatGroupsMember::where('group_id', $topdata['group_id'])
|
|
|
|
|
+ ->where([["user_id", '!=', $creatter]])->delete();
|
|
|
}
|
|
}
|
|
|
|
|
+ }
|
|
|
|
|
+ if ($data['status'] == 2) {
|
|
|
|
|
+ $this->sendMessage([
|
|
|
|
|
+ 'talk_type' => 301,
|
|
|
|
|
+ 'title' => $topdata['title'],
|
|
|
|
|
+ 'content' => '审核通过',
|
|
|
|
|
+ 'messageType' => 4,
|
|
|
|
|
+ 'user_id' => $topdata['user_id'],
|
|
|
|
|
+ ]);
|
|
|
|
|
+ } else if ($data['status'] == 3) {
|
|
|
$this->sendMessage([
|
|
$this->sendMessage([
|
|
|
- 'talk_type'=>301,
|
|
|
|
|
- 'title'=>$topdata['title'],
|
|
|
|
|
- 'content'=>'审核拒绝',
|
|
|
|
|
- 'messageType'=>4,
|
|
|
|
|
- 'user_id'=>$topdata['user_id'],
|
|
|
|
|
|
|
+ 'talk_type' => 301,
|
|
|
|
|
+ 'title' => $topdata['title'],
|
|
|
|
|
+ 'content' => '审核拒绝',
|
|
|
|
|
+ 'messageType' => 4,
|
|
|
|
|
+ 'user_id' => $topdata['user_id'],
|
|
|
]);
|
|
]);
|
|
|
}
|
|
}
|
|
|
-//====================================================================================
|
|
|
|
|
-// $creatter = $topdata['user_id'];
|
|
|
|
|
-// if ($data['status'] == 2 && $topdata['is_group'] == 1) {
|
|
|
|
|
-// $group_id = '';
|
|
|
|
|
-// if(empty($topdata['group_id'])){
|
|
|
|
|
-// $group_id = PublicData::uuid();
|
|
|
|
|
-// $groupData = [
|
|
|
|
|
-// 'id' => $group_id,
|
|
|
|
|
-// 'creator_id' => $topdata['user_id'],
|
|
|
|
|
-// 'group_name' => $topdata['group_name'] ?? '',
|
|
|
|
|
-// 'profile' => '',
|
|
|
|
|
-// ];
|
|
|
|
|
-// $groupResult = ChatGroups::insertGetId($groupData);
|
|
|
|
|
-// $groupMemberData = [
|
|
|
|
|
-// 'id' => PublicData::uuid(),
|
|
|
|
|
-// 'user_id' => $topdata['user_id'],
|
|
|
|
|
-// 'group_id' => $group_id,
|
|
|
|
|
-// 'leader' => 2,
|
|
|
|
|
-// ];
|
|
|
|
|
-// $groupMemberResult = ChatGroupsMember::insertGetId($groupMemberData);
|
|
|
|
|
-// }else{
|
|
|
|
|
-// $group_id = $topdata['group_id'];
|
|
|
|
|
-// }
|
|
|
|
|
-
|
|
|
|
|
- //更新result的 group_id
|
|
|
|
|
-// $datas['group_id'] = $group_id;
|
|
|
|
|
-
|
|
|
|
|
-// ChatTopic::where(['id' => $data['id']])->update($datas);
|
|
|
|
|
-
|
|
|
|
|
- //插入一条消息
|
|
|
|
|
-// $chatRecordsData = [
|
|
|
|
|
-// 'user_id' => $topdata['user_id'],
|
|
|
|
|
-// 'receiver_id' => $group_id,
|
|
|
|
|
-// 'content' => '我创建了一个群' . Date('Y-m-d H:i:s'),
|
|
|
|
|
-// 'msg_type' => 1,
|
|
|
|
|
-// 'is_read' => 0,
|
|
|
|
|
-// 'talk_type' => 2,
|
|
|
|
|
-// 'action' => 'said',
|
|
|
|
|
-// 'group_receiver_id' => $topdata['user_id'],
|
|
|
|
|
-// ];
|
|
|
|
|
-// ChatRecords::insert($chatRecordsData);
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-// } elseif ($data['status'] == 3) {
|
|
|
|
|
-// if(isset($topdata['group_id']) && !empty($topdata['group_id'])){
|
|
|
|
|
-// ChatRecords::where('receiver_id', $topdata['group_id'])->delete();
|
|
|
|
|
-// ChatGroupsMember::where('group_id', $topdata['group_id'])
|
|
|
|
|
-// ->where([["user_id", '!=', $creatter]])->delete();
|
|
|
|
|
-// }
|
|
|
|
|
-// }
|
|
|
|
|
-//====================================================================================
|
|
|
|
|
- $result = ChatTopic::where(['id' => $data['id']])->update(['status' => $data['status'],'group_id'=>$group_id]);
|
|
|
|
|
Db::commit();
|
|
Db::commit();
|
|
|
if ($result) {
|
|
if ($result) {
|
|
|
return Result::success($data);
|
|
return Result::success($data);
|
|
@@ -1064,17 +998,16 @@ class ChatService implements ChatServiceInterface
|
|
|
if (empty($data['id'])) {
|
|
if (empty($data['id'])) {
|
|
|
return Result::error('id不能为空');
|
|
return Result::error('id不能为空');
|
|
|
}
|
|
}
|
|
|
- if($data['type_id'] != 10000){
|
|
|
|
|
|
|
+ if ($data['type_id'] != 10000) {
|
|
|
$this->sendMessage([
|
|
$this->sendMessage([
|
|
|
- 'talk_type'=>300,
|
|
|
|
|
- 'title'=>$data['title'],
|
|
|
|
|
- 'content'=>'提交了审核',
|
|
|
|
|
- 'messageType'=>4,
|
|
|
|
|
|
|
+ 'talk_type' => 300,
|
|
|
|
|
+ 'title' => $data['title'],
|
|
|
|
|
+ 'content' => '提交了审核',
|
|
|
|
|
+ 'messageType' => 4,
|
|
|
]);
|
|
]);
|
|
|
$data['status'] = 1;
|
|
$data['status'] = 1;
|
|
|
}
|
|
}
|
|
|
- var_dump($data);
|
|
|
|
|
- unset($data['type_id']);
|
|
|
|
|
|
|
+
|
|
|
$result = ChatTopic::where(['id' => $data['id']])->update($data);
|
|
$result = ChatTopic::where(['id' => $data['id']])->update($data);
|
|
|
if ($result) {
|
|
if ($result) {
|
|
|
return Result::success($data);
|
|
return Result::success($data);
|
|
@@ -1138,7 +1071,7 @@ class ChatService implements ChatServiceInterface
|
|
|
public function updateGroupMembers(array $data): array
|
|
public function updateGroupMembers(array $data): array
|
|
|
{
|
|
{
|
|
|
DB::beginTransaction();
|
|
DB::beginTransaction();
|
|
|
- try{
|
|
|
|
|
|
|
+ try {
|
|
|
$where = [
|
|
$where = [
|
|
|
'group_id' => $data['group_id'],
|
|
'group_id' => $data['group_id'],
|
|
|
];
|
|
];
|
|
@@ -1160,19 +1093,18 @@ class ChatService implements ChatServiceInterface
|
|
|
// var_dump("data",$data);
|
|
// var_dump("data",$data);
|
|
|
//字符串转数组,
|
|
//字符串转数组,
|
|
|
$groupIdList = $data['group_member'];
|
|
$groupIdList = $data['group_member'];
|
|
|
- array_push($groupIdList,$data['user_id']);
|
|
|
|
|
|
|
+ array_push($groupIdList, $data['user_id']);
|
|
|
// var_dump("几个",$groupIdList);
|
|
// var_dump("几个",$groupIdList);
|
|
|
- ChatRecords::whereNotIn('user_id',$groupIdList)->where('group_id',$data['group_id'])->delete();
|
|
|
|
|
-
|
|
|
|
|
|
|
+ ChatRecords::whereNotIn('receiver_id', $groupIdList)->delete();
|
|
|
|
|
+
|
|
|
// 获取群信息
|
|
// 获取群信息
|
|
|
$groupInfo = ChatGroups::where(['id' => $group_id])->first();
|
|
$groupInfo = ChatGroups::where(['id' => $group_id])->first();
|
|
|
DB::commit();
|
|
DB::commit();
|
|
|
return Result::success($groupInfo);
|
|
return Result::success($groupInfo);
|
|
|
- }catch(\Exception $e){
|
|
|
|
|
|
|
+ } catch (\Exception $e) {
|
|
|
DB::rollBack();
|
|
DB::rollBack();
|
|
|
return Result::error($data, $e->getMessage());
|
|
return Result::error($data, $e->getMessage());
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
}
|
|
}
|
|
|
public function clearGroupRecords(array $data): array
|
|
public function clearGroupRecords(array $data): array
|
|
|
{
|
|
{
|
|
@@ -1328,9 +1260,9 @@ class ChatService implements ChatServiceInterface
|
|
|
*/
|
|
*/
|
|
|
public function getBusinessDistrictList(array $data): array
|
|
public function getBusinessDistrictList(array $data): array
|
|
|
{
|
|
{
|
|
|
- $query = ImGroupMember::Join('chat_topics', 'chat_topics.group_id', '=', 'im_group_member.group_id')
|
|
|
|
|
|
|
+ $query = ChatGroupsMember::Join('chat_topics', 'chat_topics.group_id', '=', 'chat_groups_members.group_id')
|
|
|
->leftJoin('chat_topic_class', 'chat_topic_class.id', '=', 'chat_topics.type')
|
|
->leftJoin('chat_topic_class', 'chat_topic_class.id', '=', 'chat_topics.type')
|
|
|
- ->where(['im_group_member.user_id' => $data['user_id']])
|
|
|
|
|
|
|
+ ->where(['chat_groups_members.user_id' => $data['user_id']])
|
|
|
->when($data, function ($query) use ($data) {
|
|
->when($data, function ($query) use ($data) {
|
|
|
if (!empty($data['type'])) {
|
|
if (!empty($data['type'])) {
|
|
|
$query->where(['chat_topics.type' => $data['type']]);
|
|
$query->where(['chat_topics.type' => $data['type']]);
|
|
@@ -1361,24 +1293,24 @@ class ChatService implements ChatServiceInterface
|
|
|
];
|
|
];
|
|
|
return Result::success($result);
|
|
return Result::success($result);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 发送消息
|
|
* 发送消息
|
|
|
* @param array $messageData
|
|
* @param array $messageData
|
|
|
* @return void
|
|
* @return void
|
|
|
*/
|
|
*/
|
|
|
- public function sendMessage($messageData){
|
|
|
|
|
- $msg =[
|
|
|
|
|
- 'talk_type'=>$messageData['talk_type'],
|
|
|
|
|
- 'title'=>$messageData['title'],
|
|
|
|
|
- 'content'=>$messageData['content'],
|
|
|
|
|
- 'messageType'=>$messageData['messageType'],
|
|
|
|
|
- 'user_id'=>$messageData['user_id']??'',
|
|
|
|
|
- 'time'=>microtime(),
|
|
|
|
|
|
|
+ public function sendMessage($messageData)
|
|
|
|
|
+ {
|
|
|
|
|
+ $msg = [
|
|
|
|
|
+ 'talk_type' => $messageData['talk_type'],
|
|
|
|
|
+ 'title' => $messageData['title'],
|
|
|
|
|
+ 'content' => $messageData['content'],
|
|
|
|
|
+ 'messageType' => $messageData['messageType'],
|
|
|
|
|
+ 'user_id' => $messageData['user_id'] ?? '',
|
|
|
|
|
+ 'time' => microtime(),
|
|
|
];
|
|
];
|
|
|
$message = new MqProducer($msg);
|
|
$message = new MqProducer($msg);
|
|
|
$producer = ContextApplicationContext::getContainer()->get(Producer::class);
|
|
$producer = ContextApplicationContext::getContainer()->get(Producer::class);
|
|
|
$producer->produce($message);
|
|
$producer->produce($message);
|
|
|
-
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|