Browse Source

修改用户信息返回添加IMID

wangmh 7 years ago
parent
commit
837844373e

+ 8 - 10
sso-server/src/main/java/com/uas/sso/service/impl/UserServiceImpl.java

@@ -96,7 +96,7 @@ public class UserServiceImpl implements UserService {
     }
 
     @Override
-    public User register(User user) {
+    public synchronized User register(User user) {
         String noEncryPwd = user.getPassword();
         // 校验手机号是否被注册
         if (mobileHasRegistered(user.getMobile())) {
@@ -125,8 +125,7 @@ public class UserServiceImpl implements UserService {
         userLog.info(user, Type.UPDATE_REGISTER.getValue());
 
         // 同步到各个应用
-        syncUserInfo(user.getUserUU(), noEncryPwd, "个人注册");
-        return user;
+        return syncUserInfo(user.getUserUU(), noEncryPwd, "个人注册");
     }
 
     @Override
@@ -149,9 +148,7 @@ public class UserServiceImpl implements UserService {
     @Override
     public User save(User user) {
         user = userDao.save(user);
-        /// 数据同步,先注释
-        syncUserInfo(user, null, "修改用户信息");
-        return user;
+        return syncUserInfo(user, null, "修改用户信息");
     }
 
     @Override
@@ -497,7 +494,7 @@ public class UserServiceImpl implements UserService {
         }
         user.setPassword(getEncryPassword(Const.ENCRY_FORMAT, noEncryPwd, user.getSalt()));
 
-        syncUserInfo(user , noEncryPwd, "用户修改密码");
+        user = syncUserInfo(user , noEncryPwd, "用户修改密码");
 
         return userDao.save(user);
     }
@@ -513,8 +510,8 @@ public class UserServiceImpl implements UserService {
      * @param noEncryPwd 未加密密码,用于同步im
      * @param msg 同步信息描述,用户区分同步类型
      */
-    private void syncUserInfo(Long userUU, String noEncryPwd, String msg) {
-        syncUserInfo(findOne(userUU), noEncryPwd, msg);
+    private User syncUserInfo(Long userUU, String noEncryPwd, String msg) {
+        return syncUserInfo(findOne(userUU), noEncryPwd, msg);
     }
 
     /**
@@ -523,7 +520,7 @@ public class UserServiceImpl implements UserService {
      * @param noEncryPwd 未加密密码,用于同步im
      * @param msg 同步信息描述,用户区分同步类型
      */
-    private void syncUserInfo(User user, String noEncryPwd, final String msg) {
+    private User syncUserInfo(User user, String noEncryPwd, final String msg) {
         List<String> apps = appService.findUid();
 
         try {
@@ -560,6 +557,7 @@ public class UserServiceImpl implements UserService {
                 return null;
             }
         }, apps);
+        return user;
     }
 
     private String syncUserToIm(User user, String noEncryPwd) throws Exception {