Browse Source

【商务平台】 更换管理员信息通过审核后传道商务平台,若是已存在的用户,直接绑定企业;若是新增用户,先进行添加用户操作再绑定

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@6800 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
hejq 9 years ago
parent
commit
ab7edc866b

+ 41 - 14
src/main/java/com/uas/platform/b2b/v2/service/impl/EnterpriseServiceImpl.java

@@ -10,12 +10,16 @@ import org.springframework.util.CollectionUtils;
 import com.uas.account.entity.UserSpace;
 import com.uas.account.entity.UserSpaceDetail;
 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.model.Enterprise;
 import com.uas.platform.b2b.model.User;
 import com.uas.platform.b2b.service.UserService;
+import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.v2.service.EnterpriseService;
+import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.Status;
+import com.uas.platform.core.util.encry.Md5Utils;
 
 @Service("v2.EnterpriseService")
 public class EnterpriseServiceImpl implements EnterpriseService {
@@ -26,6 +30,10 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 	private UserDao userDao;
 	@Autowired
 	private UserService userService;
+	@Autowired
+	private RoleDao roleDao;
+
+	static final String defaultPassword = "111111";
 
 	@Override
 	public Enterprise save(UserSpace userSpace, UserSpaceDetail detail) {
@@ -36,17 +44,7 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 			enterprise.setEnStatus((short) Status.ENABLED.value());
 			isNew = true;
 		}
-		// User user = userService.findUserByUserTel(detail.getAdminTel());
-		// if (user != null) {
-		// enterprise.setAdmin(user);
-		// } else {
-		// User newUser = new User();
-		// newUser.setUserEmail(detail.getAdminEmail());
-		// newUser.setUserTel(detail.getAdminTel());
-		// newUser.setUserName(detail.getAdminName());
-		// user = userService.addUser(newUser, null);
-		// enterprise.setAdmin(user);
-		// }
+
 		enterprise.setEnAddress(detail.getAddress());
 		enterprise.setEnAdminEmail(detail.getAdminEmail());
 		enterprise.setEnAdminName(detail.getAdminName());
@@ -64,8 +62,6 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 		enterprise.setEnType(detail.getType());
 		enterprise.setEnUrl(detail.getUrl());
 
-		enterprise = enterpriseDao.save(enterprise);
-
 		if (isNew) {
 			final Long enUU = enterprise.getUu();
 			new Thread() {
@@ -73,8 +69,39 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 					enterpriseDao.callInitProcedure(enUU);
 				};
 			}.start();
+		} else {// 只有存在的企业才会更换管理员
+			/**
+			 * 这里是更换管理员的方法
+			 */
+			// 如果用户存在,则更换管理员
+			User user = userService.findUserByUserTel(detail.getAdminTel());
+			if (user != null) {
+				enterprise.setEnAdminuu(user.getUserUU());
+				enterprise.setAdmin(user);
+				user.addEnterprise(enterprise);
+				user.setCurrentEnterprise();
+				user.setEnable(Constant.YES);
+				user = userDao.save(user);
+				enterprise = enterpriseDao.save(enterprise);
+			} else {// 不存在的话调用新增用户的方法新增一个用户
+				User newuser = new User();
+				newuser.setUserEmail(detail.getAdminEmail());
+				newuser.setUserTel(detail.getAdminTel());
+				newuser.setUserName(detail.getAdminName());
+				newuser.setUserUU(null);
+				newuser.addEnterprise(SystemSession.getUser().getEnterprise());
+				newuser.setCurrentEnterprise();
+				newuser = userDao.save(newuser);
+				newuser.setUserPwd(Md5Utils.encode(defaultPassword, newuser.getUserUU()));
+				enterprise.setEnAdminuu(newuser.getUserUU());
+				enterprise.setAdmin(newuser);
+				newuser.addEnterprise(enterprise);
+				newuser.setCurrentEnterprise();
+				newuser.setEnable(Constant.YES);
+				newuser = userDao.save(user);
+				enterprise = enterpriseDao.save(enterprise);
+			}
 		}
-
 		return enterprise;
 	}