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 addGroupMemberDTO = new AddGroupMemberDTO();
|
||||||
addGroupMemberDTO.setGroupId(dto.getGroupId());
|
addGroupMemberDTO.setGroupId(dto.getGroupId());
|
||||||
addGroupMemberDTO.setFromAccount(loginUser.getId());
|
|
||||||
addGroupMemberDTO.setMemberList(newMemberList.stream().map(userId -> {
|
addGroupMemberDTO.setMemberList(newMemberList.stream().map(userId -> {
|
||||||
AddGroupMemberDTO.MemberListDTO memberListDTO = new AddGroupMemberDTO.MemberListDTO();
|
AddGroupMemberDTO.MemberListDTO memberListDTO = new AddGroupMemberDTO.MemberListDTO();
|
||||||
memberListDTO.setMemberAccount(userId);
|
memberListDTO.setMemberAccount(userId);
|
||||||
|
|||||||
@@ -40,13 +40,6 @@ public class AddGroupMemberDTO {
|
|||||||
@JsonProperty("MemberList")
|
@JsonProperty("MemberList")
|
||||||
private List<MemberListDTO> memberList;
|
private List<MemberListDTO> memberList;
|
||||||
|
|
||||||
/**
|
|
||||||
* 发起邀请的用户ID(内部字段,不发送到腾讯IM)
|
|
||||||
* 设置后会使用该用户的 UserSig 调用 IM API,系统通知会显示该用户名
|
|
||||||
* 不设置则默认使用 administrator
|
|
||||||
*/
|
|
||||||
private String fromAccount;
|
|
||||||
|
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Data
|
@Data
|
||||||
public static class MemberListDTO {
|
public static class MemberListDTO {
|
||||||
|
|||||||
@@ -114,18 +114,8 @@ public class TencentCloudImUtil {
|
|||||||
* 获取腾讯im请求路径
|
* 获取腾讯im请求路径
|
||||||
*/
|
*/
|
||||||
private String getHttpsUrl(String imServiceApi, Integer random) {
|
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",
|
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);
|
importAccountsWithNames(accountList);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果指定了 fromAccount,则用该用户身份调用 API,系统通知会显示真实用户名
|
|
||||||
String identifier = StringUtils.isNotEmpty(dto.getFromAccount()) ? dto.getFromAccount() : APP_MANAGER;
|
|
||||||
|
|
||||||
Integer random = RandomUtils.nextInt(0, 999999999);
|
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);
|
String jsonString = objectMapper.writeValueAsString(dto);
|
||||||
JSONObject jsonObject = JSONObject.parseObject(jsonString);
|
JSONObject jsonObject = JSONObject.parseObject(jsonString);
|
||||||
// 移除内部字段,腾讯IM API 不接受
|
// 移除 memberName 字段,腾讯IM API 不接受此字段
|
||||||
jsonObject.remove("fromAccount");
|
|
||||||
JSONArray memberList = jsonObject.getJSONArray("MemberList");
|
JSONArray memberList = jsonObject.getJSONArray("MemberList");
|
||||||
if (memberList != null) {
|
if (memberList != null) {
|
||||||
for (int i = 0; i < memberList.size(); i++) {
|
for (int i = 0; i < memberList.size(); i++) {
|
||||||
memberList.getJSONObject(i).remove("memberName");
|
memberList.getJSONObject(i).remove("memberName");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
log.info("腾讯云im添加群成员,identifier={},请求参数:{}", identifier, jsonObject);
|
log.info("腾讯云im添加群成员,请求参数:{}", jsonObject);
|
||||||
String result = HttpUtil.doPost(httpsUrl, jsonObject);
|
String result = HttpUtil.doPost(httpsUrl, jsonObject);
|
||||||
log.info("腾讯云im添加群成员,返回结果:{}", result);
|
log.info("腾讯云im添加群成员,返回结果:{}", result);
|
||||||
return JSONObject.toJavaObject(JSONObject.parseObject(result), AddGroupMemberVO.class);
|
return JSONObject.toJavaObject(JSONObject.parseObject(result), AddGroupMemberVO.class);
|
||||||
|
|||||||
Reference in New Issue
Block a user