Browse Source

用户查找和用户绑定

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@1291 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
suntg 10 years ago
parent
commit
28083f1837

+ 27 - 3
src/main/java/com/uas/platform/b2b/controller/UserController.java

@@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import com.uas.platform.b2b.model.User;
+import com.uas.platform.b2b.model.UserInfo;
 import com.uas.platform.b2b.service.UserService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.UsageBufferedLogger;
@@ -43,7 +44,6 @@ public class UserController {
 
 	/**
 	 * 查看全部用户信息
-	 * 
 	 * @return
 	 */
 	@RequestMapping(method = RequestMethod.GET)
@@ -55,7 +55,6 @@ public class UserController {
 
 	/**
 	 * 手机号是否可用
-	 * 
 	 * @param tel
 	 * @return
 	 */
@@ -97,7 +96,6 @@ public class UserController {
 
 	/**
 	 * 验证用户输入的密码是否正确
-	 * 
 	 * @param email
 	 * @return
 	 */
@@ -176,5 +174,31 @@ public class UserController {
 		logger.log("用户信息", "删除用户,UU:" + uu);
 		return new ResponseEntity<String>(HttpStatus.OK);
 	}
+	
+	
+	/**
+	 * author luoq
+	 * 通过UU号、手机号或邮箱查找用户
+	 * @param keyWord
+	 * @return
+	 */
+	@RequestMapping(value = "/searchUser", method = RequestMethod.GET)
+	@ResponseBody
+	public UserInfo getUser(String keyWord){
+		return userService.findUserByKeyWord(keyWord);
+	}
+	
+	/**
+	 * author luoq
+	 * 绑定用户到企业(管理员才能操作)
+	 * @param userUU
+	 * @return
+	 */
+	@RequestMapping(value = "/bindUser", method = RequestMethod.GET)
+	@ResponseBody
+	public ResponseEntity<String> bindUser(Long userUU){
+		userService.bindUserToMyEnterprise(userUU);
+		return new ResponseEntity<String>(HttpStatus.OK);
+	}
 
 }

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

@@ -5,6 +5,7 @@ import java.util.List;
 import javax.servlet.http.HttpServletRequest;
 
 import com.uas.platform.b2b.model.User;
+import com.uas.platform.b2b.model.UserInfo;
 
 public interface UserService {
 
@@ -138,5 +139,18 @@ public interface UserService {
 	 * @param type
 	 */
 	public void resetPwdByCheckcode(Long userUU, String newPwd, String checkcode);
+	
+	/**
+	 * 根据UU号、手机号或者邮箱查找用户
+	 * @param keyWord
+	 * @return
+	 */
+	public UserInfo findUserByKeyWord(String keyWord);
+	
+	/**
+	 * 管理员绑定用户到当前登录企业
+	 * @param userUU
+	 */
+	public void bindUserToMyEnterprise(Long userUU);
 
 }

+ 43 - 2
src/main/java/com/uas/platform/b2b/service/impl/UserServiceImpl.java

@@ -3,8 +3,10 @@ package com.uas.platform.b2b.service.impl;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import javax.servlet.http.HttpServletRequest;
 
@@ -15,7 +17,9 @@ import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
 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.model.UserInfo;
 import com.uas.platform.b2b.service.UserService;
 import com.uas.platform.b2b.support.SendMailService;
 import com.uas.platform.b2b.support.SystemSession;
@@ -82,7 +86,13 @@ public class UserServiceImpl implements UserService {
 			throw new UsernameNotFoundException("没有找到您的账号 " + tel);
 		return users.get(0);
 	}
-
+	
+	public boolean bindUser(String userUU , String enUU){
+		//打印SystemSession
+		//UserEnterprise实体???
+		return false;
+	}
+	
 	@Override
 	public boolean isTelUseable(String tel) {
 		return userDao.findUserByUserTel(tel).size() == 0;
@@ -270,6 +280,37 @@ public class UserServiceImpl implements UserService {
 			throw new IllegalArgumentException();
 		}
 	}
-	
 
+	@Override
+	public UserInfo findUserByKeyWord(String keyWord){
+		User user = null;
+		if (keyWord.contains("@")) { 	// 按邮箱查找
+			user = findUserByUserEmail(keyWord);
+		} else if (keyWord.matches(TEL_REGEXP)) {	// 按手机号查找
+			user = findUserByUserTel(keyWord);
+		} else if (keyWord.matches(UU_REGEXP)) {	//按UU号查找
+			user = findUserByUserUU(Long.parseLong(keyWord));
+		}
+		if(user == null)
+			throw new IllegalOperatorException("未查找到您输入账号的用户信息");
+		
+		UserInfo simpleUser = new UserInfo(user);	//将user重新封装为简单对象,只返回前台需要的用户信息
+		return simpleUser;
+	}
+	
+	@Override
+	public void bindUserToMyEnterprise(Long userUU) {
+		User user = userDao.findOne(userUU);
+		if(user == null)
+			throw new IllegalArgumentException("不存在的用户!");
+		
+		Set<Enterprise> enterprises = user.getEnterprises();
+		if(CollectionUtils.isEmpty(enterprises)) {
+			enterprises = new HashSet<Enterprise>();
+		}
+		enterprises.add(SystemSession.getUser().getEnterprise());
+		user.setEnterprises(enterprises);
+		userDao.save(user);
+	}
+	
 }