Merge remote-tracking branch 'origin/feature/REQ-3581' into feature/REQ-3581

This commit is contained in:
yanglin 2025-02-20 10:18:12 +08:00
commit e781720838

View File

@ -24,10 +24,10 @@ import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.function.Function;
import java.util.Set;
import java.util.stream.Collectors;
/**
@ -274,19 +274,27 @@ public class ChangeRecordLogServiceImpl extends ServiceImpl<ChangeRecordLogDao,
return Lists.newArrayList();
}
Map<String, ChangeRecordLog> logMap = logList.stream().collect(Collectors.toMap(
key -> key.getVisaId() + key.getAction() + key.getTitle() + key.getContent()
, Function.identity()
, (x, y) -> x));
if (Objects.isNull(logMap) || logMap.isEmpty()) {
// 使用 LinkedHashSet 进行去重
Set<String> seenKeys = new LinkedHashSet<>();
List<FetchVisaLogByVisaIdResponse> returnList = logList.stream()
.filter(item -> seenKeys.add(buildKey(item)))
.map(item -> FetchVisaLogByVisaIdResponse.builder()
.title(item.getTitle())
.content(item.getContent())
.createAt(item.getCreateAt())
.build())
.collect(Collectors.toList());
if (CollectionUtils.isEmpty(returnList)) {
return Lists.newArrayList();
}
return logMap.values().stream().map(item -> FetchVisaLogByVisaIdResponse.builder()
.title(item.getTitle())
.content(item.getContent())
.createAt(item.getCreateAt())
.build()).collect(Collectors.toList());
return returnList;
}
/**
* 构建key
*/
private String buildKey(ChangeRecordLog log) {
return log.getVisaId() + log.getAction() + log.getTitle() + log.getContent();
}
/**