From a811be52eecca80a2ead5b21908953aae70a4d03 Mon Sep 17 00:00:00 2001 From: = <=> Date: Thu, 5 Mar 2026 16:04:44 +0800 Subject: [PATCH] commit --- .../TeacherCongressDelegateServiceImpl.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/budwk/app/zhgh/democratic/teachercongress/delegate/service/TeacherCongressDelegateServiceImpl.java b/src/main/java/com/budwk/app/zhgh/democratic/teachercongress/delegate/service/TeacherCongressDelegateServiceImpl.java index b4d49a73..6792776f 100644 --- a/src/main/java/com/budwk/app/zhgh/democratic/teachercongress/delegate/service/TeacherCongressDelegateServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/democratic/teachercongress/delegate/service/TeacherCongressDelegateServiceImpl.java @@ -172,14 +172,22 @@ public class TeacherCongressDelegateServiceImpl extends BaseServiceImpl delegateList = delegateAllList.stream() .filter(delegate -> delegation.getString("id").equals(delegate.getString("delegationId"))) .collect(Collectors.toList()); - Comparator comparator = Comparator.comparing(map -> { + Comparator comparator = Comparator.comparing((NutMap map) -> { String userName = map.getString("userName"); - if (StrUtil.isNotBlank(userName)) { - return getStrokeCount(String.valueOf(userName.charAt(0))); + if (userName == null || userName.isEmpty()) { + return 0; + } + // 获取第一个字的笔画数作为主排序键 + return getStrokeCount(String.valueOf(userName.charAt(0))); + }).thenComparing(map -> { + String userName = map.getString("userName"); + // 如果名字长度大于 1,获取第二个字的笔画数 + if (userName != null && userName.length() > 1) { + return getStrokeCount(String.valueOf(userName.charAt(1))); } return 0; }); - Collections.sort(delegateList, comparator); + delegateList.sort(comparator); //按5人平均分组 List> delegateGroupList = ListUtil.split(delegateList, 5);