From 7c7ff243aa4d2830aac3223cf59775d43c372be1 Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期一, 27 十一月 2023 14:46:27 +0800
Subject: [PATCH] 11.27.2
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteLock.java | 41 +++++
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/SiteLockServiceImpl.java | 27 +++
cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_add.html | 35 +++-
cloud-server-management/src/main/java/com/dsh/course/entity/SiteLock.java | 41 +++++
cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/DateComparisonExample.java | 44 +++++
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 32 ++-
cloud-server-management/src/main/java/com/dsh/course/mapper/SiteLockMapper.java | 17 ++
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java | 2
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/ISiteLockService.java | 17 ++
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java | 119 +++++++-------
cloud-server-management/src/main/resources/mapper/SiteLockMapper.xml | 11 +
cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info.js | 36 +++
12 files changed, 336 insertions(+), 86 deletions(-)
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
index 05d74e9..39ea1df 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -138,8 +138,7 @@
private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm");
- @Autowired
- private TOrderService orderService;
+
@Autowired
private ICoursePackageOrderStudentService coursePackageOrderStudentService;
@@ -841,18 +840,28 @@
return videoVos;
}
+
+
+
@PostMapping("/base/coursePack/allPaymentCourseList")
@ResponseBody
public List<CouponPaymentVo> getAppuserCourseList(@RequestBody Integer appUserId) {
List<CouponPaymentVo> paymentVos = new ArrayList<>();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
- List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
- .eq("appUserId", appUserId)
- .eq("payType", 3)
+// List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
+// .eq("appUserId", appUserId)
+// .eq("payType", 3)
+// .eq("payStatus", 2)
+// .eq("state", 1));
+
+
+ List<CoursePackageOrder> list = coursePackageOrderService.list(new QueryWrapper<CoursePackageOrder>().eq("appUserId", appUserId).eq("payType", 3)
.eq("payStatus", 2)
.eq("state", 1));
+
+
if (list.size() > 0) {
- for (TCoursePackagePayment tCoursePackagePayment : list) {
+ for (CoursePackageOrder tCoursePackagePayment : list) {
CouponPaymentVo couponPaymentVo = new CouponPaymentVo();
couponPaymentVo.setTime(simpleDateFormat.format(tCoursePackagePayment.getInsertTime()));
couponPaymentVo.setAmount(tCoursePackagePayment.getPlayPaiCoin());
@@ -1115,6 +1124,7 @@
}
+
/**
* 已报名课程详情
*/
@@ -1138,10 +1148,12 @@
CourseDetailsResponse courseDetailsResponse = packagePaymentService.queryRegisteredCourseDetails(coursePayId, appUserId, lon, lat);
- if (orderId != null) {
- TOrder byId = orderService.getById(orderId);
- courseDetailsResponse.setAmount(byId.getPrice());
- }
+
+
+// if (orderId != null) {
+// TOrder byId = orderService.getById(orderId);
+// courseDetailsResponse.setAmount(byId.getPrice());
+// }
return ResultUtil.success(courseDetailsResponse);
} catch (Exception e) {
e.printStackTrace();
diff --git a/cloud-server-management/src/main/java/com/dsh/course/entity/SiteLock.java b/cloud-server-management/src/main/java/com/dsh/course/entity/SiteLock.java
new file mode 100644
index 0000000..5790b73
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/entity/SiteLock.java
@@ -0,0 +1,41 @@
+package com.dsh.course.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author zhibing.pu
+ * @Date 2023/7/18 14:41
+ */
+@Data
+@TableName("t_site_lock")
+public class SiteLock {
+ /**
+ * 主键
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+ /**
+ * 场地id
+ */
+ @TableField("siteId")
+ private Integer siteId;
+ /**
+ * 锁定开始时间
+ */
+ @TableField("startTime")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date startTime;
+ /**
+ * 锁定结束时间
+ */
+ @TableField("endTime")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date endTime;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/mapper/SiteLockMapper.java b/cloud-server-management/src/main/java/com/dsh/course/mapper/SiteLockMapper.java
new file mode 100644
index 0000000..985d5f6
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/mapper/SiteLockMapper.java
@@ -0,0 +1,17 @@
+package com.dsh.course.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import com.dsh.course.feignClient.other.model.TSiteLockDTO;
+import com.dsh.guns.modular.system.model.SiteLock;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @author zhibing.pu
+ * @Date 2023/7/18 14:43
+ */
+public interface SiteLockMapper extends BaseMapper<SiteLock> {
+ List<TSiteLockDTO> getListById(@Param("id") Integer id);
+}
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 51a35a9..32c31f1 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
@@ -26,6 +26,7 @@
import com.dsh.guns.modular.system.model.*;
import com.dsh.guns.modular.system.model.dto.*;
import com.dsh.guns.modular.system.service.*;
+import com.dsh.guns.modular.system.util.DateComparisonExample;
import com.dsh.guns.modular.system.util.HttpRequestUtil;
import com.dsh.guns.modular.system.util.ResultUtil;
@@ -1021,70 +1022,72 @@
private SiteClient siteClient;
+
@RequestMapping("/yuyuetimes/{id}")
@ResponseBody
- public List<OrderDto> yuyuetimes(@PathVariable("id") Integer id,String 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);
+ public List<OrderDto> yuyuetimes(@PathVariable("id") Integer id,String day,String siteName,String halfName) {
+// 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;
- 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 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;
+return null;
}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteLock.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteLock.java
new file mode 100644
index 0000000..5016680
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteLock.java
@@ -0,0 +1,41 @@
+package com.dsh.guns.modular.system.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author zhibing.pu
+ * @Date 2023/7/18 14:41
+ */
+@Data
+@TableName("t_site_lock")
+public class SiteLock {
+ /**
+ * 主键
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+ /**
+ * 场地id
+ */
+ @TableField("siteId")
+ private Integer siteId;
+ /**
+ * 锁定开始时间
+ */
+ @TableField("startTime")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date startTime;
+ /**
+ * 锁定结束时间
+ */
+ @TableField("endTime")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date endTime;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/ISiteLockService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/ISiteLockService.java
new file mode 100644
index 0000000..c4dc93f
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/ISiteLockService.java
@@ -0,0 +1,17 @@
+package com.dsh.guns.modular.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.dsh.other.entity.SiteLock;
+import com.dsh.other.model.dto.siteDto.TSiteLockDTO;
+
+import java.util.List;
+
+/**
+ * @author zhibing.pu
+ * @Date 2023/7/18 14:44
+ */
+public interface ISiteLockService extends IService<SiteLock> {
+ List<TSiteLockDTO> getListById(Integer id);
+
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/SiteLockServiceImpl.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/SiteLockServiceImpl.java
new file mode 100644
index 0000000..076e1f1
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/SiteLockServiceImpl.java
@@ -0,0 +1,27 @@
+package com.dsh.guns.modular.system.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.other.entity.SiteLock;
+import com.dsh.other.mapper.SiteLockMapper;
+import com.dsh.other.model.dto.siteDto.TSiteLockDTO;
+import com.dsh.other.service.ISiteLockService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @author zhibing.pu
+ * @Date 2023/7/18 14:45
+ */
+@Service
+public class SiteLockServiceImpl extends ServiceImpl<SiteLockMapper, SiteLock> implements ISiteLockService {
+ @Autowired
+ private SiteLockMapper siteLockMapper;
+
+ @Override
+ public List<TSiteLockDTO> getListById(Integer id) {
+ return siteLockMapper.getListById(id);
+ }
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/DateComparisonExample.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/DateComparisonExample.java
new file mode 100644
index 0000000..4eb4ac0
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/DateComparisonExample.java
@@ -0,0 +1,44 @@
+package com.dsh.guns.modular.system.util;
+
+import org.springframework.stereotype.Component;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+public class DateComparisonExample {
+
+ private static Date parseDate(String dateString) {
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ try {
+ return formatter.parse(dateString);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public static boolean isStringDateBetween(String stringValue, Date startDate, Date endDate) {
+ String[] dateRange = stringValue.split(" - ");
+ Date valueStartDate = parseDate(dateRange[0]);
+ Date valueEndDate = parseDate(dateRange[1]);
+
+ return (valueStartDate.after(startDate) || valueStartDate.equals(startDate))
+ && (valueEndDate.before(endDate) || valueEndDate.equals(endDate));
+ }
+
+ public static boolean isStringWithinTimeRange(String stringValue, Date startTime, Date endTime) {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ try {
+ Date dateValue = sdf.parse(stringValue);
+ return dateValue.after(startTime) && dateValue.before(endTime);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+}
\ No newline at end of file
diff --git a/cloud-server-management/src/main/resources/mapper/SiteLockMapper.xml b/cloud-server-management/src/main/resources/mapper/SiteLockMapper.xml
new file mode 100644
index 0000000..2a736a2
--- /dev/null
+++ b/cloud-server-management/src/main/resources/mapper/SiteLockMapper.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dsh.other.mapper.SiteLockMapper">
+
+
+ <select id="getListById" resultType="com.dsh.other.model.dto.siteDto.TSiteLockDTO">
+ select * from t_site_lock
+ where siteId = #{id}
+ and endTime > NOW()
+ </select>
+</mapper>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_add.html
index 5af26e3..47b7fb1 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_add.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_add.html
@@ -41,6 +41,8 @@
</div>
</div>
+
+
<div class="form-group">
<label class="col-sm-3 control-label">*预约类型:</label>
<div class="col-sm-4">
@@ -54,7 +56,7 @@
<div class="form-group">
<label class="col-sm-3 control-label">*上课场地:</label>
<div class="col-sm-4">
- <select class="form-control" id="siteId" name="siteId" >
+ <select class="form-control" id="siteId" name="siteId" onchange="CoursePackageInfo.queryHalf()" >
<option >请选择场地</option>
@for(obj in site){
<option value="${obj.id}" data-custom-data="1">${obj.name}</option>
@@ -63,11 +65,19 @@
</div>
</div>
+
+ <div class="form-group" id="half1" hidden="hidden">
+ <label class="col-sm-3 control-label">*选择半场:</label>
+ <div class="col-sm-4">
+ <select class="form-control" name="half" id="half">
+ </select>
+ </div>
+ </div>
+
<div class="form-group">
<label class="col-sm-3 control-label">预约时间:</label>
<div class="col-sm-4">
<input class="form-control" id="time" name="time" type="text" onchange="CoursePackageInfo.addTime()">
-
</div>
</div>
@@ -80,13 +90,7 @@
</div>
</div>
- <div class="form-group" id="half1" hidden="hidden">
- <label class="col-sm-3 control-label">*选择半场:</label>
- <div class="col-sm-4">
- <select class="form-control" name="half" id="half">
- </select>
- </div>
- </div>
+
<div class="form-group">
<label class="col-sm-3 control-label">现金价格:</label>
@@ -219,6 +223,19 @@
})
ajax3.start()
+
+ var ajax1 = new $ax(Feng.ctxPath + "/ball/halfName/"+ $('#siteId').val(), function(data){
+ console.log("================"+data)
+ if(data!=null){
+ let htmlStr = '';
+ for (let i = 0; i < data.length; i++) {
+ htmlStr += '<option value="' + data[i] + '">' + data[i] + '</option>'
+ }
+ $("#half").empty().append(htmlStr);
+ }
+ })
+ ajax1.start()
+
}
}
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info.js b/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info.js
index 7bb4003..13d0683 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info.js
@@ -63,8 +63,36 @@
}
})
ajax.set("date",$('#time').val());
+ var siteId = document.getElementById("siteId");
+ var siteName = siteId.options[siteId.selectedIndex].text;
+
+ var halfId = document.getElementById("half");
+ var halfName = halfId.options[halfId.selectedIndex].text;
+ ajax.set("siteName",siteName);
+ ajax.set("halfName",halfName);
+
ajax.start()
+ // var ajax1 = new $ax(Feng.ctxPath + "/ball/halfName/"+ $('#siteId').val(), function(data){
+ // console.log("================"+data)
+ // if(data!=null){
+ // let htmlStr = '';
+ // for (let i = 0; i < data.length; i++) {
+ // htmlStr += '<option value="' + data[i] + '">' + data[i] + '</option>'
+ // }
+ // $("#half").empty().append(htmlStr);
+ // }
+ // })
+ // ajax1.start()
+
+
+
+
+
+};
+
+
+CoursePackageInfo.queryHalf = function (a) {
var ajax1 = new $ax(Feng.ctxPath + "/ball/halfName/"+ $('#siteId').val(), function(data){
console.log("================"+data)
if(data!=null){
@@ -76,13 +104,7 @@
}
})
ajax1.start()
-
-
-
-
-
-};
-
+}
CoursePackageInfo.addTime1 = function (a) {
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 ade018d..c35c64a 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
@@ -174,9 +174,7 @@
System.out.println("=======date======" + day);
List<String> strings = new ArrayList<>();
-// List<SiteBooking> siteBookings = siteClient.listBooks(id);
List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).ne("status", 5).eq("nextName", siteName).like("times", day));
-
if (siteName == null || siteName.equals("")) {
siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).ne("status", 5).like("times", day));
--
Gitblit v1.7.1