Quellcode durchsuchen

更新更换管理员方法,重新提出,处理注册时企业同步可能出现的其他问题

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@9233 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
hejq vor 8 Jahren
Ursprung
Commit
e1d8d48dc1

+ 38 - 0
src/main/java/com/uas/platform/b2b/v2/controller/ChangeAdminController.java

@@ -0,0 +1,38 @@
+package com.uas.platform.b2b.v2.controller;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.temporary.model.ChangeAdminDetail;
+import com.uas.platform.b2b.v2.service.ChangeAdminService;
+
+@Controller("v2.ChangeAdminController")
+@RequestMapping(value = "/public/changeadmin")
+public class ChangeAdminController {
+
+	@Autowired
+	private ChangeAdminService changeAdminService;
+
+	@RequestMapping(method = RequestMethod.POST)
+	@ResponseBody
+	public String save(ChangeAdminDetail detail) throws Exception {
+		if (detail != null) {
+			Enterprise enterprise = changeAdminService.save(detail);
+			String result = null;
+			try {
+				changeAdminService.save(enterprise);
+				result = "更新成功";
+			} catch (Exception e) {
+				result = "更新失败";
+				e.printStackTrace();
+				throw e;
+			}
+			return result;
+		}
+		return null;
+	}
+}

+ 12 - 0
src/main/java/com/uas/platform/b2b/v2/service/ChangeAdminService.java

@@ -0,0 +1,12 @@
+package com.uas.platform.b2b.v2.service;
+
+import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.temporary.model.ChangeAdminDetail;
+
+public interface ChangeAdminService {
+
+	Enterprise save(ChangeAdminDetail detail);
+
+	void save(Enterprise enterprise);
+
+}

+ 103 - 0
src/main/java/com/uas/platform/b2b/v2/service/impl/ChangeAdminServiceImpl.java

@@ -0,0 +1,103 @@
+package com.uas.platform.b2b.v2.service.impl;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+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.Role;
+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.temporary.model.ChangeAdminDetail;
+import com.uas.platform.b2b.v2.service.ChangeAdminService;
+import com.uas.platform.core.model.Constant;
+import com.uas.platform.core.util.encry.Md5Utils;
+
+@SuppressWarnings("deprecation")
+@Service("v2.ChangeAdminService")
+public class ChangeAdminServiceImpl implements ChangeAdminService {
+
+	@Autowired
+	private UserService userService;
+
+	@Autowired
+	private RoleDao roleDao;
+
+	@Autowired
+	private UserDao userDao;
+
+	@Autowired
+	private EnterpriseDao enterpriseDao;
+
+	/**
+	 * 初始密码
+	 */
+	static final String defaultPassword = "111111";
+
+	@SuppressWarnings("null")
+	@Override
+	public Enterprise save(ChangeAdminDetail detail) {
+		// 如果用户存在,则更换管理员
+		User user = userService.findUserByUserTel(detail.getAdminTel());
+		Enterprise enterprise = enterpriseDao.findEnterpriseByEnBussinessCode(detail.getBusinessCode());
+		if (user != null) {
+			enterprise.setEnAdminuu(user.getUserUU());
+			enterprise.setAdmin(user);
+			user.addEnterprise(enterprise);
+			user.setCurrentEnterprise();
+			user.setEnable(Constant.YES);
+			// 将用户设置为管理员,只对用户的当前企业的角色进行修改
+			Set<Role> existRoles = new HashSet<Role>(); // 新用户注册企业时为空
+			if (!CollectionUtils.isEmpty(user.getRoles())) { // 老用户注册新企业
+				existRoles = user.getRoles();
+			}
+			// 设置为本企业管理员
+			List<Role> adminList = roleDao.findByEnUUAndDesc(enterprise.getUu(), "管理员");
+			existRoles.add(adminList.get(0));
+			user.setRoles(existRoles);
+			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);
+			// 将用户设置为管理员,只对用户的当前企业的角色进行修改
+			Set<Role> existRoles = new HashSet<Role>(); // 新用户注册企业时为空
+			if (!CollectionUtils.isEmpty(user.getRoles())) { // 老用户注册新企业
+				existRoles = user.getRoles();
+			}
+			// 设置为本企业管理员
+			List<Role> adminList = roleDao.findByEnUUAndDesc(enterprise.getUu(), "管理员");
+			existRoles.add(adminList.get(0));
+			user.setRoles(existRoles);
+			newuser = userDao.save(newuser);
+			enterprise = enterpriseDao.save(enterprise);
+		}
+		return enterprise;
+	}
+
+	@Override
+	public void save(Enterprise enterprise) {
+		enterpriseDao.save(enterprise);
+	}
+
+}

+ 0 - 64
src/main/java/com/uas/platform/b2b/v2/service/impl/EnterpriseServiceImpl.java

@@ -1,9 +1,7 @@
 package com.uas.platform.b2b.v2.service.impl;
 
 import java.util.Date;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -12,17 +10,11 @@ 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.Role;
 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 {
@@ -31,12 +23,6 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 	private EnterpriseDao enterpriseDao;
 	@Autowired
 	private UserDao userDao;
-	@Autowired
-	private UserService userService;
-	@Autowired
-	private RoleDao roleDao;
-
-	static final String defaultPassword = "111111";
 
 	@Override
 	public Enterprise save(UserSpace userSpace, UserSpaceDetail detail) {
@@ -74,56 +60,6 @@ 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);
-				// 将用户设置为管理员,只对用户的当前企业的角色进行修改
-				Set<Role> existRoles = new HashSet<Role>(); // 新用户注册企业时为空
-				if (!CollectionUtils.isEmpty(user.getRoles())) { // 老用户注册新企业
-					existRoles = user.getRoles();
-				} 
-				// 设置为本企业管理员
-				List<Role> adminList = roleDao.findByEnUUAndDesc(enterprise.getUu(),"管理员");
-				existRoles.add(adminList.get(0));
-				user.setRoles(existRoles);
-				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);
-				// 将用户设置为管理员,只对用户的当前企业的角色进行修改
-				Set<Role> existRoles = new HashSet<Role>(); // 新用户注册企业时为空
-				if (!CollectionUtils.isEmpty(user.getRoles())) { // 老用户注册新企业
-					existRoles = user.getRoles();
-				} 
-				// 设置为本企业管理员
-				List<Role> adminList = roleDao.findByEnUUAndDesc(enterprise.getUu(),"管理员");
-				existRoles.add(adminList.get(0));
-				user.setRoles(existRoles);
-				newuser = userDao.save(newuser);
-				enterprise = enterpriseDao.save(enterprise);
-			}
 		}
 		return enterprise;
 	}

+ 1 - 4
src/main/java/com/uas/platform/b2b/v2/service/impl/UserServiceImpl.java

@@ -9,7 +9,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
-import com.alibaba.fastjson.JSON;
 import com.uas.account.entity.User;
 import com.uas.account.entity.UserDetail;
 import com.uas.platform.b2b.dao.EnterpriseDao;
@@ -39,6 +38,7 @@ public class UserServiceImpl implements UserService {
 		if (oldUser == null) { // 如果是新用户,就新增一个user
 			oldUser = new com.uas.platform.b2b.model.User();
 			oldUser.setEnable(Constant.YES);
+			oldUser.setUserPwd(Md5Utils.encode(defaultPassword, oldUser.getUserUU()));
 		}
 		if (null != detail.getEmail())
 			oldUser.setUserEmail(detail.getEmail());
@@ -57,9 +57,6 @@ public class UserServiceImpl implements UserService {
 				oldUser.setUserPwd(user.getPassword());// 传过来的是密文
 			}
 		}
-		if(oldUser.getUserPwd() == null) {
-			oldUser.setUserPwd(Md5Utils.encode(defaultPassword, oldUser.getUserUU()));
-		}
 		if (null != detail.getSex())
 			oldUser.setUserSex(detail.getSex());
 		if (null != detail.getMobile())