|
|
@@ -1,15 +1,24 @@
|
|
|
package com.uas.sso.service.impl;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.uas.sso.common.util.HttpUtil;
|
|
|
+import com.uas.sso.core.ICallable;
|
|
|
import com.uas.sso.core.Status;
|
|
|
import com.uas.sso.dao.UserspaceDao;
|
|
|
+import com.uas.sso.entity.App;
|
|
|
import com.uas.sso.entity.User;
|
|
|
+import com.uas.sso.entity.UserSpaceView;
|
|
|
import com.uas.sso.entity.Userspace;
|
|
|
import com.uas.sso.exception.VisibleError;
|
|
|
+import com.uas.sso.logging.LoggerManager;
|
|
|
+import com.uas.sso.logging.SyncBufferedLogger;
|
|
|
+import com.uas.sso.service.AppService;
|
|
|
import com.uas.sso.service.UserService;
|
|
|
import com.uas.sso.service.UserspaceService;
|
|
|
import com.uas.sso.service.UserspaceValidService;
|
|
|
-import com.uas.sso.util.BeanUtil;
|
|
|
import com.uas.sso.util.ChineseUtils;
|
|
|
+import com.uas.sso.util.ExecuteUtils;
|
|
|
import com.uas.sso.util.StringUtil;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -33,16 +42,21 @@ public class UserspaceServiceImpl implements UserspaceService {
|
|
|
@Autowired
|
|
|
private UserService userService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private AppService appService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private UserspaceValidService userspaceValidService;
|
|
|
|
|
|
+ SyncBufferedLogger syncLog = LoggerManager.getLogger(SyncBufferedLogger.class);
|
|
|
+
|
|
|
/**
|
|
|
* 企业初始uu号
|
|
|
*/
|
|
|
public static final Long SPACE_INIT_UU = 10000000L;
|
|
|
|
|
|
@Override
|
|
|
- public void register(Userspace userspace, User admin) {
|
|
|
+ public Userspace register(Userspace userspace, User admin) {
|
|
|
// 校验企业名是否重复
|
|
|
checkSpaceName(userspace.getSpaceName());
|
|
|
|
|
|
@@ -76,9 +90,39 @@ public class UserspaceServiceImpl implements UserspaceService {
|
|
|
userspace.setValidCode((short) Status.TO_BE_CERTIFIED.getCode());
|
|
|
|
|
|
// 注册企业
|
|
|
- userspaceDao.save(userspace);
|
|
|
+ userspace = userspaceDao.save(userspace);
|
|
|
|
|
|
// TODO 开通应用
|
|
|
+ syncUserSpaceInfo(userspace.toView(), "企业注册");
|
|
|
+ return userspace;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void syncUserSpaceInfo(final UserSpaceView userSpaceView, final String msg) {
|
|
|
+ List<String> apps = appService.findUid();
|
|
|
+
|
|
|
+ ExecuteUtils.execute(new ICallable<Void, String>() {
|
|
|
+ @Override
|
|
|
+ public Void call(String appId) throws Exception {
|
|
|
+ App tempApp = appService.findOne(appId);
|
|
|
+ if (tempApp != null && StringUtils.isEmpty(tempApp.getUserControl())
|
|
|
+ && !StringUtils.isEmpty(tempApp.getBackSpaceUrl())) {
|
|
|
+ String url = tempApp.getBackUserUrl();
|
|
|
+ JSONObject formData = JSON.parseObject(JSON.toJSONString(userSpaceView));
|
|
|
+ HttpUtil.ResponseWrap res = null;
|
|
|
+ try {
|
|
|
+ res = HttpUtil.doPost(url, formData, 30000);
|
|
|
+ if (!res.isSuccess()) {
|
|
|
+ syncLog.error(appId, msg + ",同步企业信息成功", JSON.toJSONString(userSpaceView), res.getContent());
|
|
|
+ } else {
|
|
|
+ syncLog.info(appId, msg + ",同步企业信息成功", JSON.toJSONString(userSpaceView));
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ syncLog.error(appId, msg + ",同步企业信息失败", JSON.toJSONString(userSpaceView), e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }, apps);
|
|
|
}
|
|
|
|
|
|
/**
|