Revert "fix(im): 邀请入群时使用真实用户身份调用IM API,系统通知显示真实用户名而非administrator"

This reverts commit 07d6f21fed.
This commit is contained in:
2026-08-04 19:33:13 +08:00
parent 07d6f21fed
commit 0ae963c4cf
3 changed files with 4 additions and 26 deletions
@@ -1400,7 +1400,6 @@ public class EmergencyApiServiceImpl implements EmergencyApiService {
}
AddGroupMemberDTO addGroupMemberDTO = new AddGroupMemberDTO();
addGroupMemberDTO.setGroupId(dto.getGroupId());
addGroupMemberDTO.setFromAccount(loginUser.getId());
addGroupMemberDTO.setMemberList(newMemberList.stream().map(userId -> {
AddGroupMemberDTO.MemberListDTO memberListDTO = new AddGroupMemberDTO.MemberListDTO();
memberListDTO.setMemberAccount(userId);
@@ -40,13 +40,6 @@ public class AddGroupMemberDTO {
@JsonProperty("MemberList")
private List<MemberListDTO> memberList;
/**
* 发起邀请的用户ID(内部字段,不发送到腾讯IM)
* 设置后会使用该用户的 UserSig 调用 IM API,系统通知会显示该用户名
* 不设置则默认使用 administrator
*/
private String fromAccount;
@NoArgsConstructor
@Data
public static class MemberListDTO {
@@ -114,18 +114,8 @@ public class TencentCloudImUtil {
* 获取腾讯im请求路径
*/
private String getHttpsUrl(String imServiceApi, Integer random) {
return getHttpsUrl(imServiceApi, random, APP_MANAGER);
}
/**
* 获取腾讯im请求路径(指定操作人)
*
* @param identifier 操作人账号,系统通知中会显示该用户名
*/
private String getHttpsUrl(String imServiceApi, Integer random, String identifier) {
String userSig = tximUtil.genUserSig(identifier);
return String.format("%s%s?sdkappid=%s&identifier=%s&usersig=%s&random=%s&contenttype=json",
HTTPS_URL_PREFIX, imServiceApi, sdkAppId, identifier, userSig, random);
HTTPS_URL_PREFIX, imServiceApi, sdkAppId, APP_MANAGER, this.getTxCloudUserSig(), random);
}
@@ -576,22 +566,18 @@ public class TencentCloudImUtil {
importAccountsWithNames(accountList);
}
// 如果指定了 fromAccount,则用该用户身份调用 API,系统通知会显示真实用户名
String identifier = StringUtils.isNotEmpty(dto.getFromAccount()) ? dto.getFromAccount() : APP_MANAGER;
Integer random = RandomUtils.nextInt(0, 999999999);
String httpsUrl = getHttpsUrl(TencentCloudImApiConstant.GroupManage.ADD_GROUP_MEMBER, random, identifier);
String httpsUrl = getHttpsUrl(TencentCloudImApiConstant.GroupManage.ADD_GROUP_MEMBER, random);
String jsonString = objectMapper.writeValueAsString(dto);
JSONObject jsonObject = JSONObject.parseObject(jsonString);
// 移除内部字段,腾讯IM API 不接受
jsonObject.remove("fromAccount");
// 移除 memberName 字段,腾讯IM API 不接受此字段
JSONArray memberList = jsonObject.getJSONArray("MemberList");
if (memberList != null) {
for (int i = 0; i < memberList.size(); i++) {
memberList.getJSONObject(i).remove("memberName");
}
}
log.info("腾讯云im添加群成员,identifier={}请求参数:{}", identifier, jsonObject);
log.info("腾讯云im添加群成员,请求参数:{}", jsonObject);
String result = HttpUtil.doPost(httpsUrl, jsonObject);
log.info("腾讯云im添加群成员,返回结果:{}", result);
return JSONObject.toJavaObject(JSONObject.parseObject(result), AddGroupMemberVO.class);