mitao
2025-11-05 faaf4ce0e117cd3f841fd06003e3dfdb2d0f7ebb
Merge remote-tracking branch 'origin/2.0' into 2.0
7个文件已修改
88 ■■■■■ 已修改文件
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_add.html 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/CodeCallBackController.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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) {