liupeng 4 years ago
parent
commit
d4ae9e22b4

+ 8 - 2
code/sapparent/sapservice/src/main/java/org/fouram/service/SapUserService.java

@@ -185,7 +185,10 @@ public class SapUserService extends BaseService {
 				sb.append(user.getFullOrgName()).append(";");
 			}
 		}
-		return sb.substring(0, sb.length() - 1);
+		if(sb.length() > 0) {
+			return sb.substring(0, sb.length() - 1);
+		}
+		return "";
 	}
 
 	/**
@@ -202,7 +205,10 @@ public class SapUserService extends BaseService {
 				sb.append(user.getFormatPosition()).append("、");
 			}
 		}
-		return sb.substring(0, sb.length() - 1);
+		if(sb.length() > 0) {
+			return sb.substring(0, sb.length() - 1);
+		}
+		return "";
 	}
 
 	public void saveSapUser(SapUser entity) throws Exception {

+ 25 - 24
code/sapparent/sapservice/src/main/java/org/fouram/service/SyncSapUserToWxService.java

@@ -25,20 +25,16 @@ public class SyncSapUserToWxService extends BaseService {
 
 	public SyncWeixinUserOutput syncWeixinUser() throws Exception {
 		if (WebConstants.CACHE.containsKey(WebConstants.CACHE_SYNC_SAP)) {
-			return SyncWeixinUserOutput.builder().state("同步中")
-					.time(WebConstants.CACHE.get(WebConstants.CACHE_SYNC_SAP)).build();
+			return SyncWeixinUserOutput.builder().state("同步中").time(WebConstants.CACHE.get(WebConstants.CACHE_SYNC_SAP))
+					.build();
 		}
 		ExecutorService threadPool = Executors.newSingleThreadExecutor();
 		threadPool.execute(new Runnable() {
 			@Override
 			public void run() {
-				try {
-					LoggerUtil.info("同步SAP执行开始:" + DateUtil.getTime());
-					taskBiz();
-					LoggerUtil.info("同步SAP执行开始:" + DateUtil.getTime());
-				} catch (Exception e) {
-					LoggerUtil.error(e);
-				}
+				LoggerUtil.info("同步SAP执行开始:" + DateUtil.getTime());
+				taskBiz();
+				LoggerUtil.info("同步SAP执行开始:" + DateUtil.getTime());
 			}
 		});
 		threadPool.shutdown();// 任务执行完毕,关闭线程池
@@ -46,20 +42,25 @@ public class SyncSapUserToWxService extends BaseService {
 	}
 
 	@Transactional
-	public void taskBiz() throws Exception {
-		WebConstants.CACHE.put(WebConstants.CACHE_SYNC_SAP, DateUtil.getTime());
-		wxDepartService.saveWxDeparts();
-		wxUserService.saveWxUsers();
-		// 更新所有数据无效
-		sapUserService.updateAllDelFlag(DelFlagEnum.UNABLE.getCode());
-		// 保存SAP用户数据
-		sapUserService.saveOrUpdateSapUsers();
-		// 更新异常情况,敏感数据、入职等
-		sapUserService.updateAbnormalResult();
-		// 更新用户头像
-		sapUserService.updateAvatars();
-		// NORMAL数据更新同步企业微信
-		sapUserService.updateAllNormalSyncWxResult();
-		WebConstants.CACHE.remove(WebConstants.CACHE_SYNC_SAP);
+	public void taskBiz() {
+		try {
+			WebConstants.CACHE.put(WebConstants.CACHE_SYNC_SAP, DateUtil.getTime());
+			wxDepartService.saveWxDeparts();
+			wxUserService.saveWxUsers();
+			// 更新所有数据无效
+			sapUserService.updateAllDelFlag(DelFlagEnum.UNABLE.getCode());
+			// 保存SAP用户数据
+			sapUserService.saveOrUpdateSapUsers();
+			// 更新异常情况,敏感数据、入职等
+			sapUserService.updateAbnormalResult();
+			// 更新用户头像
+			sapUserService.updateAvatars();
+			// NORMAL数据更新同步企业微信
+			sapUserService.updateAllNormalSyncWxResult();
+		} catch (Exception e) {
+			LoggerUtil.error(e);
+		} finally {
+			WebConstants.CACHE.remove(WebConstants.CACHE_SYNC_SAP);
+		}
 	}
 }