From c801e521edeea24ff7dc01e1e46bbf2b301f804d Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期五, 20 十月 2023 18:35:53 +0800
Subject: [PATCH] 10.20.4

---
 cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java |   84 +++++++++++++----------------------------
 1 files changed, 27 insertions(+), 57 deletions(-)

diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java b/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
index d9fa53c..fe3d8d1 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
@@ -4,6 +4,7 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dsh.other.entity.*;
@@ -169,56 +170,6 @@
      */
     @Override
     public List<QuerySiteTimes> querySiteTimes(Integer id, String day,String halfName,String siteName) throws Exception {
-//        Site site = this.getById(id);
-//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
-//        Calendar s = Calendar.getInstance();
-//        s.setTime(sdf.parse(day + " " + site.getAppointmentStartTime()));
-//        Calendar e = Calendar.getInstance();
-//        e.setTime(sdf.parse(day + " " + site.getAppointmentEndTime()));
-//
-//        int hour = e.get(Calendar.HOUR_OF_DAY);
-//
-//        int minute = e.get(Calendar.MINUTE);
-//
-//        List<QuerySiteTimes> list = new ArrayList<>();
-//
-//        SimpleDateFormat sdfs = new SimpleDateFormat("HH:mm");
-//
-//        while (true){
-//
-//            String start = sdfs.format(s.getTime());
-//
-//            s.set(Calendar.MINUTE, s.get(Calendar.MINUTE) + 30);
-//
-//            int e_hour = s.get(Calendar.HOUR_OF_DAY);
-//
-//            int e_minute = s.get(Calendar.MINUTE);
-//
-//            String end = sdfs.format(s.getTime());
-//
-//            QuerySiteTimes querySiteTimes = new QuerySiteTimes();
-//
-//            querySiteTimes.setTime(start + "-" + end);
-//
-//            querySiteTimes.setSelectable(1);
-//
-//            SiteBooking siteBooking = siteBookingService.getOne(new QueryWrapper<SiteBooking>().eq("siteId", id).eq("state", 1)
-//                    .in("status", Arrays.asList(3, 4, 5)).last(" and DATE_FORMAT(startTime, '%Y-%m-%d %H:%i') <= '" + day + " " + start + "' and DATE_FORMAT(endTime, '%Y-%m-%d %H:%i') >= '" + day + " " + end + "'"));
-//            if(null != siteBooking){
-//                querySiteTimes.setSelectable(0);
-//            }
-//            int count = siteLockService.count(new QueryWrapper<SiteLock>().eq("siteId", id).last(" and DATE_FORMAT(startTime, '%Y-%m-%d %H:%i') <= '" + day + " " + start + "' and DATE_FORMAT(endTime, '%Y-%m-%d %H:%i') >= '" + day + " " + end + "'"));
-//            if(count > 0){
-//                querySiteTimes.setSelectable(0);
-//            }
-//
-//            list.add(querySiteTimes);
-//
-//            if(e_hour == hour && minute == e_minute){
-//                break;
-//            }
-//        }
-//        return list;
 
         System.out.println("=======date======"+day);
 
@@ -226,6 +177,11 @@
 
 //        List<SiteBooking> siteBookings = siteClient.listBooks(id);
         List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).eq("nextName",siteName).like("times",day));
+        if (siteName==null|| siteName.equals("")){
+            siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).like("times",day));
+        }
+
+
         System.out.println("=======siteBookings======"+siteBookings);
         for (SiteBooking siteBooking : siteBookings) {
 
@@ -238,6 +194,12 @@
                     strings.add(convertedValue);
                 }
             }else {
+                if (halfName==null){
+                    for (String s : split) {
+                        String convertedValue = s.substring(11);
+                        strings.add(convertedValue);
+                    }
+                }
 
                 if (siteBooking.getHalfName().equals(halfName)){
                     for (String s : split) {
@@ -246,11 +208,7 @@
                     }
 
                 }
-
-
             }
-
-
         }
         System.out.println("======strings======="+strings);
 
@@ -266,7 +224,7 @@
         String currentTime = appointmentStartTime;
         while (currentTime.compareTo(appointmentEndTime) < 0) {
             String nextTime=null;
-            if("智慧球场".equals(site.getTypeName())){
+            if("智慧场地".equals(site.getTypeName())){
                 nextTime=getNextTimeOne(currentTime);
             }else {
                 nextTime= getNextTime(currentTime);
@@ -285,9 +243,23 @@
 //                orderDto.setSelectable(0);
 //            }
             if (strings.contains(timeRange)){
+
                 orderDto.setSelectable(0);
             }else {
+
+                String stime = day+" "+currentTime;
+                String etime = day+" "+nextTime;
                 orderDto.setSelectable(1);
+                // 查出lock
+                List<SiteLock> list = siteLockService.list(new LambdaQueryWrapper<SiteLock>().eq(SiteLock::getSiteId, id));
+                for (SiteLock siteLock : list) {
+                    boolean stringDateBetween = DateComparisonExample.isStringDateBetween(stime + " - " + etime, siteLock.getStartTime(), siteLock.getEndTime());
+                    if(stringDateBetween){
+                        orderDto.setSelectable(0);
+                    }
+                }
+
+
             }
 
 
@@ -297,8 +269,6 @@
         System.out.println("-------------"+timeRanges);
 
         return timeRanges;
-
-
 
 
 

--
Gitblit v1.7.1