From 943b7b71c12df63de139b5581bf9a212b5d7e2ec Mon Sep 17 00:00:00 2001
From: chandler <1915724901@qq.com>
Date: Tue, 24 Dec 2024 17:51:04 +0800
Subject: [PATCH] =?UTF-8?q?feat(0):=20[java]-[mvn]-1.=E6=89=A7=E8=A1=8C?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E6=9F=A5=E8=AF=A2SQL=E8=AF=B7?=
=?UTF-8?q?=E6=B1=82=E6=8E=A5=E5=8F=A3API=E5=9C=B0=E5=9D=80=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9=202.=E4=B8=9A=E5=8A=A1=E4=BB=A3=E7=A0=81=E8=BF=81?=
=?UTF-8?q?=E7=A7=BB=E8=87=B3=E4=B8=9A=E5=8A=A1=E7=B1=BB=E4=B8=AD=EF=BC=8C?=
=?UTF-8?q?=E5=B9=B6=E8=A1=A5=E5=85=85=E6=97=A5=E5=BF=97=E4=BF=A1=E6=81=AF?=
=?UTF-8?q?=203.=E8=81=94=E7=B3=BB=E4=BA=BA=E7=89=B9=E6=AE=8A=E7=B1=BB?=
=?UTF-8?q?=E5=9E=8B=E6=94=AF=E6=8C=81=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?=
=?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=204.=E6=8E=A5=E5=8F=A3=E5=85=A5?=
=?UTF-8?q?=E5=8F=82=E6=96=B0=E5=A2=9E=E4=B8=BA=E7=A9=BA=E6=A0=A1=E9=AA=8C?=
=?UTF-8?q?=205.=E8=AF=B4=E6=98=8E=E6=96=87=E6=A1=A3=E6=9B=B4=E6=96=B0=206?=
=?UTF-8?q?.=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E6=9C=89=E6=9B=B4?=
=?UTF-8?q?=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
clients/java/wechat-ferry-mvn/CHANGELOG.md | 33 ++
clients/java/wechat-ferry-mvn/pom.xml | 5 +
.../ferry/config/WeChatFerryProperties.java | 12 +
.../ferry/controller/WeChatDllController.java | 101 +++----
.../vo/request/WxPpWcfDatabaseSqlReq.java | 4 +
.../vo/request/WxPpWcfDatabaseTableReq.java | 3 +
.../vo/request/WxPpWcfGroupMemberReq.java | 3 +
.../vo/request/WxPpWcfPatOnePatMsgReq.java | 8 +-
.../vo/request/WxPpWcfSendEmojiMsgReq.java | 4 +
.../vo/request/WxPpWcfSendFileMsgReq.java | 4 +
.../vo/request/WxPpWcfSendImageMsgReq.java | 4 +
.../vo/request/WxPpWcfSendRichTextMsgReq.java | 3 +
.../vo/request/WxPpWcfSendTextMsgReq.java | 8 +-
.../vo/request/WxPpWcfSendXmlMsgReq.java | 10 +-
.../vo/response/WxPpWcfDatabaseTableResp.java | 29 ++
.../wechat/ferry/enums/DatabaseNameEnum.java | 48 +++
.../com/wechat/ferry/enums/TableNameEnum.java | 49 +++
.../ferry/enums/WxContactsMixedEnum.java | 79 +++++
.../ferry/enums/WxContactsOfficialEnum.java | 75 +++++
.../ferry/handle/WeChatSocketClient.java | 225 +-------------
.../ferry/service/WeChatDllService.java | 70 ++---
.../service/impl/WeChatDllServiceImpl.java | 283 ++++++++++++------
.../src/main/resources/application.yml | 6 +
23 files changed, 663 insertions(+), 403 deletions(-)
create mode 100644 clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfDatabaseTableResp.java
create mode 100644 clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/DatabaseNameEnum.java
create mode 100644 clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/TableNameEnum.java
create mode 100644 clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/WxContactsMixedEnum.java
create mode 100644 clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/WxContactsOfficialEnum.java
diff --git a/clients/java/wechat-ferry-mvn/CHANGELOG.md b/clients/java/wechat-ferry-mvn/CHANGELOG.md
index 16889ee..ac413e1 100644
--- a/clients/java/wechat-ferry-mvn/CHANGELOG.md
+++ b/clients/java/wechat-ferry-mvn/CHANGELOG.md
@@ -1,10 +1,43 @@
## v39.3.3
+### 功能列表
+
+| 接口名 | 地址 | 是否支持 | 备注 |
+|----------------|-------------------|------|-------------------|
+| 查询登录状态 | /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 | ? | 待测试 |
+| 拍一拍群友 | /patOnePat | √ | 已测试 |
+
### 已知BUG
- 1.发送表情微信客户端闪退 - `待修复`
- 2.发送富文本包含thumbnailUrl参数会导致消息发送不出去 - `待修复`
+### 2024-12-24
+
+#### ⛰️ Features
+
+- 执行数据库查询SQL请求接口API地址修改
+- 业务代码迁移至业务类中,并补充日志信息
+- 联系人特殊类型支持配置文件自定义
+- 接口入参新增为空校验
+- 说明文档更新
+- 配置文件有更新
+
### 2024-12-23
#### ⛰️ Features
diff --git a/clients/java/wechat-ferry-mvn/pom.xml b/clients/java/wechat-ferry-mvn/pom.xml
index 0ef4844..2b2e584 100644
--- a/clients/java/wechat-ferry-mvn/pom.xml
+++ b/clients/java/wechat-ferry-mvn/pom.xml
@@ -53,6 +53,11 @@
1.18.30
provided
+
+
+ javax.validation
+ validation-api
+
io.springfox
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 32e0578..46893a9 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
@@ -29,6 +29,18 @@ public class WeChatFerryProperties {
*/
private Integer socketPort;
+ /**
+ * 联系人类型-官方杂号,禁止与其他分类重复(格式:代码|名称)
+ * 使用时记得需要提取代码或者名称匹配
+ */
+ private List contactsTypeMixed;
+
+ /**
+ * 联系人类型-公众号,禁止与其他分类重复(格式:代码|名称)
+ * 使用时记得需要提取代码或者名称匹配
+ */
+ private List contactsTypeOfficial;
+
/**
* 需要开启消息处理的群
*/
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 c52f92a..e52f160 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
@@ -22,6 +22,7 @@ import com.wechat.ferry.entity.vo.request.WxPpWcfSendTextMsgReq;
import com.wechat.ferry.entity.vo.request.WxPpWcfSendXmlMsgReq;
import com.wechat.ferry.entity.vo.response.WxPpWcfContactsResp;
import com.wechat.ferry.entity.vo.response.WxPpWcfDatabaseRowResp;
+import com.wechat.ferry.entity.vo.response.WxPpWcfDatabaseTableResp;
import com.wechat.ferry.entity.vo.response.WxPpWcfGroupMemberResp;
import com.wechat.ferry.entity.vo.response.WxPpWcfLoginInfoResp;
import com.wechat.ferry.entity.vo.response.WxPpWcfMsgTypeResp;
@@ -79,46 +80,40 @@ public class WeChatDllController {
return TResponse.ok(ResponseCodeEnum.SUCCESS, resp);
}
- @ApiOperation(value = "获取消息类型", notes = "queryMsgTypeList")
+ @ApiOperation(value = "获取消息类型列表", notes = "queryMsgTypeList")
@PostMapping(value = "/list/msgType")
public TResponse> queryMsgTypeList() {
List list = weChatDllService.queryMsgTypeList();
return TResponse.ok(ResponseCodeEnum.SUCCESS, list);
}
- @ApiOperation(value = "获取联系人", notes = "queryContactsList")
+ @ApiOperation(value = "获取联系人列表", notes = "queryContactsList")
@PostMapping(value = "/list/contacts")
public TResponse> queryContactsList() {
List list = weChatDllService.queryContactsList();
return TResponse.ok(ResponseCodeEnum.SUCCESS, list);
}
- @ApiOperation(value = "获取数据库所有表名称", notes = "queryDatabaseAllTableName")
+ @ApiOperation(value = "获取数据库表名称列表", notes = "queryDbTableNameList")
@PostMapping(value = "/list/dbTableName")
- public TResponse> queryDatabaseAllTableName() {
- List list = weChatDllService.queryDatabaseAllTableName();
+ public TResponse> queryDbTableNameList() {
+ List list = weChatDllService.queryDbTableNameList();
return TResponse.ok(ResponseCodeEnum.SUCCESS, list);
}
- @ApiOperation(value = "获取可查询数据库", notes = "queryDatabaseSql")
- @PostMapping(value = "/list/dbSql")
- public TResponse> queryDatabaseSql(@Validated @RequestBody WxPpWcfDatabaseSqlReq request) {
- List list = weChatDllService.queryDatabaseSql(request);
- return TResponse.ok(ResponseCodeEnum.SUCCESS, list);
- }
-
- @ApiOperation(value = "获取指定数据库中的表", notes = "queryDatabaseTable")
+ @ApiOperation(value = "获取指定数据库中的表列表", notes = "queryDbTableList")
@PostMapping(value = "/list/dbTable")
- public TResponse> queryDatabaseTable(@Validated @RequestBody WxPpWcfDatabaseTableReq request) {
- List list = weChatDllService.queryDatabaseTable(request);
+ public TResponse> queryDbTableList(@Validated @RequestBody WxPpWcfDatabaseTableReq request) {
+ List list = weChatDllService.queryDbTableList(request);
return TResponse.ok(ResponseCodeEnum.SUCCESS, list);
}
- // @ApiOperation(value = "获取语音消息", notes = "queryMsgTypeList")
- // @PostMapping(value = "/list/voiceMsg")
- // public TResponse