Ver código fonte

【后台】+【后台所有saas用户修改用户信息,暂时不同步到管理平台(修复同步BUG)】

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@3119 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
aof 10 anos atrás
pai
commit
1734456723

+ 40 - 7
src/main/java/com/uas/platform/b2b/service/impl/UserServiceImpl.java

@@ -19,6 +19,7 @@ import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
 import com.uas.platform.b2b.dao.DistributeDao;
+import com.uas.platform.b2b.dao.EnterpriseDao;
 import com.uas.platform.b2b.dao.RoleDao;
 import com.uas.platform.b2b.dao.UserDao;
 import com.uas.platform.b2b.dao.VendorDao;
@@ -61,6 +62,8 @@ public class UserServiceImpl implements UserService {
 	private TokenService tokenService;
 	@Autowired
 	private VendorService vendorService;
+	@Autowired
+	private EnterpriseDao enterpriseDao;
 
 	static final String TEL_REGEXP = "^((\\(\\d{3}\\))|(\\d{3}\\-))?(13|15|18)\\d{9}$";
 
@@ -159,8 +162,14 @@ public class UserServiceImpl implements UserService {
 				newUser.setRoles(user.getRoles());
 			}
 			try {
-				if (newUser.getEnterprise() == null || sendUserToManage(newUser)) {
-					newUser = userDao.save(newUser);
+				if(isNotSaas(SystemSession.getUser().getEnterprise().getUu())) {
+					if(user.getEnterprise() != null) {
+						user = userDao.save(user);
+					}
+				} else {
+					if (user.getEnterprise() == null || sendUserToManage(user)) {
+						user = userDao.save(user);
+					}
 				}
 			} catch (Exception e) {
 				throw new RuntimeException(e.getMessage());
@@ -184,8 +193,14 @@ public class UserServiceImpl implements UserService {
 			if (user1.getEnterprise() == null)
 				user1.setCurrentEnterprise();// 随便绑定一个用户所属企业
 			try {
-				if (user.getEnterprise() == null || sendUserToManage(user1))
-					userDao.save(user1);
+				if(isNotSaas(SystemSession.getUser().getEnterprise().getUu())) {
+					if(user.getEnterprise() != null) {
+						user = userDao.save(user1);
+					}
+				}else {
+					if (user.getEnterprise() == null || sendUserToManage(user1))
+						userDao.save(user1);
+				}
 			} catch (Exception e) {
 				throw new RuntimeException(e.getMessage());
 			}
@@ -233,8 +248,14 @@ public class UserServiceImpl implements UserService {
 		user = userDao.save(user);
 		user.setUserPwd(Md5Utils.encode("111111", user.getUserUU()));
 		try {
-			if (user.getEnterprise() == null || sendUserToManage(user)) {
-				user = userDao.save(user);
+			if(isNotSaas(SystemSession.getUser().getEnterprise().getUu())) {
+				if(user.getEnterprise() != null) {
+					user = userDao.save(user);
+				}
+			} else {
+				if (user.getEnterprise() == null || sendUserToManage(user)) {
+					user = userDao.save(user);
+				}
 			}
 		} catch (Exception e) {
 			userDao.delete(user);
@@ -608,5 +629,17 @@ public class UserServiceImpl implements UserService {
 		}
 		return false;
 	}
-
+	/**
+	 * TODO 为防止saas用户更改用户信息报错问题
+	 *  目前加一个判断,在平台中SAAS用户忽略同步数据
+	 */
+	@Override
+	public boolean isNotSaas(Long uu) {
+		//判断当前企业是否为saas企业
+		Enterprise myenter = enterpriseDao.findEnterpriseByUu(uu);
+		if(myenter.getEnSaasStatus() == 313) {
+			return true;
+		}
+		return false;
+	}
 }