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