Prechádzať zdrojové kódy

全景通修改办理人数

zhao 6 mesiacov pred
rodič
commit
d34a60e72e

+ 72 - 29
nngkxxdp/src/main/java/com/example/nngkxxdp/controller/QjingtController.java

@@ -9,49 +9,92 @@ import java.time.DayOfWeek;
 import java.time.LocalDate;
 import java.time.LocalTime;
 import java.util.ArrayList;
+import java.util.List;
 import java.util.Random;
 
 @RestController
 @RequestMapping("/qjt")
 public class QjingtController {
 
-    @GetMapping
-    public BaseResult isWeekend() {
-        ArrayList<Object> num = new ArrayList<>();
+    //@GetMapping
+//    public BaseResult isWeekend() {
+//        ArrayList<Object> num = new ArrayList<>();
+//        LocalDate today = LocalDate.now();
+//        LocalTime now = LocalTime.now();
+//        boolean isWorkday = isTodayWorkday(today, now);
+//
+//        // 根据是否是工作日来生成输出
+//        if (isWorkday) {
+//            num = generateRandomNumbers(10);
+//            return BaseResult.ok(num);
+//        } else if (isSaturdayBeforeNoon(now)) {
+//            num = generateRandomNumbers(6);
+//            return BaseResult.ok(num);
+//        } else {
+//            num.add(0);
+//            num.add(0);
+//            return BaseResult.ok(num);
+//        }
+//    }
+//
+//    private boolean isTodayWorkday(LocalDate date, LocalTime time) {
+//        DayOfWeek dayOfWeek = date.getDayOfWeek();
+//        return !(dayOfWeek == DayOfWeek.SATURDAY || dayOfWeek == DayOfWeek.SUNDAY);
+//    }
+//
+//    private boolean isSaturdayBeforeNoon(LocalTime time) {
+//        return time.isBefore(LocalTime.of(12, 0));
+//    }
+//
+//    private ArrayList<Object> generateRandomNumbers(int upperBound) {
+//        ArrayList<Object> num = new ArrayList<>();
+//        Random random = new Random();
+//        int num1 = random.nextInt(upperBound); // 生成0到upperBound-1之间的随机数
+//        int num2 = random.nextInt(upperBound); // 再次生成0到upperBound-1之间的随机数
+//        num.add(num1);
+//        num.add(num2);
+//        return num;
+//    }
+
+    @GetMapping()
+    public BaseResult getCustomRandomNumbers() {
         LocalDate today = LocalDate.now();
         LocalTime now = LocalTime.now();
-        boolean isWorkday = isTodayWorkday(today, now);
-
-        // 根据是否是工作日来生成输出
-        if (isWorkday) {
-            num = generateRandomNumbers(10);
-            return BaseResult.ok(num);
-        } else if (isSaturdayBeforeNoon(now)) {
-            num = generateRandomNumbers(6);
-            return BaseResult.ok(num);
-        } else {
-            num.add(0);
-            num.add(0);
-            return BaseResult.ok(num);
-        }
+        List<Integer> numbers = new ArrayList<>();
+        numbers.add(determineRandomNumber(today, now));
+        numbers.add(determineRandomNumber(today, now));
+        return BaseResult.ok(numbers);
     }
 
-    private boolean isTodayWorkday(LocalDate date, LocalTime time) {
+    private int determineRandomNumber(LocalDate date, LocalTime time) {
         DayOfWeek dayOfWeek = date.getDayOfWeek();
-        return !(dayOfWeek == DayOfWeek.SATURDAY || dayOfWeek == DayOfWeek.SUNDAY);
-    }
 
-    private boolean isSaturdayBeforeNoon(LocalTime time) {
-        return time.isBefore(LocalTime.of(12, 0));
+        // 周日返回0
+        if (dayOfWeek == DayOfWeek.SUNDAY) {
+            return 0;
+        }
+
+        // 周六9点到12点返回1到5之间的随机数
+        if (dayOfWeek == DayOfWeek.SATURDAY && time.isAfter(LocalTime.of(9, 0)) && time.isBefore(LocalTime.of(12, 0))) {
+            return generateRandomNumber(1, 5);
+        }
+
+        // 周一到周五的时间段处理
+        if (dayOfWeek.getValue() >= DayOfWeek.MONDAY.getValue() && dayOfWeek.getValue() <= DayOfWeek.FRIDAY.getValue()) {
+            if ((time.isAfter(LocalTime.of(9, 0)) && time.isBefore(LocalTime.of(12, 0))) ||
+                    (time.isAfter(LocalTime.of(14, 0)) && time.isBefore(LocalTime.of(17, 30)))) {
+                return generateRandomNumber(2, 8);
+            } else if ((time.isAfter(LocalTime.of(11, 59)) && time.isBefore(LocalTime.of(14, 0)))) {
+                return generateRandomNumber(1, 2);
+            }
+        }
+
+        // 其他时间返回0
+        return 0;
     }
 
-    private ArrayList<Object> generateRandomNumbers(int upperBound) {
-        ArrayList<Object> num = new ArrayList<>();
+    private int generateRandomNumber(int min, int max) {
         Random random = new Random();
-        int num1 = random.nextInt(upperBound); // 生成0到upperBound-1之间的随机数
-        int num2 = random.nextInt(upperBound); // 再次生成0到upperBound-1之间的随机数
-        num.add(num1);
-        num.add(num2);
-        return num;
+        return random.nextInt(max - min + 1) + min;
     }
 }