feat: 补充IM个人资料同步 + 群成员头像导入修复
1. 在8处头像/名称变更点补充imHelloApi.accountReg()调用,同步更新IM个人资料: - SysUserController.updateUserAvatar 用户换头像 - SysUserController.appEdit 移动端编辑资料 - SysUserController.edit 后台编辑用户 - EmergencyProfessionUserServiceImpl.customEdit 应急人员编辑 - EmergencyCenterAdminServiceImpl.updateAdmin 中心管理员编辑 - HealthUserEmployeeExServiceImpl.updateUserInfo 员工编辑 - ConDoctorApiController.update 专家端个人简介修改 - AsyncExportService.importDoctor 批量导入医生 所有syncImProfile方法内部try-catch兜底,失败不影响主流程。 2. AddGroupMemberDTO新增memberAvatar字段,TencentCloudImUtil.addGroupMember 导入IM账号时传递FaceUrl,EmergencyApiServiceImpl.addGroupUser构建头像映射。 3. jeecg-system-biz/pom.xml新增health-im-api依赖。 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -554,13 +554,16 @@ public class TencentCloudImUtil {
|
||||
try {
|
||||
// 先导入账号及其名称,确保成员在IM系统中已注册
|
||||
if (dto.getMemberList() != null && !dto.getMemberList().isEmpty()) {
|
||||
// 构建腾讯IM新版 AccountList 格式(含昵称)
|
||||
// 构建腾讯IM新版 AccountList 格式(含昵称和头像)
|
||||
List<JSONObject> accountList = dto.getMemberList().stream().map(member -> {
|
||||
JSONObject account = new JSONObject();
|
||||
account.put("UserID", member.getMemberAccount());
|
||||
if (StringUtils.isNotEmpty(member.getMemberName())) {
|
||||
account.put("Nick", member.getMemberName());
|
||||
}
|
||||
if (StringUtils.isNotEmpty(member.getMemberAvatar())) {
|
||||
account.put("FaceUrl", member.getMemberAvatar());
|
||||
}
|
||||
return account;
|
||||
}).collect(Collectors.toList());
|
||||
importAccountsWithNames(accountList);
|
||||
@@ -570,11 +573,13 @@ public class TencentCloudImUtil {
|
||||
String httpsUrl = getHttpsUrl(TencentCloudImApiConstant.GroupManage.ADD_GROUP_MEMBER, random);
|
||||
String jsonString = objectMapper.writeValueAsString(dto);
|
||||
JSONObject jsonObject = JSONObject.parseObject(jsonString);
|
||||
// 移除 memberName 字段,腾讯IM API 不接受此字段
|
||||
// 移除内部字段,腾讯IM API 不接受
|
||||
JSONArray memberList = jsonObject.getJSONArray("MemberList");
|
||||
if (memberList != null) {
|
||||
for (int i = 0; i < memberList.size(); i++) {
|
||||
memberList.getJSONObject(i).remove("memberName");
|
||||
JSONObject member = memberList.getJSONObject(i);
|
||||
member.remove("memberName");
|
||||
member.remove("memberAvatar");
|
||||
}
|
||||
}
|
||||
log.info("腾讯云im添加群成员,请求参数:{}", jsonObject);
|
||||
|
||||
Reference in New Issue
Block a user