Browse Source

权限:添加用户的时候默认给与 普通用户权限

wangdy 8 years ago
parent
commit
f4167112f9

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

@@ -3,6 +3,8 @@ package com.uas.platform.b2c.common.account.service.impl;
 import com.uas.account.entity.UserDetail;
 import com.uas.account.util.AccountUtils;
 import com.uas.message.mail.service.MailService;
+import com.uas.platform.b2c.common.account.dao.EnterpriseDao;
+import com.uas.platform.b2c.common.account.dao.RoleDao;
 import com.uas.platform.b2c.common.account.dao.UserDao;
 import com.uas.platform.b2c.common.account.model.Enterprise;
 import com.uas.platform.b2c.common.account.model.Role;
@@ -55,6 +57,12 @@ public class UserServiceImpl implements UserService {
 	@Autowired
 	private UserDao userDao;
 
+	@Autowired
+	private RoleDao roleDao;
+
+	@Autowired
+	private EnterpriseDao enterpriseDao;
+
 	@Autowired
 	private CommonDao commonDao;
 
@@ -197,6 +205,14 @@ public class UserServiceImpl implements UserService {
 		}
 		enterprises.add(SystemSession.getUser().getEnterprise());
 		user.setEnterprises(enterprises);
+		List<Role> roles = roleDao.findByEnUUAndDesc(SystemSession.getUser().getEnterprise().getUu(),"普通用户");
+		if(roles.size()>0){
+			Set<Role> set = user.getRoles();
+			set.add(roles.get(0));
+			user.setRoles(set);
+		}else{
+			enterpriseDao.callInitProcedure(SystemSession.getUser().getEnterprise().getUu());
+		}
 		userDao.save(user);
 		try {
 			postToAccountCenter(user);
@@ -356,16 +372,24 @@ public class UserServiceImpl implements UserService {
 		if (users2.size() > 0) {
 			throw new IllegalOperatorException("邮箱地址重复,建议输入您自己的电子邮箱地址");
 		}
-		Long uu = commonDao.queryForObject("select users_seq.nextval from dual", Long.class);
-		user.setUserUU(uu);
+		/*Long uu = commonDao.queryForObject("select users_seq.nextval from dual", Long.class);
+		user.setUserUU(uu);*/
 		user.addEnterprise(SystemSession.getUser().getEnterprise());
 		user.setCurrentEnterprise();
 		user = userDao.save(user);
 
 		user.setUserPwd(Md5Utils.encode(defaultPassword, user.getUserUU()));
 		try {
-			user = userDao.save(user);
 			postToAccountCenter(user, defaultPassword);
+			List<Role> roles = roleDao.findByEnUUAndDesc(SystemSession.getUser().getEnterprise().getUu(),"普通用户");
+			if(roles.size()>0){
+				Set<Role> set = new HashSet<>();
+				set.add(roles.get(0));
+				user.setRoles(set);
+			}else{
+				enterpriseDao.callInitProcedure(SystemSession.getUser().getEnterprise().getUu());
+			}
+			user = userDao.save(user);
 		} catch (Exception e) {
 			userDao.delete(user);
 			throw new RuntimeException(e.getMessage());