From aba8d209561a130b6d849d96ff202fe172b1ad92 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 11 十一月 2025 13:54:33 +0800
Subject: [PATCH] 玩湃本次新增迭代所有代码

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java |  150 ++++++++++++++++++++++++++++---------------------
 1 files changed, 86 insertions(+), 64 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
index d31e0c6..c03fea9 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
@@ -551,14 +551,14 @@
         return null;
     }
 
-    public static void main(String[] args) throws Exception {
-        String blueS = "{\"vipDetail\":1,role\":1,\"time\":[{\"start_time\":\"2025-08-25 09:00:00\",\"end_time\":\"2025-08-30 23:00:00\"}]}";
-        MyQrCodeUtil.createCodeToFile(blueS);
-        BufferedImage blueImage = QRCodeUtil.createImage(blueS);
-        MultipartFile blueFile = convert(blueImage, new Date().getTime() + UUIDUtil.getRandomCode(3) + ".PNG");
-        String s = OssUploadUtil.ossUpload("img/", blueFile);
-        System.err.println(s);
-    }
+//    public static void main(String[] args) throws Exception {
+//        String blueS = "{\"vipDetail\":1,role\":1,\"time\":[{\"start_time\":\"2025-08-25 09:00:00\",\"end_time\":\"2025-08-30 23:00:00\"}]}";
+//        MyQrCodeUtil.createCodeToFile(blueS);
+//        BufferedImage blueImage = QRCodeUtil.createImage(blueS);
+//        MultipartFile blueFile = convert(blueImage, new Date().getTime() + UUIDUtil.getRandomCode(3) + ".PNG");
+//        String s = OssUploadUtil.ossUpload("img/", blueFile);
+//        System.err.println(s);
+//    }
 
     @RequestMapping("/pre_add")
     public String add(Model model) {
@@ -898,73 +898,81 @@
         }
         System.out.println("========strings1=====" + strings1);
 
-//时间段
-        List<String> strings = new ArrayList<>();
-//        List<SiteBooking> siteBookings = siteClient.listBooks(book.getSiteId());
-        List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", book.getSiteId()).like("times", split1[0].substring(0, 10)));
-        System.out.println("=======siteBookings======" + siteBookings);
-        for (SiteBooking siteBooking : siteBookings) {
-            String[] split = siteBooking.getTimes().split(";");
-            for (String s : split) {
-
-                String convertedValue = s.substring(11);
-                strings.add(convertedValue);
-            }
-
-        }
-        System.out.println("======strings=======" + strings);
+////时间段
+//        List<String> strings = new ArrayList<>();
+////        List<SiteBooking> siteBookings = siteClient.listBooks(book.getSiteId());
+//        List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", book.getSiteId()).like("times", split1[0].substring(0, 10)));
+//        System.out.println("=======siteBookings======" + siteBookings);
+//        for (SiteBooking siteBooking : siteBookings) {
+//            String[] split = siteBooking.getTimes().split(";");
+//            for (String s : split) {
+//
+//                String convertedValue = s.substring(11);
+//                strings.add(convertedValue);
+//            }
+//
+//        }
+//        System.out.println("======strings=======" + strings);
 
 
         List<OrderDto> timeRanges = new ArrayList<>();
 
         TSite site = siteService.getById(book.getSiteId());
         System.out.println("================" + site);
-        String appointmentStartTime = site.getAppointmentStartTime();
-        String appointmentEndTime = site.getAppointmentEndTime();
-        //生成用于比较日期是否超过的当前日期
-        LocalDate currentDate = LocalDate.now();
-        LocalDate parsedDate = LocalDate.parse(split1[0].substring(0, 10), DateTimeFormatter.ISO_DATE);
-        boolean isAfterCurrentDate = parsedDate.isBefore(currentDate);
-        System.out.println("是否超过当前日期" + isAfterCurrentDate);
-        String currentTime = appointmentStartTime;
-        while (currentTime.compareTo(appointmentEndTime) < 0) {
-            String nextTime = getNextTime(currentTime);
-
-
-            String timeRange = currentTime + "-" + nextTime;
-            OrderDto orderDto = new OrderDto();
-            orderDto.setTime(timeRange);
-
-            LocalTime currentTime1 = LocalTime.now();
-            LocalTime targetTime = LocalTime.parse(currentTime);
-
-            boolean hasExceeded = currentTime1.isAfter(targetTime);
-            //是否超过当前时间
-            if (hasExceeded) {
-                orderDto.setState(0);
-            }
-            //是否已经预定
-            if (strings.contains(timeRange)) {
-                orderDto.setState(0);
-            }
-            //日期是否超过
-            if (isAfterCurrentDate) {
-                orderDto.setState(0);
-            }
-            //是否是当前场地当前日期预定的
-            if (strings1.contains(timeRange)) {
-                orderDto.setState(1);
-            }
-
-
-            timeRanges.add(orderDto);
-            currentTime = nextTime;
-        }
+//        String appointmentStartTime = site.getAppointmentStartTime();
+//        String appointmentEndTime = site.getAppointmentEndTime();
+//        //生成用于比较日期是否超过的当前日期
+//        LocalDate currentDate = LocalDate.now();
+//        LocalDate parsedDate = LocalDate.parse(split1[0].substring(0, 10), DateTimeFormatter.ISO_DATE);
+//        boolean isAfterCurrentDate = parsedDate.isBefore(currentDate);
+//        System.out.println("是否超过当前日期" + isAfterCurrentDate);
+//        String currentTime = appointmentStartTime;
+//        while (currentTime.compareTo(appointmentEndTime) < 0) {
+//            String nextTime = getNextTime(currentTime);
+//
+//
+//            String timeRange = currentTime + "-" + nextTime;
+//            OrderDto orderDto = new OrderDto();
+//            orderDto.setTime(timeRange);
+//
+//            LocalTime currentTime1 = LocalTime.now();
+//            LocalTime targetTime = LocalTime.parse(currentTime);
+//
+//            boolean hasExceeded = currentTime1.isAfter(targetTime);
+//            //是否超过当前时间
+//            if (hasExceeded) {
+//                orderDto.setState(0);
+//            }
+//            //是否已经预定
+//            if (strings.contains(timeRange)) {
+//                orderDto.setState(0);
+//            }
+//            //日期是否超过
+//            if (isAfterCurrentDate) {
+//                orderDto.setState(0);
+//            }
+//            //是否是当前场地当前日期预定的
+//            if (strings1.contains(timeRange)) {
+//                orderDto.setState(1);
+//            }
+//            timeRanges.add(orderDto);
+//            currentTime = nextTime;
+//        }
         System.out.println("-------------" + timeRanges);
         model.addAttribute("timeRanges", timeRanges);
         System.out.println("======timeRanges========" + timeRanges);
         Integer objectType = UserExt.getUser().getObjectType();
         model.addAttribute("province", book.getProvince());
+        String yuyueTime = "";
+        if (strings1.size()>1){
+            String start = strings1.get(0).split("-")[0];
+            String end = strings1.get(strings1.size()-1).split("-")[1];
+            yuyueTime = start +"-"+end;
+        }else{
+            yuyueTime = strings1.get(0);
+        }
+        model.addAttribute("yuyueTime", yuyueTime);
+        model.addAttribute("targetAudience", book.getTargetAudience());
         model.addAttribute("city", book.getCity());
         model.addAttribute("store", storeService.getById(book.getStoreId()).getName());
         model.addAttribute("siteName", siteService.getById(book.getSiteId()).getName());
@@ -1103,6 +1111,9 @@
             List<Integer> operatorId = storeService.list(new QueryWrapper<TStore>()
                             .eq("operatorId", UserExt.getUser().getObjectId()))
                     .stream().map(TStore::getId).collect(Collectors.toList());
+            if (operatorId.isEmpty()){
+                operatorId.add(0);
+            }
             bookingQuery.setStoreIds(operatorId);
         }
         if (objectType == 3) {
@@ -1489,19 +1500,26 @@
         siteBooking.setAddType(1);
 
         //存开始和结束时间
+        // times格式示例: 2025-10-14 19:00-19:30;2025-10-14 19:30-20:00;2025-10-14 20:00-20:30;2025-10-14 20:30-21:00
+        // targetAudience字段会由Spring MVC自动绑定(1=订场,2=散客)
         String times = siteBooking.getTimes();
         String[] dates = times.split(";");
 
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
         try {
+            // 提取最早的开始时间
+            // dates[0] 格式: 2025-10-14 19:00-19:30
             String start = dates[0];
             String startDateStr = start.substring(0, start.lastIndexOf("-"));
             Date startDate = format.parse(startDateStr);
 
+            // 提取最晚的结束时间
+            // dates[dates.length - 1] 格式: 2025-10-14 20:30-21:00
             String end = dates[dates.length - 1];
             String[] str = end.split(" ");
             String endDateStr = str[0] + " " + str[1].substring(str[1].indexOf("-") + 1);
             Date endDate = format.parse(endDateStr);
+            
             siteBooking.setStartTime(startDate);
             siteBooking.setEndTime(endDate);
         } catch (Exception e) {
@@ -1512,6 +1530,7 @@
         String money = siteBooking.getMoney();
         String[] moneys = money.split(",");
         siteBooking.setPayMoney(Double.valueOf(moneys[0]));
+        siteBooking.setMoney(money);
         // 查询当前预约人是否是会员
         String phone = siteBooking.getPhone();
         String booker = siteBooking.getBooker();
@@ -1553,6 +1572,9 @@
             siteBooking.setCityCode(byId.getCityCode());
         }
 
+        if (siteBooking.getIsHalf()==2){
+            siteBooking.setHalfName(null);
+        }
         siteClient.addSiteBooking(siteBooking);
         System.out.println("=================" + siteBooking);
         return new ResultUtil<>(null, 200, null, null, null);

--
Gitblit v1.7.1