From d4fbea2ac7f7c98ffd83480f8f2535ca92f3baea Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期三, 29 十一月 2023 18:19:43 +0800 Subject: [PATCH] 11.29 --- cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java | 166 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 137 insertions(+), 29 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 2ab516e..f2ee93a 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 @@ -19,7 +19,6 @@ import com.dsh.course.feignClient.other.BallClient; import com.dsh.course.feignClient.other.SiteClient; import com.dsh.course.feignClient.other.model.Site; -import com.dsh.course.service.ISiteLockService; import com.dsh.course.service.TGameConfigService; import com.dsh.guns.config.UserExt; import com.dsh.guns.core.base.controller.BaseController; @@ -30,7 +29,7 @@ import com.dsh.guns.modular.system.util.DateComparisonExample; import com.dsh.guns.modular.system.util.HttpRequestUtil; import com.dsh.guns.modular.system.util.ResultUtil; - +import com.dsh.course.entity.SiteLock; import org.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -1023,46 +1022,133 @@ private SiteClient siteClient; + @Autowired private ISiteLockService siteLockService; + @RequestMapping("/yuyuetimes/{id}") @ResponseBody public List<OrderDto> yuyuetimes(@PathVariable("id") Integer id,String date,String siteName,String halfName) { - System.out.println("=======date======"+date); +// System.out.println("=======date======"+date); +// +// List<String> strings = 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) { +// +// String convertedValue = s.substring(11); +// strings.add(convertedValue); +// } +// +// } +// System.out.println("======strings======="+strings); +// +// List<OrderDto> timeRanges = new ArrayList<>(); +// +// Site site = siteClient.listById(id); +//System.out.println("================"+site); +// String appointmentStartTime = site.getAppointmentStartTime(); +// String appointmentEndTime = site.getAppointmentEndTime(); +// +// String currentTime = appointmentStartTime; +// while (currentTime.compareTo(appointmentEndTime) < 0){ +// String nextTime = null; +// if("智慧场地".equals(site.getTypeName())){ +// nextTime=getNextTimeOne(currentTime); +// }else { +// 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); +// } +// +// +// timeRanges.add(orderDto); +// currentTime = nextTime; +// } +// System.out.println("-------------"+timeRanges); +// +// return timeRanges; + + + + System.out.println("=======date======" + date); List<String> strings = 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) { + List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).ne("status", 5).eq("nextName", siteName).like("times", date)); - String convertedValue = s.substring(11); - strings.add(convertedValue); - } - + if (siteName == null || siteName.equals("")) { + siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).ne("status", 5).like("times", date)); } - System.out.println("======strings======="+strings); + + + System.out.println("=======siteBookings======" + siteBookings); + for (SiteBooking siteBooking : siteBookings) { + + + String[] split = siteBooking.getTimes().split(";"); + + if (siteBooking.getIsHalf() == 2) { + for (String s : split) { + String convertedValue = s.substring(11); + 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) { + String convertedValue = s.substring(11); + strings.add(convertedValue); + } + + } + } + } + System.out.println("======strings=======" + strings); + List<OrderDto> timeRanges = new ArrayList<>(); - Site site = siteClient.listById(id); -System.out.println("================"+site); + + TSite 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 = null; - if("智慧场地".equals(site.getTypeName())){ - nextTime=getNextTimeOne(currentTime); - }else { - nextTime= getNextTime(currentTime); + if ("智慧场地".equals(site.getTypeName())) { + nextTime = getNextTimeOne(currentTime); + } else { + nextTime = getNextTime(currentTime); } + String timeRange = currentTime + "-" + nextTime; OrderDto orderDto = new OrderDto(); @@ -1072,21 +1158,43 @@ LocalTime targetTime = LocalTime.parse(currentTime); boolean hasExceeded = currentTime1.isAfter(targetTime); - if (hasExceeded){ - orderDto.setState(0); - } - if (strings.contains(timeRange)){ - orderDto.setState(0); - } +// if (hasExceeded){ +// orderDto.setSelectable(0); +// } + if (strings.contains(timeRange)) { + + orderDto.setState(0); + } else { + + String stime = date + " " + currentTime; + String etime = date + " " + nextTime; + orderDto.setState(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.setState(0); + } + if (DateComparisonExample.isStringWithinTimeRange(stime, siteLock.getStartTime(), siteLock.getEndTime())) { + orderDto.setState(0); + } + if (DateComparisonExample.isStringWithinTimeRange(etime, siteLock.getStartTime(), siteLock.getEndTime())) { + orderDto.setState(0); + } + + } + + + } timeRanges.add(orderDto); currentTime = nextTime; } - System.out.println("-------------"+timeRanges); + System.out.println("-------------" + timeRanges); return timeRanges; - -- Gitblit v1.7.1