zoujiajian 1 год назад
Родитель
Сommit
39281c0d6f

+ 39 - 6
netflix-service/src/main/java/com/cyksj/service/corp/kf/impl/CorpKfServiceImpl.java

@@ -201,23 +201,49 @@ public class CorpKfServiceImpl implements CorpKfService {
 
 		List<SysCorpFollowView> sysCorpFollowViews = beanSearcher.searchAll(SysCorpFollowView.class, MapUtils.builder().build());
 		Map<String, List<SysCorpFollowView>> followMap = sysCorpFollowViews.stream().collect(Collectors.groupingBy(SysCorpFollowView::getFollowId));
+		Map<Integer, List<CorpKfAccountFollow>> bfDutyWeekFollowMap = before.stream().collect(Collectors.groupingBy(CorpKfAccountFollow::getDutyWeek));
 		Map<Integer, List<CorpKfAccountFollow>> afDutyWeekFollowMap = after.stream().collect(Collectors.groupingBy(CorpKfAccountFollow::getDutyWeek));
 
+		//增加
+		if (after.size() > before.size()) {
+			for (CorpKfAccountFollow af : after) {
+				Integer dutyWeek = af.getDutyWeek();
+				List<CorpKfAccountFollow> corpKfAccountFollows = bfDutyWeekFollowMap.get(dutyWeek);
+				if (CollUtil.isEmpty(corpKfAccountFollows)) {
+					changeStr.append(getDutyWeekName(dutyWeek));
+					addChangeStr.append("增加");
+					List<String> bfFollowIds = Jsons.parseList(af.getUserIdList(), String.class);
+					for (int i1 = 0; i1 < bfFollowIds.size(); i1++) {
+						String afUserId = bfFollowIds.get(i1);
+						SysCorpFollowView sysCorpFollowView = followMap.get(afUserId).get(0);
+						subChangStr.append(String.format("%s(%s)", sysCorpFollowView.getName(), sysCorpFollowView.getFollowName()));
+						if (i1 != bfFollowIds.size() - 1) {
+							addChangeStr.append("、");
+						}
+					}
+				}
+			}
+		}
+
 		for (int i = 0; i < before.size(); i++) {
 			CorpKfAccountFollow bfCorpKfAccountFollow = before.get(i);
 			Integer bfDutyWeek = bfCorpKfAccountFollow.getDutyWeek();
 			List<CorpKfAccountFollow> afCorpKfAccountFollows = afDutyWeekFollowMap.get(bfDutyWeek);
+			//删除
 			if (CollUtil.isEmpty(afCorpKfAccountFollows)) {
 				changeStr.append(getDutyWeekName(bfDutyWeek));
 				subChangStr.append("移除");
 				List<String> bfFollowIds = Jsons.parseList(bfCorpKfAccountFollow.getUserIdList(), String.class);
 				for (int i1 = 0; i1 < bfFollowIds.size(); i1++) {
-					subChangStr.append(followMap.get(bfFollowIds.get(0)).get(0).getName());
+					String afUserId = bfFollowIds.get(i1);
+					SysCorpFollowView sysCorpFollowView = followMap.get(afUserId).get(0);
+					subChangStr.append(String.format("%s(%s)", sysCorpFollowView.getName(), sysCorpFollowView.getFollowName()));
 					if (i1 != bfFollowIds.size() - 1) {
 						subChangStr.append("、");
 					}
 				}
 			} else {
+				//变更
 				String bfUserStr = bfCorpKfAccountFollow.getUserIdList();
 				String afUserStr = afCorpKfAccountFollows.get(0).getUserIdList();
 				if (StrUtil.equals(bfUserStr, afUserStr)) {
@@ -231,10 +257,11 @@ public class CorpKfServiceImpl implements CorpKfService {
 						if (!subChangStr.toString().contains("移除")) {
 							subChangStr.append("移除");
 						}
-						if (subChangStr.length() > 0) {
+						if (subChangStr.length() > 2) {
 							subChangStr.append("、");
 						}
-						subChangStr.append(followMap.get(userId).get(0).getName());
+						SysCorpFollowView sysCorpFollowView = followMap.get(userId).get(0);
+						subChangStr.append(String.format("%s(%s)", sysCorpFollowView.getName(), sysCorpFollowView.getFollowName()));
 					}
 				}
 				for (String afterUserId : afUserIds) {
@@ -242,16 +269,22 @@ public class CorpKfServiceImpl implements CorpKfService {
 						if (!addChangeStr.toString().contains("增加")) {
 							addChangeStr.append("增加");
 						}
-						if (addChangeStr.length() > 0) {
+						if (addChangeStr.length() > 2) {
 							addChangeStr.append("、");
 						}
-						addChangeStr.append(followMap.get(afterUserId).get(0).getName());
+						SysCorpFollowView sysCorpFollowView = followMap.get(afterUserId).get(0);
+						subChangStr.append(String.format("%s(%s)", sysCorpFollowView.getName(), sysCorpFollowView.getFollowName()));
 					}
 				}
 			}
 		}
 		if (addChangeStr.length() > 0 || subChangStr.length() > 0) {
-			corpKfFollowChangeRecord.setChangeStr(changeStr.append(addChangeStr).append("-").append(subChangStr).toString());
+			changeStr.append(addChangeStr);
+			if (addChangeStr.length() > 0 && subChangStr.length() > 0) {
+				changeStr.append("-");
+			}
+			changeStr.append(subChangStr);
+			corpKfFollowChangeRecord.setChangeStr(changeStr.toString());
 			corpKfFollowChangeRecordMapper.insert(corpKfFollowChangeRecord);
 		}
 	}