package com.ruoyi.cai.im; import com.alibaba.fastjson2.JSON; import com.ruoyi.cai.enums.SystemConfigEnum; import com.ruoyi.cai.manager.SystemConfigManager; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.yunxin.client.ImUserRefClient; import com.ruoyi.yunxin.req.UpdateUinfoReq; import com.ruoyi.yunxin.resp.YxCommonR; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.Resource; @Slf4j @Component public class ImManager { @Autowired private SystemConfigManager systemConfigManager; @Resource private ImUserRefClient userRefClient; public void updateImInfo(Long userId, String avatar, String nickname){ if(userId == null){ return; } if(StringUtils.isNotBlank(avatar) && StringUtils.isNotBlank(nickname)){ return; } try { UpdateUinfoReq uinfoReq = new UpdateUinfoReq(); uinfoReq.setAccid(userId+""); if(StringUtils.isNotEmpty(avatar)){ String cosDomain = systemConfigManager.getSystemConfig(SystemConfigEnum.COS_DOMAIN); uinfoReq.setIcon(cosDomain + avatar); } if(StringUtils.isNotBlank(nickname)){ uinfoReq.setName(nickname); } YxCommonR r = userRefClient.updateUinfo(uinfoReq); if(!r.isSuccess()){ log.error("云信更新失败,【updateImInfo】需要检查!userId={},avatar={},nickname={} data={}", userId, avatar, nickname,JSON.toJSONString(r)); } }catch (Exception e){ log.error("云信调用失败!【updateImInfo】",e); } } }