AI 1 місяць тому
батько
коміт
f5e77db029

+ 104 - 31
app/Controller/ChatController.php

@@ -70,11 +70,11 @@ class ChatController extends AbstractController
             return Result::error('好友ID不存在');
         }
         $result = $this->chatServiceClient->addFriend($requireData);
-       
+
         return $result ? Result::success($result['message']) : Result::error($result['message']);
     }
 
-   
+
     /**
      * 话题分类
      * @return array
@@ -193,7 +193,7 @@ class ChatController extends AbstractController
     public function applyFriend()
     {
         $requireData = $this->request->all();
-        $frindid =$requireData['friend_id']??0;
+        $frindid = $requireData['friend_id'] ?? 0;
         unset($requireData['friend_id']);
         unset($requireData['apply_id']);
         // 定义验证规则
@@ -222,36 +222,36 @@ class ChatController extends AbstractController
             $redisClient = new RedisService();
             $myFriends = $this->chatServiceClient->getFriendsList(['user_id' => $requireData['user_id'], 'status' => 2]);
             // var_dump($myFriends, '--------------------1');
-            $redisClient->setUserFriends((string)$requireData['user_id'], $myFriends['data']);
+            $redisClient->setUserFriends((string) $requireData['user_id'], $myFriends['data']);
             $myFriends = $this->chatServiceClient->getFriendsList(['user_id' => $frindid, 'status' => 2]);
-             var_dump($myFriends, '-------------3-------1');
-            $redisClient->setUserFriends((string)$frindid, $myFriends['data']);
-            $result =  $redisClient->getUserFriends((string)$requireData['user_id']);
+            var_dump($myFriends, '-------------3-------1');
+            $redisClient->setUserFriends((string) $frindid, $myFriends['data']);
+            $result = $redisClient->getUserFriends((string) $requireData['user_id']);
             // var_dump($result,'redis-结果');
-            $result =  $redisClient->getUserFriends((string)$frindid);
+            $result = $redisClient->getUserFriends((string) $frindid);
             // var_dump($result,'redis-结果');
             //redis 添加好友
             $result = $realResult;
         }
-        return $result && $result['code'] != 0 ? Result::success($result['data']) :     Result::error($result['message']);
+        return $result && $result['code'] != 0 ? Result::success($result['data']) : Result::error($result['message']);
     }
-     /**
+    /**
      * 批量设置redis好友
      * @return array
      */
     public function setFriends()
     {
         //获取所有用户
-        $userList = $this->userServiceClient->getUserList(['page' => 1, 'pageSize' => 1000 ]);
+        $userList = $this->userServiceClient->getUserList(['page' => 1, 'pageSize' => 1000]);
         //获取id,循环写入redis
         $userList = $userList['data']['rows'];
-        var_dump($userList,'111111111111');
-        
+        var_dump($userList, '111111111111');
+
         $redisClient = new RedisService();
         foreach ($userList as $key => $value) {
-            var_dump($value,'----------------------');
+            var_dump($value, '----------------------');
             $myFriends = $this->chatServiceClient->getFriendsList(['user_id' => $value['id'], 'status' => 2]);
-            $redisClient->setUserFriends((string)$value['id'], $myFriends['data']);
+            $redisClient->setUserFriends((string) $value['id'], $myFriends['data']);
         }
         return Result::success();
     }
@@ -282,10 +282,10 @@ class ChatController extends AbstractController
         if ($result && $result['code'] != 0) {
             $redisClient = new RedisService();
             $myFriends = $this->chatServiceClient->getFriendsList(['user_id' => $requireData['user_id'], 'status' => 2]);
-            $redisClient->setUserFriends((string)$requireData['user_id'], $myFriends['data']);
+            $redisClient->setUserFriends((string) $requireData['user_id'], $myFriends['data']);
 
             $myFriends = $this->chatServiceClient->getFriendsList(['user_id' => $requireData['friend_id'], 'status' => 2]);
-            $redisClient->setUserFriends((string)$requireData['friend_id'], $myFriends['data']);
+            $redisClient->setUserFriends((string) $requireData['friend_id'], $myFriends['data']);
         }
         return $result && $result['code'] != 0 ? Result::success($result['data']) : Result::error($result['message']);
     }
@@ -640,7 +640,7 @@ class ChatController extends AbstractController
         }
         $requireData['user_id'] = Context::get("UserId");
         $result = $this->chatServiceClient->joinGroup($requireData);
-        var_dump($result,'-----------1--------');
+        var_dump($result, '-----------1--------');
         return $result && $result['code'] != 0 ? Result::success($result['data']) : Result::error($result['message']);
     }
 
@@ -859,8 +859,8 @@ class ChatController extends AbstractController
         $result = $this->chatServiceClient->getTopicReply($requireData);
         return $result && $result['code'] != 0 ? Result::success($result['data']) : Result::error($result['message']);
     }
-    
-    
+
+
     /**
      * 获取 access_token
      * @return array
@@ -916,7 +916,7 @@ class ChatController extends AbstractController
             ]
         );
         if ($validator->fails()) {
-            $errorMessage =$validator->errors()->first();
+            $errorMessage = $validator->errors()->first();
         }
         $requireData['user_id'] = Context::get("UserId");
         $result = $this->chatServiceClient->clearRecords($requireData);
@@ -939,7 +939,7 @@ class ChatController extends AbstractController
             ]
         );
         if ($validator->fails()) {
-            $errorMessage= $validator->errors()->first();
+            $errorMessage = $validator->errors()->first();
         }
         $requireData['user_id'] = Context::get("UserId");
         $result = $this->chatServiceClient->clearGroupRecords($requireData);
@@ -950,7 +950,7 @@ class ChatController extends AbstractController
      * @return array
      */
     public function recallRecord()
-    { 
+    {
 
         $webSocketController = ApplicationContext::getContainer()->get(WebSocketController::class);
         $frame = new Frame();
@@ -960,10 +960,10 @@ class ChatController extends AbstractController
             'receiver_id' => 2, // 接收者 ID
             'content' => 'Hello, this is a test message!'
         ]);
-    
+
         $webSocketController->send(1, 'Hello, World!');
         return Result::success('');
-    
+
         $requireData = $this->request->all();
         $validator = $this->validationFactory->make(
             $requireData,
@@ -988,15 +988,15 @@ class ChatController extends AbstractController
             $response = $this->chatServiceClient->getRecordByContent($requireData);
             // 如果成功,返回结果
             if ($response['code'] === 0) {
-                if(!empty($response['data']['id'])){
+                if (!empty($response['data']['id'])) {
                     $records = $response['data'];
-                    foreach($records as $record){
+                    foreach ($records as $record) {
                         //判断 created_at 是否大于一分钟
                         $createdAt = strtotime($record['created_at']);
                         $currentTime = time();
                         $timeDifference = $currentTime - $createdAt;
                         if ($timeDifference > 60) {
-                             return Result::error('超过一分钟,无法撤回');
+                            return Result::error('超过一分钟,无法撤回');
                         }
                     }
                 }
@@ -1026,11 +1026,11 @@ class ChatController extends AbstractController
             ]
         );
         if ($validator->fails()) {
-            $errorMessage= $validator->errors()->first();
+            $errorMessage = $validator->errors()->first();
         }
         $requireData['user_id'] = Context::get("UserId");
         $result = $this->chatServiceClient->getRecord($requireData);
-            return $result && $result['code'] != 0 ? Result::success($result['data']) : Result::error($result['message']);
+        return $result && $result['code'] != 0 ? Result::success($result['data']) : Result::error($result['message']);
     }
     /**
      * 删除一条topicRely
@@ -1072,7 +1072,7 @@ class ChatController extends AbstractController
             ]
         );
         if ($validator->fails()) {
-            $errorMessage =$validator->errors()->first();
+            $errorMessage = $validator->errors()->first();
         }
         $requireData['user_id'] = Context::get("UserId");
         $result = $this->chatServiceClient->delAllReply($requireData);
@@ -1132,4 +1132,77 @@ class ChatController extends AbstractController
         $result = $this->chatServiceClient->applyTopic($requireData);
         return $result && $result['code'] != 0 ? Result::success($result['data']) : Result::error($result['message']);
     }
+    public function getTopicClassList()
+    {
+        $requireData = $this->request->all();
+        $result = $this->chatServiceClient->getTopicClassList($requireData);
+        return $result && $result['code'] != 0 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    public function getTopicClassInfo()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' => 'required',
+            ],
+            [
+                'id.required' => 'TopicID不能为空',
+            ]
+        )
+        ;
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->chatServiceClient->getTopicClassInfo($requireData);
+        return $result && $result['code'] != 0 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    public function addTopicClass()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'topicname' => 'required',
+            ],
+            [
+                'topicname.required' => '名称不能为空',
+            ]
+        )
+        ;
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->chatServiceClient->addTopicClass($requireData);
+        return $result && $result['code'] != 0 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    public function updateTopicClass()
+    {
+        $requireData = $this->request->all();
+        $result = $this->chatServiceClient->updateTopicClass($requireData);
+        return $result && $result['code'] != 0 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    public function deleteTopicClass()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' => 'required',
+            ],
+            [
+                'id.required' => 'TopicID不能为空',
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $result = $this->chatServiceClient->deleteTopicClass($requireData);
+        return $result && $result['code'] != 0 ? Result::success($result['data']) : Result::error($result['message']);
+    }
 }

+ 17 - 0
app/JsonRpc/ChatService.php

@@ -200,4 +200,21 @@ class ChatService extends AbstractServiceClient implements ChatServiceInterface
     {
         return $this->__request(__FUNCTION__, $data);
     }
+
+
+    public function getTopicClassList(array $data){
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function addTopicClass(array $data){
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function updateTopicClass(array $data){
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function deleteTopicClass(array $data){
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function getTopicClassInfo(array $data){
+        return $this->__request(__FUNCTION__, $data);
+    }
 }

+ 6 - 0
app/JsonRpc/ChatServiceInterface.php

@@ -50,4 +50,10 @@ interface ChatServiceInterface
     public function getTopicsListAdmin(array $data);
     public function applyTopic(array $data);
 
+    public function getTopicClassList(array $data);
+    public function addTopicClass(array $data);
+    public function updateTopicClass(array $data);
+    public function deleteTopicClass(array $data);
+    public function getTopicClassInfo(array $data);
+
 }

+ 6 - 0
config/api/chat.php

@@ -54,6 +54,12 @@ Router::addGroup(
         Router::post('/getTopicsListAdmin', [ChatController::class, 'getTopicsListAdmin']);
 
         Router::post('/uploadFile', [ChatController::class, 'uploadFile']);
+
+        Router::post('/getTopicClassList', [ChatController::class, 'getTopicClassList']);
+        Router::post('/addTopicClass', [ChatController::class, 'addTopicClass']);
+        Router::post('/deleteTopicClass', [ChatController::class, 'deleteTopicClass']);
+        Router::post('/updateTopicClass', [ChatController::class, 'updateTopicClass']);
+        Router::post('/getTopicClassInfo', [ChatController::class, 'getTopicClassInfo']);
     },
     ['middleware' => [FooMiddleware::class]]
 );