Browse Source

接口注册增加人员信息同步到账户中心的方法,增加企业信息同步到管理平台的方法

hejq 8 years ago
parent
commit
ba726b6ca6

+ 9 - 1
src/main/java/com/uas/platform/b2b/service/UserService.java

@@ -329,9 +329,17 @@ public interface UserService {
 	/**
 	 * 分页查询用户信息
 	 *
-	 * @param params
+	 * @param pageInfo
 	 * @param keyword
 	 * @return
 	 */
 	SPage<User> findByPageInfo(PageInfo pageInfo, String keyword);
+
+	/**
+	 * 同步用户信息到账户中心
+	 *
+	 * @param user
+	 * @throws Exception
+	 */
+	void postToAccountCenter(User user) throws Exception ;
 }

+ 40 - 5
src/main/java/com/uas/platform/b2b/service/impl/EnterpriseServiceImpl.java

@@ -14,8 +14,14 @@ import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 import javax.servlet.http.HttpServletRequest;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.uas.account.entity.UserDetail;
+import com.uas.account.entity.UserSpace;
 import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.support.*;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.jpa.domain.Specification;
@@ -30,9 +36,6 @@ import com.uas.account.util.AccountUtils;
 import com.uas.platform.b2b.core.util.SearchKeyUtils;
 import com.uas.platform.b2b.service.EnterpriseService;
 import com.uas.platform.b2b.service.UserService;
-import com.uas.platform.b2b.support.SendMailService;
-import com.uas.platform.b2b.support.SysConf;
-import com.uas.platform.b2b.support.TokenService;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.exception.SystemException;
 import com.uas.platform.core.model.Constant;
@@ -79,6 +82,8 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 
 	static final String ENUU_REGEXP = "^\\d{6,}$";
 
+	private final static CommBufferedLogger logger = BufferedLoggerManager.getLogger(CommBufferedLogger.class);
+
 	/**
 	 * 不可用的优企云服域名
 	 */
@@ -477,7 +482,7 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 	/**
 	 * 通过邮箱查询企业
 	 * 
-	 * @param enMail
+	 * @param enEmail
 	 * @return
 	 */
 	@Override
@@ -515,6 +520,8 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 			throw new IllegalArgumentException();
 		try {
 			postToAccountCenter(enterprise);
+			syncToManager(enterprise);
+
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw new SystemException("账户中心更新失败:" + e.getMessage());
@@ -542,6 +549,28 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 		AccountUtils.saveUserSpace(enterprise.getUu(), detail);
 	}
 
+	private void syncToManager(Enterprise enterprise) throws Exception {
+		UserSpace userSpace = new UserSpace();
+		userSpace.setAppId("b2b");
+		userSpace.setDialectUID(String.valueOf(enterprise.getUu()));
+		userSpace.setName(enterprise.getEnName());
+		userSpace.setUid(enterprise.getEnBussinessCode());
+		UserSpaceDetail userSpaceDetail = new UserSpaceDetail();
+		userSpaceDetail.setAddress(enterprise.getEnAddress());
+		userSpaceDetail.setBusinessCode(enterprise.getEnBussinessCode());
+		userSpaceDetail.setName(enterprise.getEnName());
+		JSONObject formData = JSON.parseObject(JSON.toJSONString(userSpace));
+		formData.putAll(JSON.parseObject(JSON.toJSONString(userSpaceDetail)));
+		com.uas.sso.common.util.HttpUtil.ResponseWrap res = com.uas.sso.common.util.HttpUtil.doPost(sysConf.getManageInner() + "/public/enterprise", formData);
+		Long enUU = enterprise.getUu();
+		if (!res.isSuccess()) {
+			logger.log("一键注册", "error", "同步企业数据到管理平台失败",enUU != null ? enUU : 0L);
+			throw new Exception(res.getContent());
+		} else {
+			logger.log("一键注册", "success", "同步企业数据到管理平台成功", enUU != null ? enUU : 0L);
+		}
+	}
+
 	@Override
 	public Enterprise applySaas(Long enUU, String enSaasUrl, String enAdminPassword) {
 		Enterprise enterprise = enterpriseDao.findOne(enUU);
@@ -674,7 +703,13 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 				enterprise.setEnAdminPassword("111111");
 			}
 			newUser.setUserPwd(Md5Utils.encode(enterprise.getEnAdminPassword(), newUser.getUserUU()));
-			userDao.save(newUser);
+			user = userDao.save(newUser);
+			try {
+				userService.postToAccountCenter(user);
+				logger.log("接口注册", "success", "一键注册用户同步到账户中心", user.getUserUU());
+			} catch (Exception e) {
+				logger.log("接口注册", "faliure", "一键注册用户同步到账户中心", user.getUserUU());
+			}
 		}
 		newEnterprise.setEnAdminuu(newUser.getUserUU());// 设置管理员UU号
 		newEnterprise.setEnIsErp(Constant.YES);

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

@@ -360,6 +360,7 @@ public class UserServiceImpl implements UserService {
 		}
 	}
 
+	@Override
 	public void postToAccountCenter(User user) throws Exception {
 		UserDetail detail = new UserDetail();
 		detail.setEmail(user.getUserEmail());