Explorar el Código

添加用户,删除用户

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@766 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
suntg hace 11 años
padre
commit
8b74ac1d25

+ 28 - 0
src/main/java/com/uas/platform/b2b/controller/UserController.java

@@ -143,5 +143,33 @@ public class UserController {
 		}else 
 			throw new IllegalOperatorException("新密码不能为空");
 	}
+	
+	/**
+	 * 新增用户
+	 * @param 
+	 * @return
+	 */
+	@RequestMapping(value = "/addUser", method = RequestMethod.POST)
+	public ResponseEntity<String> addUser(@RequestBody String json, HttpServletRequest request) {
+		User user = FlexJsonUtils.fromJson(json, User.class);
+		user = userService.addUser(user, request);
+		if(user != null) {
+			logger.log("用户信息", "新增用户,姓名:" + user.getUserName());
+		}
+		return new ResponseEntity<String>(HttpStatus.OK);
+	}
+	
+
+	/**
+	 * 删除用户
+	 * @param 
+	 * @return
+	 */
+	@RequestMapping(value = "/removeUser", method = RequestMethod.GET)
+	public ResponseEntity<String> removeUser(Long uu, HttpServletRequest request) {
+		userService.removeUser(uu);
+		logger.log("用户信息", "删除用户,UU:" + uu);
+		return new ResponseEntity<String>(HttpStatus.OK);
+	}
 
 }

+ 28 - 3
src/main/java/com/uas/platform/b2b/model/Enterprise.java

@@ -137,13 +137,13 @@ public class Enterprise implements Serializable {
 
 	@Transient
 	private User admin;
-	
+
 	@Transient
 	private Long enBussinesscodeImg;
-	
+
 	@Transient
 	private String enAdminTel;
-	
+
 	@Transient
 	private String enAdminEmail;
 
@@ -337,4 +337,29 @@ public class Enterprise implements Serializable {
 	public boolean isEnabled() {
 		return this.getEnable() != null && this.getEnable() == Constant.YES;
 	}
+
+	@Override
+	public int hashCode() {
+		final int prime = 31;
+		int result = 1;
+		result = prime * result + ((uu == null) ? 0 : uu.hashCode());
+		return result;
+	}
+
+	@Override
+	public boolean equals(Object obj) {
+		if (this == obj)
+			return true;
+		if (obj == null)
+			return false;
+		if (getClass() != obj.getClass())
+			return false;
+		Enterprise other = (Enterprise) obj;
+		if (uu == null) {
+			if (other.uu != null)
+				return false;
+		} else if (!uu.equals(other.uu))
+			return false;
+		return true;
+	}
 }

+ 8 - 1
src/main/java/com/uas/platform/b2b/model/User.java

@@ -1,6 +1,7 @@
 package com.uas.platform.b2b.model;
 
 import java.io.Serializable;
+import java.util.HashSet;
 import java.util.Set;
 
 import javax.persistence.Cacheable;
@@ -82,7 +83,7 @@ public class User implements Serializable {
 	/**
 	 * 所属公司
 	 */
-	@ManyToMany(cascade = { CascadeType.REFRESH }, fetch = FetchType.EAGER)
+	@ManyToMany(cascade = { CascadeType.REFRESH, CascadeType.REMOVE }, fetch = FetchType.EAGER)
 	@JoinTable(name = "sec$userenterprise", joinColumns = @JoinColumn(name = "user_uu", referencedColumnName = "user_uu"), inverseJoinColumns = @JoinColumn(name = "en_uu", referencedColumnName = "en_uu"))
 	@OrderBy("uu")
 	@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
@@ -232,6 +233,12 @@ public class User implements Serializable {
 	}
 
 	public void addEnterprise(Enterprise enterprise) {
+		if(this.enterprises == null) {
+			Set<Enterprise> enterprises = new HashSet<Enterprise>();
+			enterprises.add(enterprise);
+			this.enterprises = enterprises;
+			return;
+		}
 		if (!this.enterprises.contains(enterprise)) {
 			this.enterprises.add(enterprise);
 		}

+ 17 - 0
src/main/java/com/uas/platform/b2b/service/UserService.java

@@ -2,6 +2,8 @@ package com.uas.platform.b2b.service;
 
 import java.util.List;
 
+import javax.servlet.http.HttpServletRequest;
+
 import com.uas.platform.b2b.model.User;
 
 public interface UserService {
@@ -38,6 +40,21 @@ public interface UserService {
 	 */
 	User updateUserInfo(User user);
 
+	/**
+	 * 修改user基本信息(不修改密码)
+	 * 
+	 * @param user
+	 * @param request 
+	 * @return
+	 */
+	User addUser(User user, HttpServletRequest request);
+	
+	/**
+	 * 删除用户信息
+	 * @param uu
+	 */
+	void removeUser(Long uu);
+
 	/**
 	 * 按uu取用户信息
 	 * 

+ 59 - 0
src/main/java/com/uas/platform/b2b/service/impl/UserServiceImpl.java

@@ -1,6 +1,12 @@
 package com.uas.platform.b2b.service.impl;
 
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.core.userdetails.UsernameNotFoundException;
@@ -9,9 +15,12 @@ import org.springframework.stereotype.Service;
 import com.uas.platform.b2b.dao.UserDao;
 import com.uas.platform.b2b.model.User;
 import com.uas.platform.b2b.service.UserService;
+import com.uas.platform.b2b.support.SendMailService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.model.Constant;
+import com.uas.platform.core.model.Status;
+import com.uas.platform.core.util.AgentUtils;
 import com.uas.platform.core.util.encry.Md5Utils;
 
 @Service
@@ -19,6 +28,8 @@ public class UserServiceImpl implements UserService {
 
 	@Autowired
 	private UserDao userDao;
+	@Autowired
+	private SendMailService sendMailService;
 
 	@Override
 	public boolean isEmailUseable(String email) {
@@ -115,4 +126,52 @@ public class UserServiceImpl implements UserService {
 		}
 	}
 
+	@Override
+	public User addUser(User user, HttpServletRequest request) {
+		List<User> users = userDao.findUserByUserTel(user.getUserTel().trim());
+		if(users.size() > 0) {
+			throw new IllegalOperatorException("电话号码重复,建议输入您自己的手机号");
+		}
+		List<User> users2 = userDao.findUserByUserEmail(user.getUserEmail().trim());
+		if(users2.size() > 0) {
+			throw new IllegalOperatorException("邮箱地址重复,建议输入您自己的电子邮箱地址");
+		}
+		user.setUserUU(null);
+		user.addEnterprise(SystemSession.getUser().getEnterprise());
+		user.setCurrentEnterprise();
+		user = userDao.save(user);
+		user.setUserPwd(Md5Utils.encode("111111", user.getUserUU()));
+		user = userDao.save(user);
+		// 发送邮件
+		Map<String, Object> model = new HashMap<String, Object>();
+		model.put("userName", user.getUserName());
+		model.put("userUU", user.getUserUU());
+		model.put("userEmail", user.getUserEmail());
+		model.put("enName", SystemSession.getUser().getEnterprise().getEnName());
+		model.put("adminName", SystemSession.getUser().getUserName());
+		SimpleDateFormat timeFormat = new SimpleDateFormat("MM月dd日 HH:mm:ss");
+		model.put("dateTime", timeFormat.format(new Date()));
+		model.put("userTel", user.getUserTel());
+		model.put("rootpath", AgentUtils.getHost(request));
+		sendMailService.sendTemplateMail(user.getUserEmail(),
+				"欢迎使用UAS管理平台", model, "velocity/newUser.vm");
+		return user;
+	}
+
+	@Override
+	public void removeUser(Long uu) {
+		User user = userDao.findOne(uu);
+		if(user != null) {
+			if(user.getEnterprises().contains(SystemSession.getUser().getEnterprise())) {
+				user.removeEnterprise(SystemSession.getUser().getEnterprise());
+				if(user.getEnterprises().size() == 0) user.setEnable((short) Status.DISABLED.value());
+				userDao.save(user);
+			} else {
+				throw new IllegalArgumentException();
+			}
+		} else {
+			throw new IllegalArgumentException();
+		}
+	}
+
 }