Merge remote-tracking branch 'origin/feature/REQ-3581' into feature/REQ-3581
This commit is contained in:
commit
e781720838
@ -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();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
Reference in New Issue
Block a user