|
|
@@ -159,16 +159,18 @@ public class ADSyncServiceImpl implements ADSyncService {
|
|
|
String field;
|
|
|
try {
|
|
|
Attributes attributes = this.dc.getAttributes(name);
|
|
|
- StringBuilder sb = new StringBuilder();
|
|
|
- sb.append("同步日志:AD域用户【").append(this.sAMAccountName).append("】同步,");
|
|
|
+ StringBuilder logStr = new StringBuilder();
|
|
|
+ logStr.append("同步日志:AD域用户【").append(this.sAMAccountName).append("】同步,");
|
|
|
|
|
|
// 修改点:添加来源标识
|
|
|
if (name.contains("OU=Alumni")) {
|
|
|
- sb.append("(来自Alumni路径) ");
|
|
|
+ logStr.append("(来自Alumni路径) ");
|
|
|
} else {
|
|
|
- sb.append("(来自常规路径) ");
|
|
|
+ logStr.append("(来自常规路径) ");
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
String[] filedArr = fileds;
|
|
|
int arrlen = filedArr.length;
|
|
|
boolean isContinue = false;
|
|
|
@@ -199,11 +201,11 @@ public class ADSyncServiceImpl implements ADSyncService {
|
|
|
String titleVal = dataMap.get("extensionAttribute15") == null ? "" : (String)dataMap.get("extensionAttribute15");
|
|
|
if (null == att15 || StringUtil.isEmpty((String) att15.get())) {
|
|
|
msg = this.addInformation(name, "extensionAttribute15", titleVal, managerName);
|
|
|
- sb.append(msg);
|
|
|
+ logStr.append(msg);
|
|
|
} else {
|
|
|
this.modifyInformation(name, "extensionAttribute15", titleVal, managerName);
|
|
|
msg = "更新extensionAttribute15属性成功!";
|
|
|
- sb.append(msg);
|
|
|
+ logStr.append(msg);
|
|
|
}
|
|
|
|
|
|
//Division 兼职所属部门同步到AD的Division属性
|
|
|
@@ -211,11 +213,11 @@ public class ADSyncServiceImpl implements ADSyncService {
|
|
|
String departmentVal = (String) dataMap.get("Division");
|
|
|
if (null == divisionAtt || StringUtil.isEmpty((String) divisionAtt.get())) {
|
|
|
msg = addInformation(name, "Division", departmentVal, managerName);
|
|
|
- sb.append(msg);
|
|
|
+ logStr.append(msg);
|
|
|
} else {
|
|
|
this.modifyInformation(name, "Division", departmentVal, managerName);
|
|
|
msg = "更新Division属性成功!";
|
|
|
- sb.append(msg);
|
|
|
+ logStr.append(msg);
|
|
|
}
|
|
|
|
|
|
//将用户的manager属性更新到新的AD属性 extensionAttribute14
|
|
|
@@ -223,11 +225,11 @@ public class ADSyncServiceImpl implements ADSyncService {
|
|
|
String extensionAttribute14Str = (String) dataMap.get("extensionAttribute14");
|
|
|
if (null == extensionAttribute14 || StringUtil.isEmpty((String) extensionAttribute14.get())) {
|
|
|
msg = addInformation(name, "extensionAttribute14", extensionAttribute14Str, managerName);
|
|
|
- sb.append(msg);
|
|
|
+ logStr.append(msg);
|
|
|
} else {
|
|
|
this.modifyInformation(name, "extensionAttribute14", extensionAttribute14Str, managerName);
|
|
|
msg = "更新extensionAttribute14属性成功!";
|
|
|
- sb.append(msg);
|
|
|
+ logStr.append(msg);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -258,11 +260,11 @@ public class ADSyncServiceImpl implements ADSyncService {
|
|
|
try {
|
|
|
this.modifyInformation(name, field, shr_value, managerName);
|
|
|
msg = "更新" + field + "属性成功!";
|
|
|
- sb.append(msg);
|
|
|
+ logStr.append(msg);
|
|
|
} catch (NamingException var33) {
|
|
|
message = var33.getMessage();
|
|
|
- msg = "更新" + field + "属性失败,原因:" + message + ";";
|
|
|
- sb.append(msg);
|
|
|
+ msg = "更新" + field + "属性失败,值为:"+shr_value+"原因:" + message + ";";
|
|
|
+ logStr.append(msg);
|
|
|
}
|
|
|
}
|
|
|
} else if (StringUtil.isEmpty(shr_value) && StringUtil.isNotEmpty(ad_value)) {
|
|
|
@@ -273,7 +275,7 @@ public class ADSyncServiceImpl implements ADSyncService {
|
|
|
|
|
|
this.removeInformation(name, field, shr_value, managerName);
|
|
|
msg = "删除" + field + "属性成功!";
|
|
|
- sb.append(msg);
|
|
|
+ logStr.append(msg);
|
|
|
} catch (NamingException var37) {
|
|
|
message = var37.getMessage();
|
|
|
msg = "删除" + field + "属性失败,原因:" + message + ";";
|
|
|
@@ -282,12 +284,12 @@ public class ADSyncServiceImpl implements ADSyncService {
|
|
|
} else if (StringUtil.isNotEmpty(shr_value) && StringUtil.isEmpty(ad_value)) {
|
|
|
try {
|
|
|
msg = addInformation(name, field, shr_value, managerName);
|
|
|
- sb.append(msg);
|
|
|
+ logStr.append(msg);
|
|
|
} catch (NamingException var32) {
|
|
|
// 修复bug:当addInformation失败时,不应该再调用modifyInformation
|
|
|
// 因为modifyInformation需要属性已存在,而这里属性不存在
|
|
|
message = var32.getMessage();
|
|
|
- msg = "新增" + field + "属性失败,原因:" + message + ";";
|
|
|
+ msg = "新增" + field + "属性失败,值为:"+shr_value+"原因:" + message + ";";
|
|
|
sb.append(msg);
|
|
|
}
|
|
|
}
|
|
|
@@ -300,7 +302,7 @@ public class ADSyncServiceImpl implements ADSyncService {
|
|
|
if (!"544".equals(currentUAC)) {
|
|
|
this.modifyInformation(name, "userAccountControl", "544", managerName);
|
|
|
msg = "更新userAccountControl属性成功!";
|
|
|
- sb.append(msg);
|
|
|
+ logStr.append(msg);
|
|
|
userAccountControlUpdated = true;
|
|
|
}
|
|
|
} catch (NamingException var31) {
|
|
|
@@ -311,9 +313,9 @@ public class ADSyncServiceImpl implements ADSyncService {
|
|
|
|
|
|
info = sb.toString();
|
|
|
if (info.endsWith("同步,")) {
|
|
|
- sb.append("数据一致!不用进行更新。");
|
|
|
+ logStr.append("数据一致!不用进行更新。");
|
|
|
}
|
|
|
-
|
|
|
+ logger.info(logStr.toString());
|
|
|
this.insertLog(sb.toString(), "是", type);
|
|
|
} catch (NamingException var39) {
|
|
|
try {
|
|
|
@@ -326,16 +328,16 @@ public class ADSyncServiceImpl implements ADSyncService {
|
|
|
// attrs.put("cn", dataMap.get("sAMAccountName")); // Common Name是必须的
|
|
|
|
|
|
this.dc.createSubcontext(name, attrs);
|
|
|
- StringBuilder sb = new StringBuilder();
|
|
|
- sb.append("同步日志:AD域用户【").append(this.sAMAccountName).append("】新增成功!");
|
|
|
+ StringBuilder logStr = new StringBuilder();
|
|
|
+ logStr.append("同步日志:AD域用户【").append(this.sAMAccountName).append("】新增成功!");
|
|
|
|
|
|
// 修改点:新增用户时也标识来源
|
|
|
if (name.contains("OU=Alumni")) {
|
|
|
- sb.append("(新增到Alumni路径) ");
|
|
|
+ logStr.append("(新增到Alumni路径) ");
|
|
|
} else {
|
|
|
- sb.append("(新增到常规路径) ");
|
|
|
+ logStr.append("(新增到常规路径) ");
|
|
|
}
|
|
|
-
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
String[] filedArr = fileds;
|
|
|
int arrlen = filedArr.length;
|
|
|
|
|
|
@@ -351,6 +353,7 @@ public class ADSyncServiceImpl implements ADSyncService {
|
|
|
managerName = this.searchUserInAllPaths(this.dc, managerAccount);
|
|
|
if (StringUtil.isNotEmpty(managerName)) {
|
|
|
msg = addInformation(name, filed, shr_value, managerName);
|
|
|
+ logStr.append(msg);
|
|
|
} else {
|
|
|
msg = "AD域中未找到manager账户: " + managerAccount;
|
|
|
}
|
|
|
@@ -359,13 +362,14 @@ public class ADSyncServiceImpl implements ADSyncService {
|
|
|
}
|
|
|
} else {
|
|
|
msg = addInformation(name, filed, shr_value, managerName);
|
|
|
+ logStr.append(msg);
|
|
|
}
|
|
|
if (msg != null) {
|
|
|
sb.append(msg);
|
|
|
}
|
|
|
} catch (NamingException var30) {
|
|
|
msg = var30.getMessage();
|
|
|
- message = "添加" + filed + "属性失败,原因:" + msg + ";";
|
|
|
+ message = "添加" + filed + "属性失败,值为:"+shr_value+"原因:" + msg + ";";
|
|
|
sb.append(message);
|
|
|
}
|
|
|
}
|
|
|
@@ -375,13 +379,13 @@ public class ADSyncServiceImpl implements ADSyncService {
|
|
|
try {
|
|
|
this.modifyInformation(name, "userAccountControl", "544", managerName);
|
|
|
msg = "添加userAccountControl属性成功!";
|
|
|
- sb.append(msg);
|
|
|
+ logStr.append(msg);
|
|
|
} catch (NamingException var29) {
|
|
|
message = var29.getMessage();
|
|
|
field = "添加userAccountControl属性失败,原因:" + message + ";";
|
|
|
sb.append(field);
|
|
|
}
|
|
|
-
|
|
|
+ logger.info(logStr.toString());
|
|
|
this.insertLog(sb.toString(), "是", type);
|
|
|
} catch (Exception var36) {
|
|
|
info = var36.getMessage();
|
|
|
@@ -568,7 +572,7 @@ public class ADSyncServiceImpl implements ADSyncService {
|
|
|
this.dc.modifyAttributes(name, 2, basicAttributes);
|
|
|
return "更新" + field + "属性成功!";
|
|
|
} catch (NamingException e2) {
|
|
|
- logger.error("添加属性 {} 失败: {}", field, e2.getMessage());
|
|
|
+ logger.error("添加属性 {} 失败:{} {}", field, fieldValue,e2.getMessage());
|
|
|
throw e2;
|
|
|
}
|
|
|
}
|