图书馆座位预约时间冲突提示(前后端全) 前端elementUI 时间选择器只显示时和分,SQL实现时间冲突判断

背景

帮客户定制项目,要实现图书馆预约座位的功能。
功能描述如下:学生选择开始时间和结束时间,只选择小时和分钟,提交预约后,如果该时间有冲突提示学生修改预约时间。

问题

前端样式选择的是elmentUI,但是它组件只有日期时间选择器 :年月日时分秒。不满足我的需求,所以要改造下。该怎么改造?
如何改造,后端更好处理数据以及业务逻辑?

实现过程

前端样式

时间选择器(只有时和分)

 <el-form-item label="开始时间">
    <el-time-picker v-model="form.startTime"  value-format="HH:mm" format="HH:mm"  size="small" style="width: 100%"></el-time-picker>
  </el-form-item>
  <el-form-item label="结束时间">
    <el-time-picker v-model="form.endTime" format='HH:mm' value-format="HH:mm" size="small" style="width: 100%">
    </el-time-picker>
  </el-form-item>

后端业务逻辑和SQL

 //预约前判断该座位该时间段是否被预约,如果被预约,则提示改时间段不能被预约。
        Integer seatId = seatReservation.getSeatId();
        List<SeatReservation> byNum = seatReservationDao.findByNum(seatId, seatReservation.getStartTime(), seatReservation.getEndTime());
        if (CollectionUtil.isNotEmpty(byNum)){
            throw new CustomException("-1","该时间段已经被预约");
        }

Dao

@Select("select * from seatreservation where seatId = #{seatId} and !(startTime > #{end} or endTime < #{start})")
    List<SeatReservation> findByNum(@Param("seatId")Integer seatId, @Param("start") String start, @Param("end") String end);

实现结果

在这里插入图片描述

搞定!!!!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值