## **全局參數說明**
參數 | 備注
---|---
**{SERVER_ID}** | 配置文件中的服務器ID
**{CHILD_ID}** | 配置文件中的服務進程ID
<br>
## **請求隊列總覽**
隊列名稱 | 備注
---|---
queue.chatroom_**{SERVER_ID}**_**{CHILD_ID}** | 群操作
<br>
### **群相關操作**
* 請求隊列: queue.chatroom_{SERVER_ID}_{CHILD_ID}
* 請求參數:
| Param | Type | Description | Required
| --- | --- | --- | --- |
| map | <code>Map</code> | 隊列傳輸參數類型 | true
| [map.uin] | <code>String</code> | 微信號uin | true
| [map.room] | <code>List<String></code> | 創建群時,群成員wxid列表 | [map.chatRoomType]為CREATE_CHAT_ROOM時必填
| [map.topic] | <code>String</code> | 創建群時的群名稱 | [map.chatRoomType]為CREATE_CHAT_ROOM時必填
| [map.chatRoomName] | <code>String</code> | 群wxid(帶@chatroom的字符串) | 群聊的唯一標識; [map.chatRoomType]除了為CREATE_CHAT_ROOM,其他場景必填
| [map.chatRoomType] | <code>String</code> |更新群操作類型:<br>CREATE_CHAT_ROOM:創建群<br>ADD_MEMBER:添加群成員<br>DEL_MEMBER:刪除群成員<br>MOD_TOPIC:修改群名稱<br>GET_MEMBER:獲取群成員<br>GET_INVITE_INFO:獲取群邀請信息<br>DEL_CHAT_ROOM:刪除退出群聊<br>SET_ANNOUNCEMENT:設置群公告<br>GET_ANNOUNCEMENT:獲取群公告<br>SAVE_CHATROOM:保存群聊至通訊錄<br>CANCEL_CHATROOM:取消群聊至通訊錄 <br>GET_QRCODE:獲取群二維碼| 群操作類型
| [map.content] | <code>String</code> | {<br>chatRoomType=ADD_MEMBER\|DEL_MEMBER:content為操作成員的wxid','拼接字符串;<br>chatRoomType=MOD_TOPIC:content表示修改后的群名稱;<br>chatRoomType=SET_ANNOUNCEMENT:content表示群公告內容}|
| [map.queueName] | <code>String</code> | 指定結果回推的隊列名 | 必填項
| [map.inviteUrl] | <code>String</code> | 邀請鏈接 |
| [map.inviteFrom] | <code>String</code> | 邀請來自哪里 |
**Example-創建群**
```
Map<String,Object> map = new HashMap<>(16);
List<String> room = new ArrayList<>();
room.add("wxid_.....");
String resultQueueName="queue.receiveChatRoomMsg_......";
......
map.put("uin", "xxx");
map.put("room", room);
map.put("topic", "測試群");
map.put("chatRoomType", "CREATE_CHAT_ROOM");
map.put("queueName",resultQueueName)
String queueName = "queue.chatroom_{SERVER_ID}_{CHILD_ID}";
jmsTemplate.send(queueName, map);
```
> 群操作成功后會向map.queueName推送一條處理結果,返回結果是jsonString類型數據,字段名字status為0,表示操作成功
**Example-添加群成員**
```
Map<String,Object> map = new HashMap<>(16);
String resultQueueName="queue.receiveChatRoomMsg_......";
map.put("uin", "xxx");
map.put("chatRoomType", "ADD_MEMBER");
map.put("chatRoomName", "123456@chatroom");
map.put("content", "wxid_acax18ag2gkj22,wxid_vth9fmtpl2kn22);
map.put("queueName",resultQueueName);
String queueName = "queue.chatroom_{SERVER_ID}_{CHILD_ID}";
jmsTemplate.send(queueName, map);
```
> 群操作成功后會向map.queueName推送一條處理結果,返回結果是jsonString類型數據,字段名字status為0,表示操作成功
**Example-刪除群成員**
```
Map<String,Object> map = new HashMap<>(16);
String resultQueueName="queue.receiveChatRoomMsg_......";
map.put("uin", "xxx");
map.put("chatRoomType", "DEL_MEMBER");
map.put("chatRoomName", "123456@chatroom");
map.put("content", "wxid_acax18ag2gkj22,wxid_vth9fmtpl2kn22);
map.put("queueName",resultQueueName);
String queueName = "queue.chatroom_{SERVER_ID}_{CHILD_ID}";
jmsTemplate.send(queueName, map);
```
> 群操作成功后會向map.queueName推送一條處理結果,返回結果是jsonString類型數據,字段名字status為0,表示操作成功
**Example-修改群名稱**
```
Map<String,Object> map = new HashMap<>(16);
String resultQueueName="queue.receiveChatRoomMsg_......";
map.put("uin", "xxx");
map.put("chatRoomType", "MOD_TOPIC");
map.put("chatRoomName", "123456@chatroom");
map.put("content", "測試群聊");
map.put("queueName",resultQueueName);
String queueName = "queue.chatroom_{SERVER_ID}_{CHILD_ID}";
jmsTemplate.send(queueName, map);
```
> 群操作成功后會向map.queueName推送一條處理結果,返回結果是jsonString類型數據,字段名字status為0,表示操作成功
**Example-獲取群成員**
```
Map<String,Object> map = new HashMap<>(16);
String resultQueueName="queue.receiveChatRoomMsg_......";
map.put("uin", "xxx");
map.put("chatRoomType", "GET_MEMBER");
map.put("chatRoomName", "123456@chatroom");
map.put("queueName",resultQueueName);
String queueName = "queue.chatroom_{SERVER_ID}_{CHILD_ID}";
jmsTemplate.send(queueName, map);
```
> 群操作成功后會向map.queueName推送一條處理結果,返回結果是jsonString類型數據,字段名字status為0,表示操作成功
**Example-獲取群邀請信息**
```
Map<String,Object> map = new HashMap<>(16);
String resultQueueName="queue.receiveChatRoomMsg_......";
map.put("uin", "xxx");
map.put("chatRoomType", "GET_INVITE_INFO");
map.put("inviteUrl",inviteUrl);//邀請鏈接
map.put("inviteFrom",inviteFrom);//邀請來自哪里
map.put("queueName",resultQueueName);
String queueName = "queue.chatroom_{SERVER_ID}_{CHILD_ID}";
jmsTemplate.send(queueName, map);
```
> 群操作成功后會向map.queueName推送一條處理結果,返回結果是jsonString類型數據,字段名字status為0,表示操作成功
**Example-刪除退出群聊**
```
Map<String,Object> map = new HashMap<>(16);
String resultQueueName="queue.receiveChatRoomMsg_......";
map.put("uin", "xxx");
map.put("chatRoomType", "DEL_CHAT_ROOM");
map.put("chatRoomName", "123456@chatroom");
map.put("queueName",resultQueueName);
String queueName = "queue.chatroom_{SERVER_ID}_{CHILD_ID}";
jmsTemplate.send(queueName, map);
```
> 群操作成功后會向map.queueName推送一條處理結果,返回結果是jsonString類型數據,字段名字status為0,表示操作成功
**Example-設置群公告**
```
Map<String,Object> map = new HashMap<>(16);
String resultQueueName="queue.receiveChatRoomMsg_......";
map.put("uin", "xxx");
map.put("chatRoomType", "SET_ANNOUNCEMENT");
map.put("chatRoomName", "123456@chatroom");
map.put("content", "XXXXXXXXX");
map.put("queueName",resultQueueName);
String queueName = "queue.chatroom_{SERVER_ID}_{CHILD_ID}";
jmsTemplate.send(queueName, map);
```
> 群操作成功后會向map.queueName推送一條處理結果,返回結果是jsonString類型數據,字段名字status為0,表示操作成功
**Example-獲取群公告**
```
Map<String,Object> map = new HashMap<>(16);
String resultQueueName="queue.receiveChatRoomMsg_......";
map.put("uin", "xxx");
map.put("chatRoomType", "GET_ANNOUNCEMENT");
map.put("chatRoomName", "123456@chatroom");
map.put("queueName",resultQueueName);
String queueName = "queue.chatroom_{SERVER_ID}_{CHILD_ID}";
jmsTemplate.send(queueName, map);
```
> 群操作成功后會向map.queueName推送一條處理結果,返回結果是jsonString類型數據,字段名字status為0,表示操作成功
**Example-獲取群二維碼**
```
Map<String,Object> map = new HashMap<>(16);
String resultQueueName="queue.receiveChatRoomMsg_......";
map.put("uin", "xxx");
map.put("chatRoomType", "GET_QRCODE");
map.put("chatRoomName", "123456@chatroom");
map.put("queueName",resultQueueName);
String queueName = "queue.chatroom_{SERVER_ID}_{CHILD_ID}";
jmsTemplate.send(queueName, map);
```
> 群操作成功后會向map.queueName推送一條處理結果,返回結果是jsonString類型數據,字段名字status為0,表示拉取成功,包括圖片字節流
**Example-保存/取消群聊至通訊錄**
```
Map<String,Object> map = new HashMap<>(16);
String resultQueueName="queue.receiveChatRoomMsg_......";
map.put("uin", "xxx");
map.put("chatRoomType", "SAVE_CHATROOM|CANCEL_CHATROOM");
map.put("chatRoomName", "123456@chatroom");
map.put("queueName",resultQueueName);
String queueName = "queue.chatroom_{SERVER_ID}_{CHILD_ID}";
jmsTemplate.send(queueName, map);
```
> 群操作成功后會向map.queueName推送一條處理結果,返回結果是jsonString類型數據,字段名字status為0,表示操作成功