diff --git a/clients/java/wechat-ferry-mvn/CHANGELOG.md b/clients/java/wechat-ferry-mvn/CHANGELOG.md
index cf6c553..e5a9227 100644
--- a/clients/java/wechat-ferry-mvn/CHANGELOG.md
+++ b/clients/java/wechat-ferry-mvn/CHANGELOG.md
@@ -1,31 +1,81 @@
## v39.3.3
+### 版本列表
+
+下载地址:[v39.3.3](https://github.com/lich0821/WeChatFerry/releases/tag/v39.3.3)
+
+| 名称 | 版本 | 文件名 |
+|-----------------|-----------|---------------------------|
+| 微信客户端 | 3.9.11.25 | WeChatSetup-3.9.11.25.exe |
+| WeChatFerry-SDK | 39.3.3 | v39.3.3.zip |
+
### 功能列表
-| 接口名 | 地址 | 是否支持 | 备注 |
-|----------------|-------------------|------|-------------------|
-| 查询登录状态 | /loginStatus | √ | 已测试 |
-| 获取登录微信内部识别号UID | /loginWeChatUid | √ | 已测试 |
-| 获取登录微信信息 | /loginWeChatInfo | √ | 已测试 |
-| 获取消息类型列表 | /list/msgType | √ | 已测试 |
-| 获取联系人列表 | /list/contacts | √ | 已测试 |
-| 获取数据库表名称列表 | /list/dbTableName | √ | 已测试 |
-| 获取指定数据库中的表列表 | /list/dbTable | √ | 已测试 |
-| 执行数据库查询SQL | /exec/dbQuerySql | √ | 已测试 |
-| 查询群成员 | /list/groupMember | √ | 已测试 |
-| 发送消息汇总入口 | /send/msgMaster | x | 预留 |
-| 发送文本消息 | /send/textMsg | x | 该版本不支持 |
-| 发送富文本消息 | /send/richTextMsg | x | 缩略图参数需要为空,否则会发送失败 |
-| 发送XML消息 | /send/xmlMsg | ? | 待测试 |
-| 发送图片消息 | /send/imageMsg | √ | 已测试 |
-| 发送表情消息 | /send/emojiMsg | x | 该版本不支持 |
-| 发送文件消息 | /send/fileMsg | x | 该版本不支持 |
-| 拍一拍群友 | /patOnePat | √ | 已测试 |
+| 接口名 | 地址 | 是否支持 | 备注 |
+|----------------|------------------------|------|-------------------|
+| 查询登录状态 | /loginStatus | ✔️ | 已测试 |
+| 获取登录微信内部识别号UID | /loginWeChatUid | ✔️ | 已测试 |
+| 获取登录微信信息 | /loginWeChatInfo | ✔️ | 已测试 |
+| 获取消息类型列表 | /list/msgType | ✔️ | 已测试 |
+| 获取联系人列表 | /list/contacts | ✔️ | 已测试 |
+| 获取数据库表名称列表 | /list/dbTableName | ✔️ | 已测试 |
+| 获取指定数据库中的表列表 | /list/dbTable | ✔️ | 已测试 |
+| 执行数据库查询SQL | /exec/dbQuerySql | ✔️ | 已测试 |
+| 发送消息汇总入口 | /send/msgMaster | ❌ | 预留 |
+| 发送文本消息 | /send/textMsg | ✔️ | 已测试 |
+| 发送富文本消息 | /send/richTextMsg | ❌ | 缩略图参数需要为空,否则会发送失败 |
+| 发送XML消息 | /send/xmlMsg | ❌ | 该版本不支持 |
+| 发送图片消息 | /send/imageMsg | ✔️ | 已测试 |
+| 发送表情消息 | /send/emojiMsg | ❌ | 该版本不支持 |
+| 发送文件消息 | /send/fileMsg | ❌ | 该版本不支持 |
+| 拍一拍群友 | /patOnePat | ✔️ | 已测试 |
+| 撤回消息 | /revokeMsg | ❌ | 该版本不支持 |
+| 通过好友申请 | /passFriendApply | ❌ | 该版本不支持 |
+| 添加群成员为微信好友 | /addFriend/groupMember | ❔ | 待测试 |
+| 查询群成员 | /groupMember/list | ✔️ | 已测试 |
+| 邀请群成员 | /groupMember/invite | ❔ | 待测试 |
+| 删除群成员 | /groupMember/delete | ❔ | 待测试 |
+| 查询朋友圈 | /friendCircle | ❔ | 待测试 |
+| 接收转账 | /receiveTransfer | ❌ | 该版本不支持 |
### 已知BUG
- 1.发送表情微信客户端闪退 - `待修复`
- 2.发送富文本包含thumbnailUrl参数会导致消息发送不出去 - `待修复`
+- 3.发送文件成功之后客户端崩溃 - `待修复`
+
+### 2025-01-04
+
+#### ⛰️ Features
+
+- 退群监测功能关闭,待完善,目前未开启
+- 说明文档更新
+
+#### 🐛 Bug fixes
+- 微信端退出之后,调用接口返回客户端状态异常提示
+
+### 2024-12-27
+
+#### ⛰️ Features
+
+- 查询群成员返回类新增字段
+- 新增退群监测功能
+- 说明文档更新
+
+### 2024-12-25
+
+#### ⛰️ Features
+
+- 新增通过好友申请接口
+- 新增添加群成员为微信好友接口
+- 新增邀请群成员接口
+- 新增删除群成员接口
+- 新增刷新朋友圈接口
+- 新增撤回消息接口
+- 接收转账
+- 查询群成员请求地址变更
+- 消息回调配置文件参数名称修改
+- 封装接收到消息之后的业务操作类
### 2024-12-24
@@ -44,4 +94,54 @@
- 适配SDK39.3.3版本
- wcf.proto文件部分字段类型修改
-- 消息转发适配多种消息类型
\ No newline at end of file
+- 消息转发适配多种消息类型
+
+
+
+___
+
+
+
+## v39.2.4 - 推荐✨
+
+### 版本列表
+
+下载地址:[v39.2.4](https://github.com/lich0821/WeChatFerry/releases/tag/v39.2.4)
+
+| 名称 | 版本 | 文件名 |
+|-----------------|-----------|---------------------------|
+| 微信客户端 | 3.9.10.27 | WeChatSetup-3.9.10.27.exe |
+| WeChatFerry-SDK | 39.2.4 | v39.2.4.zip |
+
+### 功能列表
+
+| 接口名 | 地址 | 是否支持 | 备注 |
+|----------------|------------------------|------|--------|
+| 查询登录状态 | /loginStatus | ✔️ | 已测试 |
+| 获取登录微信内部识别号UID | /loginWeChatUid | ✔️ | 已测试 |
+| 获取登录微信信息 | /loginWeChatInfo | ✔️ | 已测试 |
+| 获取消息类型列表 | /list/msgType | ✔️ | 已测试 |
+| 获取联系人列表 | /list/contacts | ✔️ | 已测试 |
+| 获取数据库表名称列表 | /list/dbTableName | ✔️ | 已测试 |
+| 获取指定数据库中的表列表 | /list/dbTable | ✔️ | 已测试 |
+| 执行数据库查询SQL | /exec/dbQuerySql | ✔️ | 已测试 |
+| 发送消息汇总入口 | /send/msgMaster | ❌ | 预留 |
+| 发送文本消息 | /send/textMsg | ✔️ | 已测试 |
+| 发送富文本消息 | /send/richTextMsg | ✔️ | 已测试 |
+| 发送XML消息 | /send/xmlMsg | ❌ | 该版本不支持 |
+| 发送图片消息 | /send/imageMsg | ✔️ | 已测试 |
+| 发送表情消息 | /send/emojiMsg | ✔️ | 已测试 |
+| 发送文件消息 | /send/fileMsg | ✔️ | 已测试 |
+| 拍一拍群友 | /patOnePat | ✔️ | 已测试 |
+| 撤回消息 | /revokeMsg | ❌ | 该版本不支持 |
+| 通过好友申请 | /passFriendApply | ❌ | 该版本不支持 |
+| 添加群成员为微信好友 | /addFriend/groupMember | ❔ | 待测试 |
+| 查询群成员 | /groupMember/list | ✔️ | 已测试 |
+| 邀请群成员 | /groupMember/invite | ❔ | 待测试 |
+| 删除群成员 | /groupMember/delete | ❔ | 待测试 |
+| 查询朋友圈 | /friendCircle | ❔ | 待测试 |
+| 接收转账 | /receiveTransfer | ❌ | 该版本不支持 |
+
+
+
+___
\ No newline at end of file
diff --git a/clients/java/wechat-ferry-mvn/README.MD b/clients/java/wechat-ferry-mvn/README.MD
index 9fd296b..9822992 100644
--- a/clients/java/wechat-ferry-mvn/README.MD
+++ b/clients/java/wechat-ferry-mvn/README.MD
@@ -13,7 +13,7 @@
|-----------------|-----------|----|
| JDK | 1.8+ | √ |
| Maven | 3.8+ | √ |
-| 微信 | 3.9.11.25 | √ |
+| 微信客户端 | 3.9.11.25 | √ |
| WeChatFerry-SDK | 39.3.3 | √ |
| MySQL | 8.0+ | 备用 |
@@ -35,6 +35,15 @@
把刚下载的最新发布文件解压到本项目中的 dll 文件目录下,直接替换原因文件即可
+替换 `clients/java/wechat-ferry-mvn/dll` 目录下(也可以在配置文件中改为自定义的目录)
+
+- sdk.dll
+- spy.dll
+- spy_debug.dll
+
+> 如果之前已经使用本项目启动过微信,此时替换发现替换不了,是因为正则运行的微信客户端正在使用该文件,
+> 请退出并关闭微信客户端之后再进行替换
+
### 修改配置文件
配置文件:src/main/resources/application.yml
@@ -71,15 +80,17 @@ swagger地址:http://localhost:9201/swagger-ui/index.html
### 核心依赖
-| 依赖 | 版本 | 说明 |
-|---------------|--------|----------|
-| Spring Boot | 2.7.18 | 基础框架 |
-| protobuf-java | 3.22.2 | rpc |
-| jna | 5.6.0 | 态访问系统本地库 |
-| nng-java | 1.4.0 | 本地包 |
-| fastjson2 | 2.0.52 | 序列化 |
-| dom4j | 2.1.3 | XML解析包 |
-| httpclient | 4.5.13 | 客户端请求 |
+| 依赖 | 版本 | 说明 |
+|---------------|-------------|----------|
+| Spring Boot | 2.7.18 | 基础框架 |
+| protobuf-java | 3.22.2 | rpc |
+| jna | 5.6.0 | 态访问系统本地库 |
+| nng-java | 1.4.0 | 本地包 |
+| fastjson2 | 2.0.52 | 序列化 |
+| dom4j | 2.1.3 | XML解析包 |
+| httpclient | 4.5.13 | 客户端请求 |
+| validation | 2.0.1.Final | 参数校验 |
+| springfox | 3.0.0 | swagger3 |
### 模块结构
@@ -93,16 +104,22 @@ wechat-ferry-mvn
│ ├─main 重启命令
│ │ ├─java(com.wechat.ferry) java代码目录
│ │ │ ├─config 配置
+│ │ │ ├─constant 常量
+│ │ │ ├─controller 控制层(API接口)
│ │ │ ├─entity 聚合模型
│ │ │ │ ├─dto DTO模型
│ │ │ │ ├─po 数据库实体(与表结构一一对应,否则请使用DTO)
│ │ │ │ ├─proto PB实体
│ │ │ │ └─vo 视图层返回体目录
│ │ │ ├─enums 枚举
+│ │ │ ├─exception 异常封装
│ │ │ ├─handle 处理层
-│ │ │ ├─service 业务接口
+│ │ │ ├─service 业务层
│ │ │ │ └─impl 业务实现类
-│ │ │ ├─utils 工具类
+│ │ │ ├─strategy 策略层
+│ │ │ │ └─impl 策略实现类(如接收到消息之后的事件处理可以放在这里)
+│ │ │ ├─task 定时任务
+│ │ │ ├─utils 工具层
│ │ │ └─WcferryApplication.java 启动类
│ │ │
│ │ │resources 资源目录
diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/aggregation/.gitkeep b/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/aggregation/.gitkeep
new file mode 100644
index 0000000..a10d4fe
--- /dev/null
+++ b/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/aggregation/.gitkeep
@@ -0,0 +1,3 @@
+# Ignore everything in this directory
+*
+# Except this file !.gitkeep
\ No newline at end of file
diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/aggregation/facade/ChatRoomDo.java b/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/aggregation/facade/ChatRoomDo.java
new file mode 100644
index 0000000..586b4a5
--- /dev/null
+++ b/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/aggregation/facade/ChatRoomDo.java
@@ -0,0 +1,15 @@
+package com.wechat.ferry.aggregation.facade;
+
+import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * 聚合模型类-联系人
+ *
+ * @author chandler
+ * @date 2023-06-08 22:39:53
+ */
+@Slf4j
+@Data
+public class ChatRoomDo {
+}
diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/aggregation/facade/ContactDo.java b/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/aggregation/facade/ContactDo.java
new file mode 100644
index 0000000..bfb43d2
--- /dev/null
+++ b/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/aggregation/facade/ContactDo.java
@@ -0,0 +1,190 @@
+package com.wechat.ferry.aggregation.facade;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.ObjectUtils;
+
+import com.wechat.ferry.config.WeChatFerryProperties;
+import com.wechat.ferry.entity.po.wcf.Contact;
+import com.wechat.ferry.entity.proto.Wcf;
+import com.wechat.ferry.enums.DatabaseNameEnum;
+import com.wechat.ferry.enums.WxContactsMixedEnum;
+import com.wechat.ferry.enums.WxContactsOfficialEnum;
+import com.wechat.ferry.enums.WxContactsTypeEnum;
+import com.wechat.ferry.handle.WeChatSocketClient;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * 聚合模型类-联系人
+ *
+ * @author chandler
+ * @date 2023-06-08 22:39:53
+ */
+@Slf4j
+@Data
+public class ContactDo extends Contact {
+
+ /**
+ * 微信内部识别号UID
+ */
+ @ApiModelProperty(value = "微信内部识别号UID")
+ private String weChatUid;
+
+ /**
+ * 联系人类型
+ */
+ @ApiModelProperty(value = "联系人类型")
+ private String contactType;
+
+ /**
+ * 展示名称
+ * 有备注优先展示备注
+ */
+ @ApiModelProperty(value = "展示名称")
+ private String showName;
+
+ /**
+ * 根据自定义SQL查询联系人列表
+ *
+ * @param wechatSocketClient 通信客户端
+ * @param weChatFerryProperties 配置文件
+ *
+ * @author chandler
+ * @date 2024-12-27 16:06
+ */
+ public List queryContactListBySql(WeChatSocketClient wechatSocketClient, WeChatFerryProperties weChatFerryProperties) {
+ List list = new ArrayList<>();
+ // 查询联系人
+ List dbContactList = wechatSocketClient.querySql(DatabaseNameEnum.MICRO_MSG.getCode(),
+ "SELECT UserName, Alias, DelFlag, Type, VerifyFlag, Remark, NickName, LabelIDList, DomainList, ChatRoomType, PYInitial, QuanPin, RemarkPYInitial, RemarkQuanPin, ChatRoomNotify FROM Contact;");
+ if (!CollectionUtils.isEmpty(dbContactList)) {
+ for (Wcf.DbRow dbRow : dbContactList) {
+ List dbFieldList = dbRow.getFieldsList();
+ if (!ObjectUtils.isEmpty(dbFieldList)) {
+ ContactDo po = new ContactDo();
+ for (Wcf.DbField dbField : dbFieldList) {
+ String content = (String)wechatSocketClient.convertSqlVal(dbField.getType(), dbField.getContent());
+ // 用户名
+ if ("UserName".equals(dbField.getColumn())) {
+ po.setUserName(content);
+ po.setWeChatUid(content);
+ // 设置类型
+ String type = convertContactType(content, weChatFerryProperties);
+ po.setContactType(type);
+ }
+ // 用户名
+ if ("Alias".equals(dbField.getColumn())) {
+ po.setAlias(content);
+ }
+ // 昵称
+ if ("NickName".equals(dbField.getColumn())) {
+ po.setNickname(content);
+ }
+ // 删除标志
+ if ("DelFlag".equals(dbField.getColumn())) {
+ po.setDelFlag(Integer.valueOf(content));
+ }
+ //
+ if ("VerifyFlag".equals(dbField.getColumn())) {
+ po.setVerifyFlag(Integer.valueOf(content));
+ }
+ //
+ if ("Remark".equals(dbField.getColumn())) {
+ po.setRemark(content);
+ }
+ //
+ if ("LabelIDList".equals(dbField.getColumn())) {
+ po.setLabelIdList(content);
+ }
+ //
+ if ("DomainList".equals(dbField.getColumn())) {
+ po.setDomainList(content);
+ }
+ //
+ if ("ChatRoomType".equals(dbField.getColumn())) {
+ po.setChatRoomType(Integer.valueOf(content));
+ }
+ }
+ list.add(po);
+ }
+ }
+ }
+ return list;
+ }
+
+ /**
+ * 转换联系人类型
+ * 类型判断,存在优先级的,官方杂号优先级高于微信公众号(如果定义重复了,常规禁止重复,手机端和电脑端分类不同)
+ *
+ * @param weChatUid 微信识别号
+ * @param weChatFerryProperties 配置文件
+ *
+ * @author chandler
+ * @date 2024-12-27 15:56
+ */
+ public static String convertContactType(String weChatUid, WeChatFerryProperties weChatFerryProperties) {
+ String type = "";
+ // 官方杂号集合
+ Map mixedNoMap = WxContactsMixedEnum.toCodeNameMap();
+ mixedNoMap.putAll(convertContactsTypeProperties(weChatFerryProperties.getContactsTypeMixed()));
+ // 公众号
+ Map officialMap = WxContactsOfficialEnum.toCodeNameMap();
+ officialMap.putAll(convertContactsTypeProperties(weChatFerryProperties.getContactsTypeOfficial()));
+
+ // 类型判断,存在优先级的,官方杂号优先级高于微信公众号(如果定义重复了,常规禁止重复,手机端和电脑端分类不同)
+ if (weChatUid.endsWith(WxContactsTypeEnum.WORK.getAffix())) {
+ // 企微
+ type = WxContactsTypeEnum.WORK.getCode();
+ } else if (weChatUid.endsWith(WxContactsTypeEnum.GROUP.getAffix()) || weChatUid.endsWith("@im.chatroom")) {
+ // 群聊 @im.chatroom 这种是很早之前的格式,单独例举
+ type = WxContactsTypeEnum.GROUP.getCode();
+ } else if (mixedNoMap.containsKey(weChatUid)) {
+ // 官方杂号
+ type = WxContactsTypeEnum.OFFICIAL_MIXED_NO.getCode();
+ } else if (weChatUid.startsWith(WxContactsTypeEnum.OFFICIAL_ACCOUNT.getAffix())) {
+ // 微信公众号
+ type = WxContactsTypeEnum.OFFICIAL_ACCOUNT.getCode();
+ } else if (officialMap.containsKey(weChatUid)) {
+ type = WxContactsTypeEnum.OFFICIAL_ACCOUNT.getCode();
+ } else {
+ // 个微
+ type = WxContactsTypeEnum.PERSON.getCode();
+ }
+ return type;
+ }
+
+ /**
+ * 转换联系人类型配置
+ *
+ * @param list 配置参数
+ * @return map key:code val:name
+ *
+ * @author chandler
+ * @date 2024-12-24 16:55
+ */
+ public static Map convertContactsTypeProperties(List list) {
+ Map map = new HashMap<>();
+ if (!CollectionUtils.isEmpty(list)) {
+ for (String str : list) {
+ String key = str;
+ String val = str;
+ // 存在名称则分割
+ if (str.contains("|")) {
+ int index = str.indexOf("|");
+ key = str.substring(0, index);
+ val = str.substring(index + 1);
+ }
+ map.put(key, val);
+ }
+ }
+ return map;
+ }
+
+}
diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/WeChatConfiguration.java b/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/WeChatConfiguration.java
index 2e9b673..7564627 100644
--- a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/WeChatConfiguration.java
+++ b/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/WeChatConfiguration.java
@@ -81,7 +81,7 @@ public class WeChatConfiguration {
// 只打印
// wechatSocketClient.printWxMsg(wechatSocketClient.getMsg());
// 转发到boot项目进行消息处理
- wechatSocketClient.forwardMsg(wechatSocketClient.getMsg(), url);
+ wechatSocketClient.localCallbackAnalyzeMsg(wechatSocketClient.getMsg(), url);
}
}
});
diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/WeChatFerryProperties.java b/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/WeChatFerryProperties.java
index 46893a9..28e5789 100644
--- a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/WeChatFerryProperties.java
+++ b/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/WeChatFerryProperties.java
@@ -47,24 +47,24 @@ public class WeChatFerryProperties {
private List openMsgGroups;
/**
- * 接收消息转发开关
+ * 接收消息回调开关
*/
- private Boolean receiveMsgFwdSwitch = false;
+ private Boolean receiveMsgCallbackSwitch = false;
/**
- * 接收消息转发URL
+ * 接收消息回调地址
*/
- private List receiveMsgFwdUrls;
+ private List receiveMsgCallbackUrls;
/**
- * 发送消息转发标识 1-关闭 2-全转发 3-发送成功才转发
+ * 发送消息回调标识 1-关闭 2-全部回调 3-发送成功才回调
*/
- private String sendMsgFwdFlag = "1";
+ private String sendMsgCallbackFlag = "1";
/**
- * 发送消息转发URL
+ * 发送消息回调地址
*/
- private List sendMsgFwdUrls;
+ private List sendMsgCallbackUrls;
/**
* 调用第三方服务客户端成功状态码
diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/controller/WeChatDllController.java b/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/controller/WeChatDllController.java
index e52f160..48b780c 100644
--- a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/controller/WeChatDllController.java
+++ b/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/controller/WeChatDllController.java
@@ -10,10 +10,16 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.wechat.ferry.entity.TResponse;
+import com.wechat.ferry.entity.vo.request.WxPpWcfAddFriendGroupMemberReq;
import com.wechat.ferry.entity.vo.request.WxPpWcfDatabaseSqlReq;
import com.wechat.ferry.entity.vo.request.WxPpWcfDatabaseTableReq;
+import com.wechat.ferry.entity.vo.request.WxPpWcfDeleteGroupMemberReq;
import com.wechat.ferry.entity.vo.request.WxPpWcfGroupMemberReq;
+import com.wechat.ferry.entity.vo.request.WxPpWcfInviteGroupMemberReq;
+import com.wechat.ferry.entity.vo.request.WxPpWcfPassFriendApplyReq;
import com.wechat.ferry.entity.vo.request.WxPpWcfPatOnePatMsgReq;
+import com.wechat.ferry.entity.vo.request.WxPpWcfReceiveTransferReq;
+import com.wechat.ferry.entity.vo.request.WxPpWcfRevokeMsgReq;
import com.wechat.ferry.entity.vo.request.WxPpWcfSendEmojiMsgReq;
import com.wechat.ferry.entity.vo.request.WxPpWcfSendFileMsgReq;
import com.wechat.ferry.entity.vo.request.WxPpWcfSendImageMsgReq;
@@ -115,13 +121,6 @@ public class WeChatDllController {
return TResponse.ok(ResponseCodeEnum.SUCCESS, list);
}
- @ApiOperation(value = "查询群成员", notes = "queryGroupMember")
- @PostMapping(value = "/list/groupMember")
- public TResponse> queryGroupMember(@Validated @RequestBody WxPpWcfGroupMemberReq request) {
- List list = weChatDllService.queryGroupMember(request);
- return TResponse.ok(ResponseCodeEnum.SUCCESS, list);
- }
-
@ApiOperation(value = "发送消息汇总入口", notes = "sendMsgMaster")
@PostMapping(value = "/send/msgMaster")
public TResponse sendMsgMaster(@Validated @RequestBody String jsonString) {
@@ -184,12 +183,12 @@ public class WeChatDllController {
// return TResponse.ok(ResponseCodeEnum.SUCCESS, list);
// }
- // @ApiOperation(value = "撤回消息", notes = "queryMsgTypeList")
- // @PostMapping(value = "/list/msgType")
- // public TResponse