fix: 绑定零部件条款号排序报错
This commit is contained in:
+11
-2
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user