init
This commit is contained in:
@@ -14,6 +14,6 @@ public class ImTest {
|
||||
private ImOp imOp;
|
||||
@Test
|
||||
public void refresh(){
|
||||
imOp.refreshIm();
|
||||
imOp.refreshIm(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,4 +6,5 @@ import lombok.Data;
|
||||
public class MinUser {
|
||||
private Long id;
|
||||
private String usercode;
|
||||
private String nickname;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ public class ExecutorConstant {
|
||||
public static Executor SYNC_EXECUTOR;
|
||||
|
||||
public static Executor COMMON_EXECUTOR;
|
||||
public static Executor ROOM_EXECUTOR;
|
||||
public static Executor IM_EXECUTOR;
|
||||
|
||||
static {
|
||||
ThreadPoolExecutor syncExecutor = initExecutor(CPU_NUM,
|
||||
@@ -44,7 +44,7 @@ public class ExecutorConstant {
|
||||
new ArrayBlockingQueue<>(5),
|
||||
init("roomThreadPoll-%d"),
|
||||
new ThreadPoolExecutor.CallerRunsPolicy());
|
||||
ROOM_EXECUTOR = TtlExecutors.getTtlExecutor(roomExecutor);
|
||||
IM_EXECUTOR = TtlExecutors.getTtlExecutor(roomExecutor);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -53,14 +53,16 @@ public class ImOp {
|
||||
}
|
||||
|
||||
|
||||
public void refreshIm(){
|
||||
public void refreshIm(boolean loginOut){
|
||||
List<User> list = userService.list();
|
||||
for (User user : list) {
|
||||
String imToken = IdUtil.simpleUUID();
|
||||
userService.update(Wrappers.lambdaUpdate(User.class).eq(User::getId,user.getId()).set(User::getImToken, imToken));
|
||||
this.register(user.getId(),imToken,user.getNickname());
|
||||
imManager.updateImInfo(user.getId(),user.getAvatar(),user.getNickname(),user.getGender());
|
||||
LoginHelper.logoutApp(user.getId());
|
||||
if(loginOut){
|
||||
LoginHelper.logoutApp(user.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.ruoyi.xq.dto.app.user.UpdateBaseInfoReq;
|
||||
import com.ruoyi.xq.dto.app.user.UpdateUserAuthInfoReq;
|
||||
import com.ruoyi.xq.dto.app.user.UpdateUserFullInfoReq;
|
||||
import com.ruoyi.xq.dto.app.user.vo.*;
|
||||
import com.ruoyi.xq.dto.common.user.MinUser;
|
||||
import com.ruoyi.xq.enums.common.AuditEnum;
|
||||
import com.ruoyi.xq.enums.common.SystemConfigEnum;
|
||||
import com.ruoyi.xq.enums.user.UserAuthTypeEnum;
|
||||
@@ -52,9 +53,9 @@ public class CurrentUserManager {
|
||||
@Autowired
|
||||
private AreaCodeService areaCodeService;
|
||||
@Autowired
|
||||
private UserVipService userVipService;
|
||||
@Autowired
|
||||
private UserExtendService userExtendService;
|
||||
@Autowired
|
||||
private ImManager imManager;
|
||||
|
||||
|
||||
public CurrentUserFullInfoVo currentFullInfo(){
|
||||
@@ -141,9 +142,11 @@ public class CurrentUserManager {
|
||||
Long userId = LoginHelper.getUserId();
|
||||
User updateUser = BeanConvertUtil.convertTo(req, User::new);
|
||||
UserGenderEnum userGenderEnum = UserGenderEnum.getByCode(req.getGender());
|
||||
String avatar = null;
|
||||
if(userGenderEnum != null){
|
||||
String cos = systemConfigManager.getSystemConfig(SystemConfigEnum.COS_DOMAIN);
|
||||
updateUser.setAvatar(cos + userGenderEnum.getDefaultAvatar());
|
||||
avatar = cos + userGenderEnum.getDefaultAvatar();
|
||||
updateUser.setAvatar(avatar);
|
||||
}
|
||||
if(req.getAddressCode() != null){
|
||||
AreaCode areaCode = areaCodeService.getById(req.getAddressCode());
|
||||
@@ -177,6 +180,7 @@ public class CurrentUserManager {
|
||||
userInfoService.updateById(updateUserInfo);
|
||||
// 检查finishStatus
|
||||
userService.checkFinishStatus(userId);
|
||||
imManager.updateImInfoAsync(userId,avatar,req.getNickname(),req.getGender());
|
||||
}
|
||||
|
||||
@Autowired
|
||||
@@ -249,6 +253,10 @@ public class CurrentUserManager {
|
||||
|
||||
public void updateInfo(UpdateUserFullInfoReq req) {
|
||||
Long userId = LoginHelper.getUserId();
|
||||
MinUser minUser = userService.getMinUserById(userId);
|
||||
if(minUser == null){
|
||||
throw new ServiceException("当前用户不存在");
|
||||
}
|
||||
User updateUser = BeanConvertUtil.convertTo(req, User::new);
|
||||
if(req.getAddressCode() != null){
|
||||
AreaCode areaCode = areaCodeService.getById(req.getAddressCode());
|
||||
@@ -278,6 +286,9 @@ public class CurrentUserManager {
|
||||
updateUserInfo.setId(userInfo.getId());
|
||||
updateUserInfo.setUpdateTime(LocalDateTime.now());
|
||||
userInfoService.updateById(updateUserInfo);
|
||||
if(!minUser.getNickname().equals(req.getNickname())){
|
||||
imManager.updateImInfoAsync(userId,null,req.getNickname(),null);
|
||||
}
|
||||
}
|
||||
|
||||
public UserAuthInfoVo currentAuthInfo() {
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.ruoyi.xq.dto.app.im.ImMessageDTO;
|
||||
import com.ruoyi.xq.dto.app.im.ImResp;
|
||||
import com.ruoyi.xq.enums.ErrorEnum;
|
||||
import com.ruoyi.xq.enums.common.SystemConfigEnum;
|
||||
import com.ruoyi.xq.executor.ExecutorConstant;
|
||||
import com.ruoyi.xq.service.UserChatFilterService;
|
||||
import com.ruoyi.xq.service.UserChatRecordService;
|
||||
import com.ruoyi.xq.service.UserService;
|
||||
@@ -112,6 +113,12 @@ public class ImManager {
|
||||
return resp;
|
||||
}
|
||||
|
||||
public void updateImInfoAsync(Long userId,String avatar,String nickname,Integer gender){
|
||||
ExecutorConstant.IM_EXECUTOR.execute(() -> {
|
||||
this.updateImInfo(userId,avatar,nickname,gender);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
public void updateImInfo(Long userId, String avatar, String nickname, Integer gender) {
|
||||
if(userId == null){
|
||||
|
||||
@@ -199,7 +199,7 @@ public class LoginManager {
|
||||
req.setName(user.getNickname());
|
||||
YxCommonR r = imUserClient.createUser(req);
|
||||
if(!r.isSuccess()){
|
||||
/*if(r.getCode() == 414){
|
||||
if(r.getCode() == 414){
|
||||
UpdateTokenReq req1 = new UpdateTokenReq();
|
||||
req1.setAccid(user.getId()+"");
|
||||
req1.setToken(user.getImToken());
|
||||
@@ -211,7 +211,7 @@ public class LoginManager {
|
||||
}else{
|
||||
log.error("创建云信账号失败,{}", JSON.toJSONString(r));
|
||||
throw new ServiceException("注册失败,云信异常");
|
||||
}*/
|
||||
}
|
||||
}
|
||||
String clientIP = ServletUtils.getClientIP();
|
||||
UserLogin userLogin = new UserLogin();
|
||||
|
||||
@@ -14,6 +14,7 @@ import com.ruoyi.xq.dto.app.common.IdsReq;
|
||||
import com.ruoyi.xq.enums.common.AuditEnum;
|
||||
import com.ruoyi.xq.enums.user.UserInfoAuditTypeEnum;
|
||||
import com.ruoyi.xq.enums.userinfo.UserHousingStatusEnum;
|
||||
import com.ruoyi.xq.manager.ImManager;
|
||||
import com.ruoyi.xq.mapper.UserInfoAuditMapper;
|
||||
import com.ruoyi.xq.service.UserInfoAuditService;
|
||||
import com.ruoyi.xq.service.UserService;
|
||||
@@ -37,6 +38,8 @@ public class UserInfoAuditServiceImpl extends ServiceImpl<UserInfoAuditMapper,Us
|
||||
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
@Autowired
|
||||
private ImManager imManager;
|
||||
|
||||
@Override
|
||||
public UserInfoAudit getAuditingDataByUserIdAndType(Long userId, UserInfoAuditTypeEnum auditTypeEnum){
|
||||
@@ -71,12 +74,12 @@ public class UserInfoAuditServiceImpl extends ServiceImpl<UserInfoAuditMapper,Us
|
||||
userService.update(Wrappers.lambdaUpdate(User.class)
|
||||
.eq(User::getId, userInfoAudit.getUserId())
|
||||
.set(User::getAvatar, userInfoAudit.getAuditContent()));
|
||||
imManager.updateImInfoAsync(userInfoAudit.getUserId(),userInfoAudit.getAuditContent(),null,null);
|
||||
}else if(userInfoAudit.getInfoType().equals(UserInfoAuditTypeEnum.REMARK.getCode())){
|
||||
userService.update(Wrappers.lambdaUpdate(User.class)
|
||||
.eq(User::getId, userInfoAudit.getUserId())
|
||||
.set(User::getRemark, userInfoAudit.getAuditContent()));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ import com.ruoyi.xq.enums.common.SystemConfigEnum;
|
||||
import com.ruoyi.xq.enums.image.ImagesEnums;
|
||||
import com.ruoyi.xq.enums.userinfo.UserGenderEnum;
|
||||
import com.ruoyi.xq.lock.LockKey;
|
||||
import com.ruoyi.xq.manager.ImManager;
|
||||
import com.ruoyi.xq.manager.LoginManager;
|
||||
import com.ruoyi.xq.manager.SystemConfigManager;
|
||||
import com.ruoyi.xq.mapper.UserMapper;
|
||||
@@ -85,6 +86,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements Use
|
||||
private AreaCodeService areaCodeService;
|
||||
@Autowired
|
||||
private UserStarService userStarService;
|
||||
@Autowired
|
||||
private ImManager imManager;
|
||||
|
||||
@Override
|
||||
public MinUser getMinUserById(Long userId){
|
||||
@@ -205,13 +208,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements Use
|
||||
this.update(Wrappers.lambdaUpdate(User.class)
|
||||
.eq(User::getId,user.getId())
|
||||
.set(User::getAvatar,avatar));
|
||||
UpdateUinfoReq uinfoReq = new UpdateUinfoReq();
|
||||
uinfoReq.setAccid(user.getId()+"");
|
||||
uinfoReq.setIcon(avatar);
|
||||
YxCommonR r = userRefClient.updateUinfo(uinfoReq);
|
||||
if(!r.isSuccess()){
|
||||
log.error("云信更新失败,需要检查!{}", JSON.toJSONString(r));
|
||||
}
|
||||
imManager.updateImInfo(userId,avatar,null,null);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -226,13 +223,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements Use
|
||||
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(userId,null,"用户"+user.getUsercode(),null);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -422,6 +413,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements Use
|
||||
.set(updateUserReq.getCarStatus() != null,UserInfo::getCarStatus, updateUserReq.getCarStatus())
|
||||
.set(updateUserReq.getHousingStatus() != null,UserInfo::getHousingStatus, updateUserReq.getHousingStatus()));
|
||||
}
|
||||
imManager.updateImInfoAsync(user.getId(),user.getAvatar(),user.getNickname(),user.getGender());
|
||||
this.checkFinishStatus(user.getId());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user