|
|
@@ -40,23 +40,17 @@ public class SyncThreadPool {
|
|
|
this.syncLogDao = syncLogDao;
|
|
|
}
|
|
|
|
|
|
- public void transferDataToOtherPlatforms(String type, List<App> appList, JSONObject data, String message) {
|
|
|
+ public void transferDataToOtherPlatforms(BackInfoType type, List<App> appList, JSONObject data, String message) {
|
|
|
+ boolean isBackUser = false;
|
|
|
|
|
|
List<String> urls = new ArrayList<>();
|
|
|
- if ("BackUser".equals(type)) {
|
|
|
- urls = getBackUrl(appList, new BackAppUrl() {
|
|
|
- @Override
|
|
|
- public String getUrl(App app) {
|
|
|
- return app.getBackUserUrl();
|
|
|
- }
|
|
|
- });
|
|
|
- } else if ("BackChangeAdmin".equals(type)) {
|
|
|
- urls = getBackUrl(appList, new BackAppUrl() {
|
|
|
- @Override
|
|
|
- public String getUrl(App app) {
|
|
|
- return app.getBackSpaceUrl();
|
|
|
- }
|
|
|
- });
|
|
|
+ if (BackInfoType.BACK_USER_INFO.equals(type)) {
|
|
|
+ isBackUser = true;
|
|
|
+ urls = getBackUrl(appList, BACK_USER_URL);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (BackInfoType.BACK_SPACE_INFO.equals(type)) {
|
|
|
+ urls = getBackUrl(appList, BACK_SPACE_URL);
|
|
|
|
|
|
User admin = data.getObject("admin", User.class);
|
|
|
data.remove("admin");
|
|
|
@@ -68,36 +62,79 @@ public class SyncThreadPool {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ final boolean flag = isBackUser;
|
|
|
for (String backUrl : urls) {
|
|
|
executorService.execute(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
+ JSONObject params = data;
|
|
|
+
|
|
|
String[] split = backUrl.split("_");
|
|
|
String appId = split[0];
|
|
|
try {
|
|
|
String url = split[1];
|
|
|
- logger.info(String.format("Back Url: %s", url));
|
|
|
+ logger.info(String.format("Back %s Info: %s", appId, url));
|
|
|
+
|
|
|
+ if (flag && "im".equals(appId)) {
|
|
|
+ params = new JSONObject();
|
|
|
+ params.put("email", data.getString("email"));
|
|
|
+ params.put("idCard", data.getString("idCard"));
|
|
|
+ params.put("name", data.getString("vipName"));
|
|
|
+ params.put("sex", data.getString("sex"));
|
|
|
+ params.put("mobile", data.getString("mobile"));
|
|
|
+ params.put("password", data.get("newPass"));
|
|
|
+ params.put("dialectUID", data.getString("idCard"));
|
|
|
+ }
|
|
|
|
|
|
- HttpUtil.ResponseWrap res = HttpUtil.doPost(url, data, 30000);
|
|
|
+ HttpUtil.ResponseWrap res = HttpUtil.doPost(url, params, 30000);
|
|
|
if (!res.isSuccess()) {
|
|
|
- logError(appId, message + ", 同步信息失败", JSON.toJSONString(data), res.getContent());
|
|
|
+ logError(appId, message + ", 同步信息失败", JSON.toJSONString(params), res.getContent());
|
|
|
logger.error(String.format("%s:同步信息失败, %s, %s, %s", message, appId,
|
|
|
- JSON.toJSONString(data), res.getContent()));
|
|
|
+ JSON.toJSONString(params), res.getContent()));
|
|
|
} else {
|
|
|
- logInfo(appId, message + ", 同步信息成功", JSON.toJSONString(data));
|
|
|
+ if (flag && "im".equals(appId)) {
|
|
|
+ logger.info(String.format("IMID: %s", res.getContent()));
|
|
|
+ }
|
|
|
+ logInfo(appId, message + ", 同步信息成功", JSON.toJSONString(params));
|
|
|
logger.info(String.format("%s:同步信息成功, %s, %s", message, appId,
|
|
|
- JSON.toJSONString(data)));
|
|
|
+ JSON.toJSONString(params)));
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
- logError(appId, message + ", 同步信息失败", JSON.toJSONString(data), e.getMessage());
|
|
|
+ logError(appId, message + ", 同步信息失败", JSON.toJSONString(params), e.getMessage());
|
|
|
logger.error(String.format("%s:同步信息失败, %s, %s, %s", message, appId,
|
|
|
- JSON.toJSONString(data), e.getMessage()));
|
|
|
+ JSON.toJSONString(params), e.getMessage()));
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public enum BackInfoType {
|
|
|
+ /**
|
|
|
+ * 同步用户信息
|
|
|
+ */
|
|
|
+ BACK_USER_INFO,
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 同步企业信息
|
|
|
+ */
|
|
|
+ BACK_SPACE_INFO
|
|
|
+ }
|
|
|
+
|
|
|
+ private final BackAppUrl BACK_USER_URL = new BackAppUrl() {
|
|
|
+ @Override
|
|
|
+ public String getUrl(App app) {
|
|
|
+ return app.getBackUserUrl();
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ private final BackAppUrl BACK_SPACE_URL = new BackAppUrl() {
|
|
|
+ @Override
|
|
|
+ public String getUrl(App app) {
|
|
|
+ return app.getBackSpaceUrl();
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
private void logError(String appId, String message, String data, String errorMessage) {
|
|
|
SyncLog log = new SyncLog(appId, message, data, "ERROR", errorMessage);
|
|
|
syncLogDao.save(log);
|
|
|
@@ -111,7 +148,7 @@ public class SyncThreadPool {
|
|
|
private List<String> getBackUrl(List<App> appList, BackAppUrl backAppUrl) {
|
|
|
List<String> urls = new ArrayList<>();
|
|
|
|
|
|
- if (CollectionUtils.isEmpty(appList)) {
|
|
|
+ if (CollectionUtils.isEmpty(appList) || backAppUrl == null) {
|
|
|
appList = Collections.emptyList();
|
|
|
}
|
|
|
|