From faaf4ce0e117cd3f841fd06003e3dfdb2d0f7ebb Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 05 十一月 2025 15:13:55 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java | 7 +++
cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_add.html | 3 +
cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js | 29 +++++++-------
cloud-server-other/src/main/java/com/dsh/other/controller/CodeCallBackController.java | 34 ++++++++++++++++-
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java | 6 ++
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java | 2 +
cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js | 7 +++
7 files changed, 71 insertions(+), 17 deletions(-)
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
index 14acdf8..2ba8e6d 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
@@ -540,6 +540,7 @@
site.setInsertTime(new Date());
site.setState(1);
site.setOperatorId(store.getOperatorId());
+
// site.setOperatorId(UserExt.getUser().getObjectId());
// 添加场地
@@ -554,6 +555,9 @@
String area_id = data.getString("area_id");
Integer integer = Integer.valueOf(area_id);
site.setId(integer);
+ if (site.getIshalf()==2){
+ site.setHalfName("");
+ }
Integer integer1 = siteClient.addSite1(site);
// Integer integer = Integer.valueOf(spaceId);
@@ -620,6 +624,9 @@
site.setCityManagerId(store.getOperatorId());
site.setInsertTime(new Date());
site.setState(1);
+ if (site.getIshalf()==2){
+ site.setHalfName("");
+ }
siteClient.addSite(site);
// 保存价格数据
if (site.getPriceDTOS() != null && !site.getPriceDTOS().isEmpty()) {
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 e673b40..fdf9793 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
@@ -257,6 +257,8 @@
htmlStr += '<option value="' + data[i].id + '">' + data[i].name + '</option>'
}
$('#siteId').html(htmlStr);
+ $('#nextSite').html("");
+
}, function (data) {
Feng.error("获取失败!" + data.responseJSON.message + "!");
});
@@ -297,6 +299,7 @@
htmlStr += '<option value="' + data[i].id + '">' + data[i].name + '</option>'
}
$('#siteId').html(htmlStr);
+ $('#nextSite').html("");
}, function (data) {
Feng.error("获取失败!" + data.responseJSON.message + "!");
});
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js
index 25d24db..56181ad 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js
@@ -1336,7 +1336,6 @@
TSite.removeTimeSlot = function(btn) {
$(btn).closest('tr').remove();
}
-
/**
* 检查时段是否重叠
*/
@@ -1346,12 +1345,12 @@
var parts = time.split(':');
return parseInt(parts[0]) * 60 + parseInt(parts[1]);
};
-
+
var s1 = toMinutes(start1);
var e1 = toMinutes(end1);
var s2 = toMinutes(start2);
var e2 = toMinutes(end2);
-
+
// 检查重叠:时段1的结束时间 > 时段2的开始时间 且 时段1的开始时间 < 时段2的结束时间
return (e1 > s2 && s1 < e2);
}
@@ -1362,7 +1361,7 @@
TSite.validateNoTimeOverlap = function() {
var bookingTimeSlots = [];
var walkinTimeSlots = [];
-
+
// 收集订场时段
$("#booking_price_tbody tr").each(function() {
var index = $(this).data('index');
@@ -1372,7 +1371,7 @@
bookingTimeSlots.push({start: startTime, end: endTime});
}
});
-
+
// 收集散客时段
$("#walkin_price_tbody tr").each(function() {
var index = $(this).data('index');
@@ -1382,7 +1381,7 @@
walkinTimeSlots.push({start: startTime, end: endTime});
}
});
-
+
// 检查订场时段之间是否重叠
for (var i = 0; i < bookingTimeSlots.length; i++) {
for (var j = i + 1; j < bookingTimeSlots.length; j++) {
@@ -1390,14 +1389,14 @@
bookingTimeSlots[i].start, bookingTimeSlots[i].end,
bookingTimeSlots[j].start, bookingTimeSlots[j].end
)) {
- Feng.error("订场价格表中存在重叠的时段:" +
+ Feng.error("订场价格表中存在重叠的时段:" +
bookingTimeSlots[i].start + "-" + bookingTimeSlots[i].end + " 与 " +
bookingTimeSlots[j].start + "-" + bookingTimeSlots[j].end);
return false;
}
}
}
-
+
// 检查散客时段之间是否重叠
for (var i = 0; i < walkinTimeSlots.length; i++) {
for (var j = i + 1; j < walkinTimeSlots.length; j++) {
@@ -1405,17 +1404,16 @@
walkinTimeSlots[i].start, walkinTimeSlots[i].end,
walkinTimeSlots[j].start, walkinTimeSlots[j].end
)) {
- Feng.error("散客价格表中存在重叠的时段:" +
+ Feng.error("散客价格表中存在重叠的时段:" +
walkinTimeSlots[i].start + "-" + walkinTimeSlots[i].end + " 与 " +
walkinTimeSlots[j].start + "-" + walkinTimeSlots[j].end);
return false;
}
}
}
-
+
return true;
}
-
/**
* 保存所有数据(基本信息+价格配置)
*/
@@ -1425,7 +1423,10 @@
Feng.error("请先点击【生成价格表】按钮生成价格配置表!");
return;
}
-
+ // 验证时段不重叠
+ if (!TSite.validateNoTimeOverlap()) {
+ return;
+ }
// 验证人群选择
var bookingChecked = $("#audience_booking").is(':checked');
var walkinChecked = $("#audience_walkin").is(':checked');
@@ -1443,12 +1444,12 @@
return;
}
}
-
+
// 验证时段不重叠
if (!TSite.validateNoTimeOverlap()) {
return;
}
-
+
// 收集价格数据
var priceDTOS = TSite.collectPriceData();
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js
index 7f8d604..1ab07ce 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js
@@ -435,6 +435,13 @@
// Feng.info("请上传场地责任有效期图片")
// return;
// }
+ // 验证价格配置时间段不重叠
+ // 检查是否有价格配置数据(如果页面上有价格表)
+ if ($("#booking_price_tbody tr").length > 0 || $("#walkin_price_tbody tr").length > 0) {
+ if (!TSiteInfo.validateNoTimeOverlap()) {
+ return;
+ }
+ }
if($('#courseVideo').val()==''){
Feng.info("请上传消防及应急管理方案")
return;
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/CodeCallBackController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/CodeCallBackController.java
index af2b9f9..a4c3862 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/CodeCallBackController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/CodeCallBackController.java
@@ -1,7 +1,12 @@
package com.dsh.other.controller;
+import com.dsh.other.entity.SiteBooking;
+import com.dsh.other.model.QuerySiteTimes;
+import com.dsh.other.service.ISiteBookingService;
+import com.dsh.other.service.ISiteService;
import com.dsh.other.util.ResultUtil;
import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -10,6 +15,7 @@
import javax.annotation.Resource;
import java.text.ParseException;
import java.text.SimpleDateFormat;
+import java.time.LocalDate;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -23,12 +29,16 @@
@Api(tags = "硬件方调用 存储玩湃惠民卡使用记录")
@RequestMapping("/base/code")
public class CodeCallBackController {
+ @Autowired
+ private ISiteBookingService siteBookingService;
+ @Autowired
+ private ISiteService siteService;
// 进场二维码新增参数codeType 1=订场 2=散客,3=门票,玩湃惠民卡codeType=4
/**
* 硬件开门后回调 是否可进场检查接口 sid门店id rid场地id
*/
@GetMapping("/verify")
- public ResultUtil verify(Integer codeType,Integer dataId, Integer rid, Integer sid) {
+ public ResultUtil verify(Integer codeType,Integer dataId, Integer rid, Integer sid) throws Exception {
System.err.println("硬件开门后回调 校验是否可入场");
System.err.println("codeType:"+codeType);
System.err.println("dataId:"+dataId);
@@ -37,9 +47,29 @@
Date date = new Date();
// codeType二维码类型1=订场 2=散客,3=门票,玩湃惠民卡codeType=4 234需要校验能否进场
- if (codeType==1){
+ if (codeType==1 || codeType==2){
+ // 将订单设置为已核销
+ SiteBooking siteBooking = siteBookingService.getById(dataId);
+ if (siteBooking==null){
+ System.err.println("未查询到订场记录"+dataId);
+ System.err.println("codeType"+codeType);
+ return ResultUtil.error("未查询到订场记录");
+ }else{
+ siteBooking.setStatus(3);
+ siteBookingService.updateById(siteBooking);
+ }
return ResultUtil.success();
}
+ if (codeType==3){
+ // 远程调用将门票设置为已使用 然后判断是否能入场
+ LocalDate now = LocalDate.now();
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ String day = simpleDateFormat.format(now);
+ List<QuerySiteTimes> querySiteTimes = siteService.querySiteTimes(rid, day, null, null, 2);
+ }
+ if (codeType==4){
+ // 判断能否入场
+ }
return ResultUtil.success();
}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
index 08b01fb..42c9ced 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
@@ -649,6 +649,8 @@
// 进场二维码新增参数codeType 1=订场 2=散客,3=门票,玩湃惠民卡codeType=4
map.put("codeType", targetAudience);
map.put("dataId", siteBooking.getId());
+// map.put("siteName", siteBooking.getNextName()==null?"":siteBooking.getNextName());
+// map.put("halfName", siteBooking.getHalfName()==null?"":siteBooking.getHalfName());
System.err.println("订场类型:"+targetAudience);
map.put("name", site.getName());
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 1bb2d1f..63b537f 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
@@ -108,6 +108,7 @@
.stream().collect(Collectors.groupingBy(TSitePrice::getSiteId));
List<QuerySiteListVo> querySiteListVos = this.baseMapper.querySiteList(querySiteList);
for (QuerySiteListVo querySiteListVo : querySiteListVos) {
+ querySiteListVo.setPrice(0.0);
if (ToolUtil.isEmpty(querySiteList.getLon())) {
querySiteListVo.setDistance(0D);
continue;
@@ -317,7 +318,10 @@
if (querySiteTimes.getSelectable() == 1&&end.before(now)){
querySiteTimes.setSelectable(0);
querySiteTimes.setTimeAfter(1);
-
+ }
+ if (end.before(now)){
+ querySiteTimes.setSelectable(0);
+ querySiteTimes.setTimeAfter(1);
}
querySiteTimes.setSelectCount(count);
if (flag == 0 && querySiteTimes.getSelectable() == 1) {
--
Gitblit v1.7.1