Browse Source

切换账户中心

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

+ 32 - 0
src/main/java/com/uas/platform/b2b/v2/controller/EnterpriseController.java

@@ -1,5 +1,37 @@
 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.account.entity.UserSpace;
+import com.uas.account.entity.UserSpaceDetail;
+import com.uas.platform.b2b.v2.service.EnterpriseService;
+
+@Controller("v2.EnterpriseController")
+@RequestMapping(value = "/public/enterprise")
 public class EnterpriseController {
 
+	@Autowired
+	private EnterpriseService enterpriseService;
+
+	@RequestMapping(method = RequestMethod.POST)
+	@ResponseBody
+	public UserSpace save(UserSpace userSpace, UserSpaceDetail detail) {
+		if (userSpace != null && detail != null) {
+			return enterpriseService.save(userSpace, detail);
+		}
+		return null;
+	}
+
+	@RequestMapping(method = RequestMethod.DELETE)
+	@ResponseBody
+	public void remove(UserSpace userSpace) {
+		if (userSpace != null) {
+			enterpriseService.delete(userSpace);
+		}
+	}
+
 }

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

@@ -1,5 +1,37 @@
 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.account.entity.User;
+import com.uas.account.entity.UserDetail;
+import com.uas.platform.b2b.v2.service.UserService;
+
+@Controller("v2.UserController")
+@RequestMapping(value = "/public/user")
 public class UserController {
 
+	@Autowired
+	private UserService userService;
+
+	@RequestMapping(method = RequestMethod.POST)
+	@ResponseBody
+	public User save(User user, UserDetail detail) {
+		if (user != null && detail != null) {
+			return userService.save(user, detail);
+		}
+		return null;
+	}
+
+	@RequestMapping(method = RequestMethod.DELETE)
+	@ResponseBody
+	public void remove(User user) {
+		if (user != null) {
+			userService.delete(user);
+		}
+	}
+
 }

+ 7 - 0
src/main/java/com/uas/platform/b2b/v2/service/EnterpriseService.java

@@ -1,5 +1,12 @@
 package com.uas.platform.b2b.v2.service;
 
+import com.uas.account.entity.UserSpace;
+import com.uas.account.entity.UserSpaceDetail;
+
 public interface EnterpriseService {
 
+	UserSpace save(UserSpace userSpace, UserSpaceDetail detail);
+
+	void delete(UserSpace userSpace);
+
 }

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

@@ -1,5 +1,12 @@
 package com.uas.platform.b2b.v2.service;
 
+import com.uas.account.entity.User;
+import com.uas.account.entity.UserDetail;
+
 public interface UserService {
 
+	User save(User user, UserDetail detail);
+
+	void delete(User user);
+
 }

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

@@ -1,7 +1,77 @@
 package com.uas.platform.b2b.v2.service.impl;
 
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+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.UserDao;
+import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.model.User;
 import com.uas.platform.b2b.v2.service.EnterpriseService;
+import com.uas.platform.core.model.Status;
 
+@Service("v2.EnterpriseService")
 public class EnterpriseServiceImpl implements EnterpriseService {
 
+	@Autowired
+	private EnterpriseDao enterpriseDao;
+	@Autowired
+	private UserDao userDao;
+
+	@Override
+	public UserSpace save(UserSpace userSpace, UserSpaceDetail detail) {
+		Enterprise enterprise = getEnterprise(userSpace);
+		if (enterprise == null) {
+			enterprise = new Enterprise();
+			enterprise.setEnStatus((short) Status.ENABLED.value());
+		}
+
+		enterprise.setEnAddress(detail.getAddress());
+		enterprise.setEnAdminEmail(detail.getAdminEmail());
+		enterprise.setEnAdminName(detail.getAdminName());
+		enterprise.setEnAdminTel(detail.getAdminTel());
+		enterprise.setEnArea(detail.getArea());
+		enterprise.setEnBussinessCode(detail.getBusinessCode());
+		enterprise.setEnCorporation(detail.getCorporation());
+		enterprise.setEnDate(detail.getRegisterDate());
+		enterprise.setEnEmail(detail.getAdminEmail());
+		enterprise.setEnFax(detail.getFax());
+		enterprise.setEnIndustry(detail.getIndustry());
+		enterprise.setEnName(detail.getName());
+		enterprise.setEnShortname(detail.getShortName());
+		enterprise.setEnTel(detail.getAdminTel());
+		enterprise.setEnType(detail.getType());
+		enterprise.setEnUrl(detail.getUrl());
+
+		enterpriseDao.save(enterprise);
+		userSpace.setDialectUID(String.valueOf(enterprise.getUu()));
+
+		return userSpace;
+	}
+
+	private Enterprise getEnterprise(UserSpace userSpace) {
+		Enterprise enterprise = null;
+		if (userSpace.getDialectUID() != null)
+			enterprise = enterpriseDao.findEnterpriseByUu(Long.parseLong(userSpace.getDialectUID()));
+		else if (userSpace.getUid() != null)
+			enterprise = enterpriseDao.findEnterpriseByEnBussinessCode(userSpace.getUid());
+		return enterprise;
+	}
+
+	@Override
+	public void delete(UserSpace userSpace) {
+		Enterprise enterprise = getEnterprise(userSpace);
+		if (enterprise != null) {
+			List<User> users = userDao.findByEnUU(enterprise.getUu());
+			if (CollectionUtils.isEmpty(users)) {
+				enterpriseDao.delete(enterprise);
+			}
+		}
+	}
+
 }

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

@@ -1,7 +1,84 @@
 package com.uas.platform.b2b.v2.service.impl;
 
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import com.uas.account.entity.User;
+import com.uas.account.entity.UserDetail;
+import com.uas.platform.b2b.dao.EnterpriseDao;
+import com.uas.platform.b2b.dao.UserDao;
+import com.uas.platform.b2b.model.Enterprise;
 import com.uas.platform.b2b.v2.service.UserService;
+import com.uas.platform.core.model.Constant;
 
+@Service("v2.UserService")
 public class UserServiceImpl implements UserService {
 
+	@Autowired
+	private UserDao userDao;
+	@Autowired
+	private EnterpriseDao enterpriseDao;
+
+	@Override
+	public User save(User user, UserDetail detail) {
+		com.uas.platform.b2b.model.User oldUser = getUser(user);
+		if (oldUser == null) {
+			oldUser = new com.uas.platform.b2b.model.User();
+			oldUser.setEnable(Constant.YES);
+		}
+		oldUser.setUserEmail(detail.getEmail());
+		oldUser.setUserIdcode(detail.getIdCode());
+		oldUser.setUserName(detail.getName());
+		oldUser.setUserPwd(user.getPassword());// 传过来的是密文
+		oldUser.setUserSex(detail.getSex());
+		oldUser.setUserTel(detail.getMobile());
+
+		Enterprise enterprise = getEnterprise(user);
+		if (enterprise != null) {
+			oldUser.addEnterprise(enterprise);
+		}
+
+		oldUser = userDao.save(oldUser);
+		user.setDialectUID(String.valueOf(oldUser.getUserUU()));
+
+		return user;
+	}
+
+	private com.uas.platform.b2b.model.User getUser(User user) {
+		com.uas.platform.b2b.model.User oldUser = null;
+		if (user.getDialectUID() != null)
+			oldUser = userDao.findOne(Long.parseLong(user.getDialectUID()));
+		else if (user.getUid() != null) {
+			List<com.uas.platform.b2b.model.User> users = userDao.findUserByUserTel(user.getUid());
+			oldUser = CollectionUtils.isEmpty(users) ? null : users.get(0);
+		}
+		return oldUser;
+	}
+
+	private Enterprise getEnterprise(User user) {
+		Enterprise enterprise = null;
+		if (user.getSpaceDialectUID() != null)
+			enterprise = enterpriseDao.findEnterpriseByUu(Long.parseLong(user.getSpaceDialectUID()));
+		else if (user.getSpaceUID() != null)
+			enterprise = enterpriseDao.findEnterpriseByEnBussinessCode(user.getSpaceUID());
+		return enterprise;
+	}
+
+	@Override
+	public void delete(User user) {
+		com.uas.platform.b2b.model.User oldUser = getUser(user);
+		if (oldUser != null) {
+			Enterprise enterprise = getEnterprise(user);
+			if (enterprise != null) {
+				oldUser.getEnterprises().remove(enterprise);
+				userDao.save(oldUser);
+			} else if (CollectionUtils.isEmpty(oldUser.getEnterprises())) {
+				userDao.delete(oldUser);
+			}
+		}
+	}
+
 }