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