liupeng пре 4 година
родитељ
комит
9436d38dca

+ 7 - 0
code/sapparent/sapservice/src/main/java/org/fouram/mapper/SapUserMapper.xml

@@ -37,6 +37,13 @@
 		update sap_user set avatar=#{avatar} where personId=#{personId}
 	</update>
 	
+	<update id="updateFullDepartAndPosition">
+		update sap_user 
+		set sapPosition=#{sapPosition},sapFullDepart=#{sapFullDepart},
+			wxPosition=#{wxPosition},wxFullDepart=#{wxFullDepart}
+		where userId=#{userId}
+	</update>
+	
 	<update id="updateResultByUserId">
 		update sap_user set result=#{result} where userId=#{userId}
 	</update>

+ 17 - 15
code/sapparent/sapservice/src/main/java/org/fouram/service/SapUserService.java

@@ -108,13 +108,18 @@ public class SapUserService extends BaseService {
 		} else if (sapBlacklistService.findByUserId(sapUser.getPersonId()) != null) {
 			return SapUserResultEnum.BLACKLIST.getCode();
 		} else {
+			List<SapUser> sapUsers = selectListByPersonId(sapUser.getPersonId());
 			WxUser wxUser = wxUserService.selectById(sapUser.getPersonId(), sapUser.getEmail(),
 					DelFlagEnum.ENABLE.getCode());
+			sapUser.setSapPosition(getFullPosition(sapUsers));
+			sapUser.setSapFullDepart(getFullOrgName(sapUsers));
 			if (wxUser == null) {
 				return SapUserResultEnum.ENTRY.getCode();
 			} else {
-				if (!wxUser.getPosition().equals(sapUser.getPosition()) || !wxUserService
-						.getFullDepartName(sapUser.getPersonId()).equals(getFullOrgName(sapUser.getPersonId()))) {
+				sapUser.setWxPosition(wxUser.getPosition());
+				sapUser.setWxFullDepart(wxUserService.getFullDepartName(sapUser.getPersonId()));
+				if (!sapUser.getSapPosition().equals(sapUser.getWxPosition())
+						|| !sapUser.getSapFullDepart().equals(sapUser.getWxFullDepart())) {
 					return SapUserResultEnum.SENSITIVE.getCode();
 				} else { // 因为上面已经验证过敏感数据,这次判断其他数据是否修改过 就可以
 					// name+mobile+email+telephone
@@ -142,6 +147,7 @@ public class SapUserService extends BaseService {
 		for (SapUser sapUser : normalList) {
 			String checkResult = getCheckResultByWx(sapUser);
 			if (StringUtils.isNotBlank(checkResult)) {
+				updateFullDepartAndPosition(sapUser);
 				updateResultByUserId(checkResult, sapUser.getUserId());
 			}
 		}
@@ -161,23 +167,23 @@ public class SapUserService extends BaseService {
 	/**
 	 * 根据personId查询多个用户完整的机构名称信息
 	 * 
-	 * @param personId
+	 * @param sapUsers
 	 * @return
 	 * @throws Exception
 	 */
-	public String getFullOrgName(String personId) throws Exception {
-		List<SapUser> users = selectListByPersonId(personId);
+	public String getFullOrgName(List<SapUser> sapUsers) throws Exception {
 		StringBuffer sb = new StringBuffer();
-		for (SapUser user : users) {
+		for (SapUser user : sapUsers) {
 			if (sb.indexOf(user.getFullOrgName()) < 0) {
 				sb.append(user.getFullOrgName()).append(";");
 			}
 		}
 		return sb.substring(0, sb.length() - 1);
 	}
-	
+
 	/**
 	 * 拼接多用户的职务
+	 * 
 	 * @param sapUsers
 	 * @return
 	 * @throws Exception
@@ -324,14 +330,6 @@ public class SapUserService extends BaseService {
 				departList.add(orgs);
 			}
 			sapUser.setDepartList(departList);
-			sapUser.setSapPosition(sapUser.getPosition());
-			sapUser.setSapFullDepart(getFullOrgName(sapUser.getPersonId()));
-			WxUser wxUser = wxUserService.selectById(sapUser.getPersonId(), sapUser.getEmail(),
-					DelFlagEnum.ENABLE.getCode());
-			if (wxUser != null) {
-				sapUser.setWxPosition(wxUser.getPosition());
-				sapUser.setWxFullDepart(wxUserService.getFullDepartName(sapUser.getPersonId()));
-			}
 		}
 		return sapUser;
 	}
@@ -360,6 +358,10 @@ public class SapUserService extends BaseService {
 		}
 	}
 
+	public void updateFullDepartAndPosition(SapUser sapUser) throws Exception {
+		update("SapUserMapper.updateFullDepartAndPosition", sapUser);
+	}
+
 	public void updateResultByUserId(String result, String userId) throws Exception {
 		SapUser sapUser = SapUser.builder().userId(userId).result(result).build();
 		update("SapUserMapper.updateResultByUserId", sapUser);

+ 0 - 10
code/sapparent/sapservice/src/main/java/org/fouram/service/SyncSapUserToWxService.java

@@ -60,16 +60,6 @@ public class SyncSapUserToWxService extends BaseService {
 		sapUserService.updateAvatars();
 		// NORMAL数据更新同步企业微信
 		sapUserService.updateAllNormalSyncWxResult();
-		// 发送禁用企业微信账号信息
-//		this.sendQuitUserMsg();
 		WebConstants.CACHE.remove(WebConstants.CACHE_SYNC_SAP);
 	}
-
-	// 发送禁用企业微信账号信息
-//	private void sendQuitUserMsg() throws Exception {
-//		List<SapUser> unableSapUsers = sapUserService.selectPrimaryListByDelFlag(DelFlagEnum.UNABLE.getCode());
-//		if (unableSapUsers.size() > 0) {
-//			WXCpMessageUtil.sendQuitUserMsg("离职用户" + unableSapUsers.size() + "个,请确认");
-//		}
-//	}
 }