feat(emergency): 新增腾讯IM验证的群成员列表接口,优化searchEmployee模糊搜索

- 新增 /order/getActualGroupMemberList 接口,先查本地参与人员再调腾讯IM验证,以交集为准
- 新增 GetGroupMemberInfoVO,封装腾讯IM get_group_member_info API响应
- TencentCloudImUtil 新增 getGroupMemberInfo 方法,TXController/IMHelloApi 新增对应端点
- GroupMemberVO 新增 isSelf 字段区分本人 (0/1),默认值 0
- searchEmployee 姓名/工号/手机号改为模糊搜索(* 包装实现)
- 修复 getActualGroupMemberList IM 调用失败时静默返回空列表的 bug,失败时降级使用本地成员
- 接口文档更新变更摘要,标明新接口替换原 /order/getGroupMemberList 地址

Co-Authored-By: Claude <noreply@anthropic.com>
@
This commit is contained in:
2026-07-07 09:29:19 +08:00
parent 74ecbe6bda
commit 945c0b46d7
9 changed files with 297 additions and 14 deletions
@@ -6,6 +6,7 @@ import com.renkang.im.dto.AddGroupMemberDTO;
import com.renkang.im.dto.DeleteGroupMemberDTO;
import com.renkang.im.entity.*;
import com.renkang.im.vo.AddGroupMemberVO;
import com.renkang.im.vo.GetGroupMemberInfoVO;
import com.renkang.im.vo.ImBaseResult;
import org.jeecg.common.api.vo.Result;
import org.springframework.cloud.openfeign.FeignClient;
@@ -81,6 +82,14 @@ public interface IMHelloApi {
@GetMapping("/wnapp/destroyGroup")
Result<ImBaseResult> destroyGroup(@RequestParam("groupId") String groupId);
/**
* @description: 获取群成员详细资料
* @author PengJ
* @date 2026/7/7
*/
@GetMapping(value = "/wnapp/getGroupMemberInfo")
Result<GetGroupMemberInfoVO> getGroupMemberInfo(@RequestParam("groupId") String groupId);
/**
* @description: 删除群成员
* @author PengJ
@@ -0,0 +1,75 @@
package com.renkang.im.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author PengJ
* @version 1.0
* @description: 获取群成员详细资料响应VO
* @date 2026/7/7
*/
@NoArgsConstructor
@Data
public class GetGroupMemberInfoVO {
/**
* 请求处理的结果
* OK:表示处理成功。
* FAIL:表示失败。
*/
@JsonProperty("ActionStatus")
private String actionStatus;
/**
* 错误信息
*/
@JsonProperty("ErrorInfo")
private String errorInfo;
/**
* 错误码
* 0:表示成功。
* 非0:表示失败。
*/
@JsonProperty("ErrorCode")
private Integer errorCode;
/**
* 本群组的群成员总数
*/
@JsonProperty("MemberNum")
private Integer memberNum;
/**
* 群成员列表
*/
@JsonProperty("MemberList")
private List<MemberInfo> memberList;
@NoArgsConstructor
@Data
public static class MemberInfo {
/**
* 群成员 UserID
*/
@JsonProperty("Member_Account")
private String memberAccount;
/**
* 群内身份:Owner/Admin/Member
*/
@JsonProperty("Role")
private String role;
/**
* 入群时间
*/
@JsonProperty("JoinTime")
private Integer joinTime;
}
}