From be76c17568e365170626c88963bfb9e16fb38793 Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期三, 18 十月 2023 10:37:44 +0800
Subject: [PATCH] 10.18

---
 cloud-server-other/src/main/resources/mapper/GameMapper.xml                                             |    4 
 cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java                        |  192 +++++++++++++++++++++++++++++--------
 cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage_info.js       |   30 +++--
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java |    7 
 cloud-server-management/src/main/webapp/static/modular/system/ball/ball.js                              |   14 ++
 cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball.html                              |    8 +
 6 files changed, 191 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 a8aa092..8950925 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
@@ -182,7 +182,6 @@
     @ResponseBody
     public List<Game> changelist(BallQueryDto ballQueryDto) {
 System.out.println("=======ballQueryDto=========="+ballQueryDto);
-
         return ballClient.list(ballQueryDto);
     }
 
@@ -898,9 +897,9 @@
             LocalTime targetTime = LocalTime.parse(currentTime);
 
             boolean hasExceeded = currentTime1.isAfter(targetTime);
-//    if (hasExceeded){
-//        orderDto.setState(0);
-//    }
+    if (hasExceeded){
+        orderDto.setState(0);
+    }
     if (strings.contains(timeRange)){
         orderDto.setState(0);
     }
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball.html
index 0b57dfb..0cc2693 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball.html
@@ -45,11 +45,13 @@
                             <div class="col-sm-3">
                                 <#NameCon id="site" name="场地名称" />
                             </div>
-                            <div class="col-sm-3">
-                                <#NameCon id="userName" name="所属用户" />
-                            </div>
+<!--                            <div class="col-sm-3">-->
+<!--                                <#NameCon id="userName" name="所属用户" />-->
+<!--                            </div>-->
                             <div class="col-sm-3">
                                 <#button name="搜索" icon="fa-search" clickFun="TStudent.search()"/>
+                                <#button name="重置" icon="fa-trash" clickFun="TStudent.resetSearch()" space="true"/>
+
                             </div>
                         </div>
                         <div class="hidden-xs" id="TStudentTableToolbar" role="group">
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/ball/ball.js b/cloud-server-management/src/main/webapp/static/modular/system/ball/ball.js
index e223c92..7bc3f66 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/ball/ball.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/ball/ball.js
@@ -127,6 +127,11 @@
     }
 };
 
+
+
+
+
+
 TStudent.openTStudentDetail3 = function () {
     if (this.check()) {
         var index = layer.open({
@@ -205,6 +210,15 @@
     TStudent.table.refresh({query: queryData});
 };
 
+TStudent.resetSearch = function () {
+    $("#provinceCode").val("");
+    $("#cityCode").val("");
+    $("#store").val("");
+    $("#site").val("");
+    TStudent.search();
+};
+
+
 $(function () {
     var defaultColunms = TStudent.initColumn();
     var table = new BSTable(TStudent.id, "/ball/list", defaultColunms);
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage_info.js b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage_info.js
index 618aa38..24a5b26 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage_info.js
@@ -48,6 +48,7 @@
  * 提交添加用户
  */
 CoursePackageInfo.addSubmit = function () {
+
     let province = $('#provinceCode option:checked').text();
     let provinceCode = $('#provinceCode').val();
     let city = $('#cityCode option:checked').text();
@@ -62,12 +63,13 @@
     let type = $('#type').val();
     let holitime = $('#holitime').val();
 
+    console.log("=======这是type======"+type)
 
     var goodImgs = CoursePackageInfo.goodsPicArray1;
-    // if(goodImgs.length==0){
-    //     Feng.info("请上传赛事活动图片")
-    //     return;
-    // }
+    if(goodImgs.length==0){
+        Feng.info("请上传详情图片")
+        return;
+    }
     var imgOne ="";
     for (let i = 0; i <goodImgs.length; i++) {
         if(i==goodImgs.length-1){
@@ -158,24 +160,28 @@
     //     Feng.error("上课时间不能为空");
     //     return
     // }
+
+    // if(null == detailDrawing || '' == detailDrawing){
+    //     Feng.error("详情页不能为空");
+    //     return
+    // }
+
+    // if(null == validDays || '' == validDays){
+    //     Feng.error("课时有效期不能为空");
+    //     return
+    // }
     classWeeks = classWeeks.substring(0, classWeeks.length - 1);
 
     if(null == coverDrawing || '' == coverDrawing){
         Feng.error("课包封面不能为空");
         return
     }
-    // if(null == detailDrawing || '' == detailDrawing){
-    //     Feng.error("详情页不能为空");
-    //     return
-    // }
+
     if(null == introduceDrawing || '' == introduceDrawing){
         Feng.error("课包介绍不能为空");
         return
     }
-    // if(null == validDays || '' == validDays){
-    //     Feng.error("课时有效期不能为空");
-    //     return
-    // }
+
 
     let obj = {
         province: province,
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 27297b4..471b41c 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
@@ -28,6 +28,7 @@
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
+import java.time.LocalTime;
 import java.util.*;
 
 /**
@@ -115,7 +116,10 @@
         querySiteInfoVo.setStoreLat(store.getLat());
         querySiteInfoVo.setStorePhone(store.getPhone());
         querySiteInfoVo.setImgs(site.getImgs());
+
         querySiteInfoVo.setDistance(0D);
+
+
         querySiteInfoVo.setCashPriceOne(site.getCashPriceOne());
         if(site.getPlayPaiCoinOne()!=null){
             querySiteInfoVo.setPlayPaiCoinOne(site.getPlayPaiCoinOne().intValue());
@@ -148,6 +152,13 @@
     }
 
 
+
+
+
+    @Autowired
+    private ISiteBookingService iSiteBookingService;
+    @Autowired
+    private ISiteService siteService;
     /**
      * 获取场地预约日期数据
      * @param id
@@ -157,56 +168,151 @@
      */
     @Override
     public List<QuerySiteTimes> querySiteTimes(Integer id, String day) 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()));
+//        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;
 
-        int hour = e.get(Calendar.HOUR_OF_DAY);
+        System.out.println("=======date======"+day);
 
-        int minute = e.get(Calendar.MINUTE);
+        List<String> strings = new ArrayList<>();
 
-        List<QuerySiteTimes> list = new ArrayList<>();
+//        List<SiteBooking> siteBookings = siteClient.listBooks(id);
+        List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).like("times",date));
+        System.out.println("=======siteBookings======"+siteBookings);
+        for (SiteBooking siteBooking : siteBookings) {
+            String[] split = siteBooking.getTimes().split(";");
+            for (String s : split) {
 
-        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);
+                String convertedValue = s.substring(11);
+                strings.add(convertedValue);
             }
 
-            list.add(querySiteTimes);
-
-            if(e_hour == hour && minute == e_minute){
-                break;
-            }
         }
-        return list;
+        System.out.println("======strings======="+strings);
+
+
+        List<QuerySiteTimes> timeRanges = new ArrayList<>();
+
+
+        Site site =  siteService.getById(id);
+        System.out.println("================"+site);
+        String appointmentStartTime = site.getAppointmentStartTime();
+        String appointmentEndTime = site.getAppointmentEndTime();
+
+        String currentTime = appointmentStartTime;
+        while (currentTime.compareTo(appointmentEndTime) < 0) {
+            String nextTime = getNextTime(currentTime);
+
+
+            String timeRange = currentTime + "-" + nextTime;
+            QuerySiteTimes orderDto = new QuerySiteTimes();
+            orderDto.setTime(timeRange);
+
+            LocalTime currentTime1 = LocalTime.now();
+            LocalTime targetTime = LocalTime.parse(currentTime);
+
+            boolean hasExceeded = currentTime1.isAfter(targetTime);
+            if (hasExceeded){
+                orderDto.setSelectable(0);
+            }
+            if (strings.contains(timeRange)){
+                orderDto.setSelectable(0);
+            }
+
+
+            timeRanges.add(orderDto);
+            currentTime = nextTime;
+        }
+        System.out.println("-------------"+timeRanges);
+
+        return timeRanges;
+
+
+
+
+
+    }
+
+
+    public static String getNextTime(String currentTime) {
+        String[] parts = currentTime.split(":");
+        int hour = Integer.parseInt(parts[0]);
+        int minute = Integer.parseInt(parts[1]);
+
+        if (minute == 30) {
+            hour++;
+            minute = 0;
+        } else {
+            minute = 30;
+        }
+
+        return String.format("%02d:%02d", hour, minute);
+
+//        String[] parts = currentTime.split(":");
+//        int hour = Integer.parseInt(parts[0]);
+//        int minute = Integer.parseInt(parts[1]);
+//
+//        if (minute == 45) {
+//            hour++;
+//            minute = 0;
+//        } else if (minute == 0){
+//            minute = 15;
+//        }else if (minute == 15){
+//            minute = 30;
+//        }else if (minute == 30){
+//            minute = 45;
+//        }
+//
+//        return String.format("%02d:%02d", hour, minute);
+
+
     }
 
 
diff --git a/cloud-server-other/src/main/resources/mapper/GameMapper.xml b/cloud-server-other/src/main/resources/mapper/GameMapper.xml
index 7ba2226..81f95c4 100644
--- a/cloud-server-other/src/main/resources/mapper/GameMapper.xml
+++ b/cloud-server-other/src/main/resources/mapper/GameMapper.xml
@@ -20,11 +20,11 @@
 
             </if>
             <if test="store!=null and store!=''">
-               and  st.`name` = #{store}
+               and  st.`name` like concat('%',#{store},'%')
 
             </if>
             <if test="site!=null and site!=''">
-              and  si.`name` = #{site}
+              and  si.`name`  like concat('%',#{site},'%')
 
             </if>
         </where>

--
Gitblit v1.7.1