This commit is contained in:
张良(004796)
2024-03-21 11:15:25 +08:00
parent 4ae6a05fa8
commit 5cd14c47eb
6 changed files with 72 additions and 53 deletions

View File

@@ -0,0 +1,49 @@
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);
}
}
}

View File

@@ -54,6 +54,8 @@ public class CurrentUserManager {
private ImUserRefClient userClient;
@Autowired
private CitysService citysService;
@Autowired
private CaiLoginManager loginManager;
public CurrentUserInfoVo currentInfo() {
Long userId = LoginHelper.getUserId();
@@ -142,9 +144,6 @@ public class CurrentUserManager {
return true;
}
@Autowired
private CaiLoginManager loginManager;
public boolean userUpdate(UserUpdateReq res) {
res.setUserId(LoginHelper.getUserId());
User user = userService.getById(res.getUserId());
@@ -179,15 +178,20 @@ public class CurrentUserManager {
if(user.getGender() != 0 && !user.getGender().equals(res.getGender())){
throw new ServiceException("性别不可以修改");
}
String cosDomain = systemConfigManager.getSystemConfig(SystemConfigEnum.COS_DOMAIN);
update.set(User::getGender,genderEnum.getCode());
update.set(User::getAvatar,genderEnum.getDefaultAvatar());
uinfoReq.setGender(genderEnum.getCode()+"");
uinfoReq.setIcon(cosDomain + genderEnum.getDefaultAvatar());
updateFlag=true;
updateYunxin=true;
}
if(res.getCityId() != null){
update.set(User::getCityId,res.getCityId());
update.set(User::getCity,citysService.getByCityId(res.getCityId()));
updateFlag=true;
}
if(StringUtils.isNotEmpty(res.getAvatar())){
/*if(StringUtils.isNotEmpty(res.getAvatar())){
if(!GenderEnum.checkDefaultAvatar(res.getAvatar())){
update.set(User::getAvatar,res.getAvatar());
update.set(User::getAvatarState,1);
@@ -195,7 +199,7 @@ public class CurrentUserManager {
// updateYunxin=true;
updateFlag=true;
}
}
}*/
if(updateFlag){
boolean flag = userService.update(update);
if(flag){

View File

@@ -103,7 +103,7 @@ public class UserGreetServiceImpl extends ServiceImpl<UserGreetMapper,UserGreet>
if(userGreet == null || !userGreet.getUserId().equals(userId)){
throw new ServiceException("请选择打招呼内容");
}
if(AuditStatusEnum.SUCCESS.getCode().equals(userGreet.getAuditStatus())){
if(!AuditStatusEnum.SUCCESS.getCode().equals(userGreet.getAuditStatus())){
throw new ServiceException("内容未通过审核");
}
String lockKey = LockManager.getSendGreetLock(userId);

View File

@@ -1,6 +1,5 @@
package com.ruoyi.cai.service.impl;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -8,16 +7,12 @@ import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.domain.UserPictureAudit;
import com.ruoyi.cai.dto.admin.vo.user.UserPictureAuditAdminVo;
import com.ruoyi.cai.enums.AuditStatusEnum;
import com.ruoyi.cai.enums.SystemConfigEnum;
import com.ruoyi.cai.manager.SystemConfigManager;
import com.ruoyi.cai.im.ImManager;
import com.ruoyi.cai.mapper.UserPictureAuditMapper;
import com.ruoyi.cai.service.AnchorApplyService;
import com.ruoyi.cai.service.UserPictureAuditService;
import com.ruoyi.cai.service.UserService;
import com.ruoyi.common.core.domain.PageQuery;
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.Service;
@@ -38,9 +33,9 @@ public class UserPictureAuditServiceImpl extends ServiceImpl<UserPictureAuditMap
@Autowired
private AnchorApplyService anchorApplyService;
@Autowired
private SystemConfigManager systemConfigManager;
private ImManager imManager;
@Autowired
private ImUserRefClient userRefClient;
private UserService userService;
@Override
public UserPictureAudit getOneUserAuditRunningPic(Integer type, Long userId) {
@@ -56,9 +51,6 @@ public class UserPictureAuditServiceImpl extends ServiceImpl<UserPictureAuditMap
return baseMapper.pageAdmin(pageQuery.build(),bo);
}
@Autowired
private UserService userService;
@Override
@Transactional(rollbackFor = Exception.class)
public void auditSuccess(Long id) {
@@ -73,18 +65,7 @@ public class UserPictureAuditServiceImpl extends ServiceImpl<UserPictureAuditMap
.eq(User::getId, userPictureAudit.getUserId())
.set(User::getAvatar, userPictureAudit.getUrl())
.set(User::getAvatarState, 1));
try {
String cosDomain = systemConfigManager.getSystemConfig(SystemConfigEnum.COS_DOMAIN);
UpdateUinfoReq uinfoReq = new UpdateUinfoReq();
uinfoReq.setAccid(userPictureAudit.getUserId()+"");
uinfoReq.setIcon(cosDomain + userPictureAudit.getUrl());
YxCommonR r = userRefClient.updateUinfo(uinfoReq);
if(!r.isSuccess()){
log.error("云信更新失败,需要检查!{}", JSON.toJSONString(r));
}
}catch (Exception e){
log.error("云信调用失败!",e);
}
imManager.updateImInfo(userPictureAudit.getUserId(), userPictureAudit.getUrl(), null);
try {
anchorApplyService.checkAnchorAuto(userPictureAudit.getUserId());
}catch (Exception e){

View File

@@ -14,6 +14,7 @@ import com.ruoyi.cai.dto.app.query.index.UserQuery;
import com.ruoyi.cai.dto.app.vo.user.*;
import com.ruoyi.cai.enums.GenderEnum;
import com.ruoyi.cai.enums.SystemConfigEnum;
import com.ruoyi.cai.im.ImManager;
import com.ruoyi.cai.manager.SystemConfigManager;
import com.ruoyi.cai.mapper.UserMapper;
import com.ruoyi.cai.notice.YunxinHttpService;
@@ -84,7 +85,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
@Autowired
private UserBlacklistService userBlacklistService;
@Autowired
private SystemConfigManager systemConfigManager;
private ImManager imManager;
@Autowired
private YunxinHttpService yunxinHttpService;
@Override
public User getByUsername(String username) {
@@ -275,11 +278,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
return true;
}
@Resource
private ImUserRefClient userRefClient;
@Autowired
private YunxinHttpService yunxinHttpService;
@Override
public void resetNickname(Long id){
User user = this.getById(id);
@@ -292,13 +290,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
if(!update){
return;
}
UpdateUinfoReq uinfoReq = new UpdateUinfoReq();
uinfoReq.setAccid(user.getId()+"");
uinfoReq.setName("用户"+user.getUsercode());
YxCommonR r = userRefClient.updateUinfo(uinfoReq);
if(!r.isSuccess()){
log.error("云信更新失败,需要检查!{}", JSON.toJSONString(r));
}
imManager.updateImInfo(user.getId(), null, "用户" + user.getUsercode());
yunxinHttpService.nickAuditMessage(id);
}
@@ -313,18 +305,11 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
if(genderEnum == null){
return;
}
String cosDomain = systemConfigManager.getSystemConfig(SystemConfigEnum.COS_DOMAIN);
this.update(Wrappers.lambdaUpdate(User.class)
.eq(User::getId,user.getId())
.set(User::getAvatar,genderEnum.getDefaultAvatar())
.set(User::getAvatarState, 0));
UpdateUinfoReq uinfoReq = new UpdateUinfoReq();
uinfoReq.setAccid(user.getId()+"");
uinfoReq.setIcon(cosDomain + genderEnum.getDefaultAvatar());
YxCommonR r = userRefClient.updateUinfo(uinfoReq);
if(!r.isSuccess()){
log.error("云信更新失败,需要检查!{}", JSON.toJSONString(r));
}
imManager.updateImInfo(user.getId(), genderEnum.getDefaultAvatar(), null);
}
@Override