|
@@ -103,6 +103,29 @@ public class MeetingServiceImpl implements MeetingService {
|
|
|
.get(25, TimeUnit.SECONDS);
|
|
|
// 25秒总超时
|
|
|
if(!vos.isEmpty()){
|
|
|
+ vos.sort((vo1, vo2) -> {
|
|
|
+ String fixedData1 = vo1.getFixedData();
|
|
|
+ String fixedData2 = vo2.getFixedData();
|
|
|
+
|
|
|
+ // 提取会议室编号(去除"会议室"字符,只保留前面的中文数字)
|
|
|
+ String number1 = extractChineseNumber(fixedData1);
|
|
|
+ String number2 = extractChineseNumber(fixedData2);
|
|
|
+
|
|
|
+ return compareChineseNumbers(number1, number2);
|
|
|
+ });
|
|
|
+ for (MeetingVo vo : vos) {
|
|
|
+ if("一会议室".equals(vo.getFixedData())){
|
|
|
+ vo.setFloor("6楼");
|
|
|
+ } else if ("二会议室".equals(vo.getFixedData())) {
|
|
|
+ vo.setFloor("6楼");
|
|
|
+ }else if ("三会议室".equals(vo.getFixedData())) {
|
|
|
+ vo.setFloor("4楼");
|
|
|
+ }else if ("四会议室".equals(vo.getFixedData())) {
|
|
|
+ vo.setFloor("3楼");
|
|
|
+ }else if ("五会议室".equals(vo.getFixedData())) {
|
|
|
+ vo.setFloor("2楼");
|
|
|
+ }
|
|
|
+ }
|
|
|
UserInfoVO vo = new UserInfoVO();
|
|
|
vo.setSystem("dingding");
|
|
|
vo.setContractId(1L);
|
|
@@ -121,6 +144,47 @@ public class MeetingServiceImpl implements MeetingService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 提取会议室名称中的中文数字部分
|
|
|
+ private String extractChineseNumber(String roomName) {
|
|
|
+ // 假设格式为 "一会议室"、"二会议室" 等,提取前面的中文数字
|
|
|
+ if (roomName != null && roomName.endsWith("会议室")) {
|
|
|
+ return roomName.substring(0, roomName.length() - 3); // 去掉"会议室"三个字
|
|
|
+ }
|
|
|
+ return roomName;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 中文数字比较器
|
|
|
+ private int compareChineseNumbers(String chineseNum1, String chineseNum2) {
|
|
|
+ // 定义中文数字映射表
|
|
|
+ Map<String, Integer> chineseNumberMap = new HashMap<>();
|
|
|
+ chineseNumberMap.put("一", 1);
|
|
|
+ chineseNumberMap.put("二", 2);
|
|
|
+ chineseNumberMap.put("三", 3);
|
|
|
+ chineseNumberMap.put("四", 4);
|
|
|
+ chineseNumberMap.put("五", 5);
|
|
|
+ chineseNumberMap.put("六", 6);
|
|
|
+ chineseNumberMap.put("七", 7);
|
|
|
+ chineseNumberMap.put("八", 8);
|
|
|
+ chineseNumberMap.put("九", 9);
|
|
|
+ chineseNumberMap.put("十", 10);
|
|
|
+ chineseNumberMap.put("十一", 11);
|
|
|
+ chineseNumberMap.put("十二", 12);
|
|
|
+ chineseNumberMap.put("十三", 13);
|
|
|
+ chineseNumberMap.put("十四", 14);
|
|
|
+ chineseNumberMap.put("十五", 15);
|
|
|
+ chineseNumberMap.put("十六", 16);
|
|
|
+ chineseNumberMap.put("十七", 17);
|
|
|
+ chineseNumberMap.put("十八", 18);
|
|
|
+ chineseNumberMap.put("十九", 19);
|
|
|
+ chineseNumberMap.put("二十", 20);
|
|
|
+ // 可以根据需要继续添加更多数字
|
|
|
+
|
|
|
+ Integer num1 = chineseNumberMap.getOrDefault(chineseNum1, Integer.MAX_VALUE);
|
|
|
+ Integer num2 = chineseNumberMap.getOrDefault(chineseNum2, Integer.MAX_VALUE);
|
|
|
+
|
|
|
+ return num1.compareTo(num2);
|
|
|
+ }
|
|
|
+
|
|
|
private String[] getTodayTimeRange() {
|
|
|
LocalDateTime startOfDay = LocalDateTime.now().with(LocalTime.MIDNIGHT);
|
|
|
ZonedDateTime startOfDayZoned = startOfDay.atZone(ZoneId.systemDefault());
|