fix: 绑定零部件条款号排序报错

This commit is contained in:
2024-10-11 17:52:49 +08:00
parent 6a0bfd78ee
commit 08da7a676a
@@ -373,6 +373,13 @@ public class LawsBindPartServiceImpl extends ServiceImpl<LawsBindPartMapper, Law
return null;
}
private double parseStringToDouble(String str) {
try {
return Double.parseDouble(str);
} catch (NumberFormatException e) {
return Double.MAX_VALUE; // 确保非数值类型的字符排在最后
}
}
private void sendMessageToBindUser(LawsBindPart lawsBindPart) {
String userId = UserUtils.getUserId();
@@ -384,8 +391,10 @@ public class LawsBindPartServiceImpl extends ServiceImpl<LawsBindPartMapper, Law
} else {
List<String> clauseIdList = Arrays.asList(clauseIds.split(","));
List<LawsDocumentSplit> lawsDocumentSplits = documentSplitMapper.selectBatchIds(clauseIdList);
String clause = lawsDocumentSplits.stream().sorted()
.map(LawsDocumentSplit::getItemNum).collect(Collectors.joining(","));
String clause = lawsDocumentSplits.stream()
.sorted(Comparator.comparing(LawsDocumentSplit::getItemNum, Comparator.comparingDouble(this::parseStringToDouble)))
.map(LawsDocumentSplit::getItemNum)
.collect(Collectors.joining(","));
String msg = "" + clause + "条款";
sendMap.put("clause", msg);
}