Kaynağa Gözat

UU互联添加人员的接口

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@7694 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
hejq 9 yıl önce
ebeveyn
işleme
63f2259243

+ 36 - 0
src/main/java/com/uas/platform/b2b/mobile/controller/AddUserController.java

@@ -0,0 +1,36 @@
+package com.uas.platform.b2b.mobile.controller;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+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.mobile.service.AddUserService;
+import com.uas.platform.b2b.model.User;
+import com.uas.platform.core.util.serializer.FlexJsonUtils;
+
+@Controller("mobile.AddUserController")
+@RequestMapping("/mobile/adduser")
+public class AddUserController {
+
+	@Autowired
+	private AddUserService userService;
+
+	/**
+	 * 手机端增加人员
+	 * 
+	 * @param formStore
+	 * @param dept
+	 * @param role
+	 * @param enuu
+	 * @return
+	 */
+	@RequestMapping(value = "/user", method = RequestMethod.POST)
+	@ResponseBody
+	private ModelMap addUser(String formStore, String dept, String role, Long enuu) {
+		User user = FlexJsonUtils.fromJson(formStore, User.class);
+		return userService.addUser(user, dept, role, enuu);
+	}
+}

+ 10 - 0
src/main/java/com/uas/platform/b2b/mobile/service/AddUserService.java

@@ -0,0 +1,10 @@
+package com.uas.platform.b2b.mobile.service;
+
+import org.springframework.ui.ModelMap;
+
+import com.uas.platform.b2b.model.User;
+
+public interface AddUserService {
+
+	public ModelMap addUser(User user, String dept, String role, Long enuu);
+}

+ 104 - 0
src/main/java/com/uas/platform/b2b/mobile/service/impl/AddUserServiceImpl.java

@@ -0,0 +1,104 @@
+package com.uas.platform.b2b.mobile.service.impl;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.ui.ModelMap;
+
+import com.uas.account.entity.UserDetail;
+import com.uas.account.util.AccountUtils;
+import com.uas.platform.b2b.dao.CommonDao;
+import com.uas.platform.b2b.dao.EnterpriseDao;
+import com.uas.platform.b2b.dao.UserDao;
+import com.uas.platform.b2b.dao.UserPositionDao;
+import com.uas.platform.b2b.mobile.service.AddUserService;
+import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.model.User;
+import com.uas.platform.b2b.model.UserPosition;
+import com.uas.platform.b2b.support.UsageBufferedLogger;
+import com.uas.platform.core.logging.BufferedLoggerManager;
+import com.uas.platform.core.util.encry.Md5Utils;
+
+@Service
+public class AddUserServiceImpl implements AddUserService {
+
+	static final String defaultPassword = "111111";
+
+	private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
+	@Autowired
+	private UserDao userDao;
+
+	@Autowired
+	private CommonDao commonDao;
+
+	@Autowired
+	private EnterpriseDao enterpriseDao;
+
+	@Autowired
+	private UserPositionDao userPositionDao;
+
+	@Override
+	public ModelMap addUser(User user, String dept, String role, Long enuu) {
+		ModelMap map = new ModelMap();
+		List<User> users = userDao.findUserByUserTel(user.getUserTel().trim());
+		if (users.size() > 0) {
+			map.put("error", "电话号码重复,建议输入您自己的手机号");
+		}
+		List<User> users2 = userDao.findUserByUserEmail(user.getUserEmail().trim());
+		if (users2.size() > 0) {
+			map.put("error", "邮箱地址重复,建议输入您自己的电子邮箱地址");
+		}
+		Long uu = commonDao.queryForObject("select users_seq.nextval from dual", Long.class);
+		user.setUserUU(uu);
+		Enterprise enter = enterpriseDao.findEnterpriseByUu(enuu);
+		user.addEnterprise(enter);
+		user = userDao.save(user);
+		user.setUserPwd(Md5Utils.encode(defaultPassword, user.getUserUU()));
+		try {
+			user = userDao.save(user);
+			postToAccountCenter(user, enuu, defaultPassword);
+			if (user.getUserUU() != null) {
+				UserPosition position = new UserPosition();
+				position.setDepartment(dept);
+				position.setEnuu(enuu);
+				position.setEnname(enter.getEnName());
+				position.setRole(role);
+				position.setUsername(user.getUserName());
+				position.setUseruu(user.getUserUU());
+				userPositionDao.save(position);
+				if (position.getId() != null) {
+					logger.log("uu互联添加人员", enter.getEnName() + "添加了" + user.getUserName());
+					map.put("success", true);
+				} else {
+					map.put("success", false);
+				}
+			} else {
+				map.put("success", false);
+			}
+		} catch (Exception e) {
+			userDao.delete(user);
+			map.put("success", false);
+		}
+		return map;
+	}
+
+	/**
+	 * 同步数据到账户中心
+	 * 
+	 * @param user
+	 * @param password
+	 * @throws Exception
+	 */
+	public void postToAccountCenter(User user, Long enuu, String password) throws Exception {
+		UserDetail detail = new UserDetail();
+		detail.setEmail(user.getUserEmail());
+		detail.setIdCode(user.getUserIdcode());
+		detail.setMobile(user.getUserTel());
+		detail.setName(user.getUserName());
+		detail.setSex(user.getUserSex());
+		AccountUtils.addUser(user.getUserUU(), enuu, detail, password);
+	}
+
+}