Browse Source

1.新增获取聊天内容接口 2.actionDetail 接口增加返回 customId

shizhongqi 1 year ago
parent
commit
58708e4638

+ 0 - 1
app-hd/controllers/CategoryController.php

@@ -5,7 +5,6 @@ namespace hd\controllers;
 use bizHd\goods\classes\CategoryClass;
 use bizHd\goods\classes\GoodsCategoryClass;
 use bizHd\goods\services\CategoryService;
-use bizHd\goods\services\GoodsCategoryService;
 use Yii;
 use common\components\util;
 

+ 11 - 0
app-hd/controllers/ChatController.php

@@ -144,4 +144,15 @@ class ChatController extends BaseController
         util::success($respond);
     }
 
+    //聊天的内容
+    public function actionChatHistory()
+    {
+        $roomName = Yii::$app->request->post('roomName');
+        // 校验 $roomeName 的值,防止越权访问他人数据
+
+        $roomName = 'room_messages:' . $roomName;
+        $respond = \bizHd\message\services\ChatService::getChatHistory($roomName);
+        util::success($respond);
+    }
+
 }

+ 11 - 0
app-mall/controllers/ChatController.php

@@ -110,4 +110,15 @@ class ChatController extends BaseController
         util::success($respond);
     }
 
+
+    //聊天的内容
+    public function actionChatHistory()
+    {
+        $roomName = Yii::$app->request->post('roomName');
+        // 校验 $roomeName 的值,防止越权访问他人数据
+
+        $roomName = 'room_messages:' . $roomName;
+        $respond = ChatService::getChatHistory($roomName);
+        util::success($respond);
+    }
 }

+ 1 - 0
app-mall/controllers/GoodsController.php

@@ -35,6 +35,7 @@ class GoodsController extends BaseController
             $picText  = PicTextClass::getById($picTextId, true);
             $info['picText'] = $picText;
         }
+        $info['customId'] = $this->customId;
 
         util::success($info);
     }

+ 25 - 0
biz-hd/message/services/ChatService.php

@@ -153,4 +153,29 @@ class ChatService extends BaseService
         return $data;
     }
 
+    public static function getChatHistory($roomName)
+    {
+        if (empty($roomName)) {
+            return [];
+        }
+        try {
+            $re = Yii::$app->redis;
+            $list = Yii::$app->redis->executeCommand('LRANGE', [$roomName, 0, -1]);
+            if (empty($list)) {
+                return [];
+            }
+            $result = [];
+            foreach ($list as $item) {
+                $decoded = json_decode($item, true);
+                $struct = (json_last_error() === JSON_ERROR_NONE) ? $decoded : $item;
+                $content = $struct['content'];
+                $message = json_decode($content, true);
+                $result[] = json_decode($message['message'], true);
+            }
+            return $result;
+        } catch (\Throwable $e) {
+            Yii::error('getChatHistory redis error: ' . $e->getMessage(), __METHOD__);
+            return [];
+        }
+    }
 }

+ 26 - 0
biz-mall/message/services/ChatService.php

@@ -153,4 +153,30 @@ class ChatService extends BaseService
 		return $data;
 	}
 
+	public static function getChatHistory($roomName)
+    {
+		if (empty($roomName)) {
+			return [];
+		}
+		try {
+            $re = Yii::$app->redis;
+			$list = Yii::$app->redis->executeCommand('LRANGE', [$roomName, 0, -1]);
+			if (empty($list)) {
+				return [];
+			}
+			$result = [];
+			foreach ($list as $item) {
+				$decoded = json_decode($item, true);
+				$struct = (json_last_error() === JSON_ERROR_NONE) ? $decoded : $item;
+				$content = $struct['content'];
+                $message = json_decode($content, true);
+				$result[] = json_decode($message['message'], true);
+			}
+			return $result;
+		} catch (\Throwable $e) {
+			Yii::error('getChatHistory redis error: ' . $e->getMessage(), __METHOD__);
+			return [];
+		}
+    }
+
 }

+ 0 - 8
biz-mall/user/classes/UserClass.php

@@ -2,17 +2,10 @@
 
 namespace bizMall\user\classes;
 
-use biz\shop\classes\ShopClass;
-use bizHd\custom\classes\CustomClass;
-use bizHd\custom\classes\HdClass;
 use bizMall\merchant\classes\MerchantAssetClass;
 use bizMall\merchant\classes\MerchantClass;
-use bizMall\merchant\services\MerchantService;
-use bizMall\message\classes\ChatClass;
 use bizMall\user\services\UserIntegralService;
-use common\components\business;
 use common\components\dict;
-use common\components\imgUtil;
 use common\components\stringUtil;
 use common\components\util;
 use common\components\wxUtil;
@@ -20,7 +13,6 @@ use common\services\ImageService;
 use common\services\xhMerchantExtendService;
 use common\services\xhUserCapitalService;
 use common\services\xhUserIntegralService;
-use common\services\xhUserMergeService;
 use Yii;
 use bizMall\base\classes\BaseClass;