yuanzhi_kuang 3 týždňov pred
rodič
commit
6d4dc761cd

+ 32 - 28
src/main/java/com/gtiit/shr/service/impl/ADSyncServiceImpl.java

@@ -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;
                 }
             }