nickchange
2023-10-20 c801e521edeea24ff7dc01e1e46bbf2b301f804d
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;