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()) { 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 + "!"); }); 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(); 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; 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(); } 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()); 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) {