feat(0): [java]-[mvn]-1.新增刷新朋友圈接口
2.新增撤回消息接口
This commit is contained in:
parent
8194076dd3
commit
70f1319137
2
clients/java/wechat-ferry-mvn/CHANGELOG.md
vendored
2
clients/java/wechat-ferry-mvn/CHANGELOG.md
vendored
@ -20,11 +20,13 @@
|
||||
| 发送表情消息 | /send/emojiMsg | x | 该版本不支持 |
|
||||
| 发送文件消息 | /send/fileMsg | x | 该版本不支持 |
|
||||
| 拍一拍群友 | /patOnePat | √ | 已测试 |
|
||||
| 撤回消息 | /revokeMsg | ? | 待测试 |
|
||||
| 通过好友申请 | /passFriendApply | ? | 待测试 |
|
||||
| 添加群成员为微信好友 | /addFriend/groupMember | ? | 待测试 |
|
||||
| 查询群成员 | /groupMember/list | √ | 已测试 |
|
||||
| 邀请群成员 | /groupMember/invite | ? | 待测试 |
|
||||
| 删除群成员 | /groupMember/delete | ? | 待测试 |
|
||||
| 查询朋友圈 | /friendCircle | ? | 待测试 |
|
||||
|
||||
### 已知BUG
|
||||
|
||||
|
@ -18,6 +18,7 @@ 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.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;
|
||||
@ -181,12 +182,12 @@ public class WeChatDllController {
|
||||
// return TResponse.ok(ResponseCodeEnum.SUCCESS, list);
|
||||
// }
|
||||
|
||||
// @ApiOperation(value = "撤回消息", notes = "queryMsgTypeList")
|
||||
// @PostMapping(value = "/list/msgType")
|
||||
// public TResponse<Object> queryMsgTypeList() {
|
||||
// return TResponse.ok(ResponseCodeEnum.SUCCESS, list);
|
||||
// }
|
||||
//
|
||||
@ApiOperation(value = "撤回消息", notes = "revokeMsg")
|
||||
@PostMapping(value = "/revokeMsg")
|
||||
public TResponse<Object> revokeMsg(@Validated @RequestBody WxPpWcfRevokeMsgReq request) {
|
||||
return TResponse.ok(ResponseCodeEnum.SUCCESS);
|
||||
}
|
||||
|
||||
// @ApiOperation(value = "转发消息", notes = "queryMsgTypeList")
|
||||
// @PostMapping(value = "/list/msgType")
|
||||
// public TResponse<Object> queryMsgTypeList() {
|
||||
@ -215,7 +216,7 @@ public class WeChatDllController {
|
||||
|
||||
@ApiOperation(value = "添加群成员为微信好友", notes = "addFriendGroupMember")
|
||||
@PostMapping(value = "/addFriend/groupMember")
|
||||
public TResponse<Object> addFriendGroupMember(WxPpWcfAddFriendGroupMemberReq request) {
|
||||
public TResponse<Object> addFriendGroupMember(@Validated @RequestBody WxPpWcfAddFriendGroupMemberReq request) {
|
||||
weChatDllService.addFriendGroupMember(request);
|
||||
return TResponse.ok(ResponseCodeEnum.SUCCESS);
|
||||
}
|
||||
@ -229,24 +230,25 @@ public class WeChatDllController {
|
||||
|
||||
@ApiOperation(value = "邀请群成员", notes = "inviteGroupMember")
|
||||
@PostMapping(value = "/groupMember/invite")
|
||||
public TResponse<Object> inviteGroupMember(WxPpWcfInviteGroupMemberReq request) {
|
||||
public TResponse<Object> inviteGroupMember(@Validated @RequestBody WxPpWcfInviteGroupMemberReq request) {
|
||||
weChatDllService.inviteGroupMember(request);
|
||||
return TResponse.ok(ResponseCodeEnum.SUCCESS);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "删除群成员", notes = "deleteGroupMember")
|
||||
@PostMapping(value = "/groupMember/delete")
|
||||
public TResponse<Object> deleteGroupMember(WxPpWcfDeleteGroupMemberReq request) {
|
||||
public TResponse<Object> deleteGroupMember(@Validated @RequestBody WxPpWcfDeleteGroupMemberReq request) {
|
||||
weChatDllService.deleteGroupMember(request);
|
||||
return TResponse.ok(ResponseCodeEnum.SUCCESS);
|
||||
}
|
||||
|
||||
// @ApiOperation(value = "获取朋友圈消息", notes = "queryMsgTypeList")
|
||||
// @PostMapping(value = "/list/msgType")
|
||||
// public TResponse<Object> queryMsgTypeList() {
|
||||
// return TResponse.ok(ResponseCodeEnum.SUCCESS, list);
|
||||
// }
|
||||
//
|
||||
@ApiOperation(value = "查询朋友圈", notes = "queryFriendCircle")
|
||||
@PostMapping(value = "/friendCircle")
|
||||
public TResponse<Object> queryFriendCircle() {
|
||||
weChatDllService.queryFriendCircle();
|
||||
return TResponse.ok(ResponseCodeEnum.SUCCESS);
|
||||
}
|
||||
|
||||
// @ApiOperation(value = "下载图片、视频、文件", notes = "queryMsgTypeList")
|
||||
// @PostMapping(value = "/list/msgType")
|
||||
// public TResponse<Object> queryMsgTypeList() {
|
||||
|
@ -19,6 +19,7 @@ public class WxPpWcfPassFriendApplyReq {
|
||||
/**
|
||||
* 申请人
|
||||
* v3 xml.attrib["encryptusername"]
|
||||
* 加密用户名 (好友申请消息里 v3 开头的字符串)
|
||||
*/
|
||||
@NotBlank(message = "申请人不能为空")
|
||||
@ApiModelProperty(value = "申请人")
|
||||
@ -27,6 +28,7 @@ public class WxPpWcfPassFriendApplyReq {
|
||||
/**
|
||||
* 审核人
|
||||
* v4 xml.attrib["ticket"]
|
||||
* Ticket (好友申请消息里 v4 开头的字符串)
|
||||
* 一般指自己,别人申请添加,自己审核是否通过
|
||||
*/
|
||||
@NotBlank(message = "审核人不能为空")
|
||||
@ -35,6 +37,7 @@ public class WxPpWcfPassFriendApplyReq {
|
||||
|
||||
/**
|
||||
* 场景
|
||||
* 申请方式 (好友申请消息里的 scene); 为了兼容旧接口,默认为扫码添加 (30)
|
||||
*/
|
||||
@ApiModelProperty(value = "场景")
|
||||
private String scene;
|
||||
|
@ -0,0 +1,25 @@
|
||||
package com.wechat.ferry.entity.vo.request;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 请求入参-撤回消息
|
||||
*
|
||||
* @author chandler
|
||||
* @date 2024-12-25 12:00
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(value = "wxPpWcfRevokeMsgReq", description = "个微WCF撤回消息请求入参")
|
||||
public class WxPpWcfRevokeMsgReq {
|
||||
|
||||
/**
|
||||
* 消息编号
|
||||
*/
|
||||
@ApiModelProperty(value = "场景")
|
||||
private String msgId;
|
||||
|
||||
}
|
@ -10,6 +10,7 @@ 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.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;
|
||||
@ -200,6 +201,16 @@ public interface WeChatDllService {
|
||||
*/
|
||||
WxPpWcfSendPatOnePatMsgResp patOnePat(WxPpWcfPatOnePatMsgReq request);
|
||||
|
||||
/**
|
||||
* 撤回消息
|
||||
*
|
||||
* @return 结果状态
|
||||
*
|
||||
* @author chandler
|
||||
* @date 2024-12-25 11:59
|
||||
*/
|
||||
String revokeMsg(WxPpWcfRevokeMsgReq request);
|
||||
|
||||
/**
|
||||
* 通过好友申请
|
||||
*
|
||||
@ -255,4 +266,14 @@ public interface WeChatDllService {
|
||||
*/
|
||||
String deleteGroupMember(WxPpWcfDeleteGroupMemberReq request);
|
||||
|
||||
/**
|
||||
* 查询朋友圈
|
||||
*
|
||||
* @return 结果状态
|
||||
*
|
||||
* @author chandler
|
||||
* @date 2024-12-25 11:11
|
||||
*/
|
||||
String queryFriendCircle();
|
||||
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ 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.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;
|
||||
@ -425,6 +426,22 @@ public class WeChatDllServiceImpl implements WeChatDllService {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String revokeMsg(WxPpWcfRevokeMsgReq request) {
|
||||
long startTime = System.currentTimeMillis();
|
||||
log.info("[撤回消息]-[消息撤回]-入参打印:{}", request);
|
||||
long msgId = Long.parseLong(request.getMsgId());
|
||||
Wcf.Request wcfReq = Wcf.Request.newBuilder().setFuncValue(Wcf.Functions.FUNC_REVOKE_MSG_VALUE).setUi64(msgId).build();
|
||||
Wcf.Response rsp = wechatSocketClient.sendCmd(wcfReq);
|
||||
int state = judgeWcfCmdState(rsp);
|
||||
// 回调处理
|
||||
String stringJson = JSON.toJSONString(request);
|
||||
sendMsgCallback(stringJson, state);
|
||||
long endTime = System.currentTimeMillis();
|
||||
log.info("[撤回消息]-[消息撤回]-处理结束,耗时:{}ms", (endTime - startTime));
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String passFriendApply(WxPpWcfPassFriendApplyReq request) {
|
||||
long startTime = System.currentTimeMillis();
|
||||
@ -562,6 +579,18 @@ public class WeChatDllServiceImpl implements WeChatDllService {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String queryFriendCircle() {
|
||||
long startTime = System.currentTimeMillis();
|
||||
log.info("[查询]-[刷新朋友圈]-开始");
|
||||
Wcf.Request req = Wcf.Request.newBuilder().setFuncValue(Wcf.Functions.FUNC_REFRESH_PYQ_VALUE).build();
|
||||
Wcf.Response rsp = wechatSocketClient.sendCmd(req);
|
||||
int state = judgeWcfCmdState(rsp);
|
||||
long endTime = System.currentTimeMillis();
|
||||
log.info("[查询]-[刷新朋友圈]-处理结束,耗时:{}ms", (endTime - startTime));
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取SQL类型
|
||||
*
|
||||
@ -597,7 +626,7 @@ public class WeChatDllServiceImpl implements WeChatDllService {
|
||||
if (converter != null) {
|
||||
return converter.apply(content.toByteArray());
|
||||
} else {
|
||||
log.warn("未知的SQL类型: {}", type);
|
||||
log.warn("[SQL转换类型]-未知的SQL类型: {}", type);
|
||||
return content.toByteArray();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user