Revert "fix(im): 邀请入群时使用真实用户身份调用IM API,系统通知显示真实用户名而非administrator"
This reverts commit 07d6f21fed.
This commit is contained in:
-1
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user