Browse Source

员工管理删除员工操作优化

liusw 7 years ago
parent
commit
a09b22f835

+ 24 - 9
src/main/java/com/uas/platform/b2c/common/account/service/impl/UserServiceImpl.java

@@ -4,24 +4,21 @@ import com.uas.message.mail.service.MailService;
 import com.uas.platform.b2c.common.account.dao.*;
 import com.uas.platform.b2c.common.account.dao.*;
 import com.uas.platform.b2c.common.account.model.*;
 import com.uas.platform.b2c.common.account.model.*;
 import com.uas.platform.b2c.common.account.service.UserService;
 import com.uas.platform.b2c.common.account.service.UserService;
-import com.uas.platform.b2c.common.base.dao.CommonDao;
 import com.uas.platform.b2c.core.config.MessageConf;
 import com.uas.platform.b2c.core.config.MessageConf;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.support.SystemSession;
+import com.uas.platform.b2c.core.utils.ThreadUtils;
+import com.uas.platform.b2c.trade.util.BoundedExecutor;
+import com.uas.platform.core.concurrent.IRunnable;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.exception.SystemException;
 import com.uas.platform.core.exception.SystemException;
-import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.util.AgentUtils;
 import com.uas.platform.core.util.AgentUtils;
 import com.uas.platform.core.util.encry.Md5Utils;
 import com.uas.platform.core.util.encry.Md5Utils;
 import com.uas.sso.entity.UserView;
 import com.uas.sso.entity.UserView;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.support.ManagedMap;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Page;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.data.jpa.domain.Specification;
-import org.springframework.security.access.ConfigAttribute;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
 import org.springframework.security.core.userdetails.UsernameNotFoundException;
 import org.springframework.security.core.userdetails.UsernameNotFoundException;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.ui.ModelMap;
 import org.springframework.ui.ModelMap;
@@ -35,6 +32,8 @@ import javax.persistence.criteria.Root;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.*;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 
 
 @Service
 @Service
 public class UserServiceImpl implements UserService {
 public class UserServiceImpl implements UserService {
@@ -425,15 +424,31 @@ public class UserServiceImpl implements UserService {
 		}
 		}
 	}
 	}
 	@Override
 	@Override
-	public void removeUser(Long uu) {
+	public void removeUser(final Long uu) {
 		User user = userDao.findOne(uu);
 		User user = userDao.findOne(uu);
 		if (user.getEnterprises().contains(SystemSession.getUser().getEnterprise())) {
 		if (user.getEnterprises().contains(SystemSession.getUser().getEnterprise())) {
 			user.removeEnterprise(SystemSession.getUser().getEnterprise());
 			user.removeEnterprise(SystemSession.getUser().getEnterprise());
 			userDao.save(user);
 			userDao.save(user);
+			final Long enUU = SystemSession.getUser().getEnterprise().getUu();
+			// 同步账户中心
+			ExecutorService executorService = Executors.newCachedThreadPool();
+			BoundedExecutor executor = new BoundedExecutor(executorService, 1000);
+
 			try {
 			try {
-				com.uas.sso.util.AccountUtils.removeUser(uu,SystemSession.getUser().getEnterprise().getUu());
-			} catch (Exception e) {
+				executor.submitTask(new Runnable() {
+					@Override
+					public void run() {
+						try {
+							AccountUtils.removeUser(uu, enUU);
+						} catch (Exception e) {
+							e.printStackTrace();
+						}
+					}
+				});
+			} catch (InterruptedException e) {
+				e.printStackTrace();
 			}
 			}
+
 		} else {
 		} else {
 			throw new IllegalArgumentException();
 			throw new IllegalArgumentException();
 		}
 		}