💖💖作者:IT跃迁谷毕设展
💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我!
💛💛想说的话:感谢大家的关注与支持!
💜💜
Java实战项目集
微信小程序实战项目集
Python实战项目集
安卓Android实战项目集
💕💕文末获取源码
文章目录
运动场馆预约系统-系统简介
现如今,预约这种行为方式更适合当下快节奏,高效率的生活,随着技术不断发展和专业人才不断增加,在生活中,却又普遍存在运动场所排队久,没有场地可供使用等情况。线上的运动场馆预约系统的实现,可以解决生活中普遍存在的公共设施利用率低的问题。除此之外,针对目前的疫情管控工作,也有一定的帮助。管理人员可以通过设置开放时间段和限制容纳人数,对预约人流量进行控制,可以一定程度上减少因人员过度聚集导致疫情传播。
由此“IT跃迁谷毕设展”准备开发一个运动场馆预约系统。
运动场馆预约系统-技术选型
开发语言:Java+Python
数据库:MySQL
系统架构:B/S
后端框架:SpringBoot(Spring+SpringMVC+Mybatis)+Django
前端:Vue+HTML+CSS+JavaScript+jQuery
运动场馆预约系统-图片展示
运动场馆预约系统-代码展示
运动场馆预约系统-Java
public void run(String... args) throws Exception {
//更新csms_vdstate表的信息
List<Csms_Venue> csms_venueLists = adminService.queryAllVenue();
for(Csms_Venue csms_venue:csms_venueLists){
//删除原有记录
adminService.deleteVdstate(csms_venue.getVenue_Id());
//设置预定日期表
Date date = new Date();
for(int i=0;i<3;i++){
//利用日历计算时间
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
//加相应的天数
if(i!=0){
calendar.add(Calendar.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动
}
date = calendar.getTime();
Csms_Vdstate csms_vdstate = new Csms_Vdstate();
csms_vdstate.setVdstate_Id(csms_venue.getVenue_Id());
csms_vdstate.setVdstate_Date(date);
StringBuffer stringBuffer = new StringBuffer("11111111111111111111111");
//将未开馆前的时间设置为0
for(int y = 0;y<csms_venue.getVenue_Open(); y++){
if(stringBuffer.charAt(y)=='1'){
stringBuffer.replace(y,y+1,"0");
}
}
//将闭馆后的时间设置为0
for(int y = stringBuffer.length()-1;y>=csms_venue.getVenue_Close(); y--){
if(stringBuffer.charAt(y)=='1'){
stringBuffer.replace(y,y+1,"0");
}
}
csms_vdstate.setVdstate_St(stringBuffer.toString());
adminService.addVdstate(csms_vdstate);
}
}
ScheduledTasksController scheduledTasksController = (ScheduledTasksController) SpringContextUtil.getBean("scheduledTasksController");
scheduledTasksController.updateData();
}
运动场馆预约系统-Python
def choose_block(self, nodes):
try:
free_cnt = 0
for i in self.left_block:
logging.info("%d点 %d号 状态 %s" % (self.when_to_start,
i // 5 + 1, nodes[i].get_attribute('class')))
if 'free' in nodes[i].get_attribute('class'):
free_cnt = free_cnt + 1
nodes[i].click()
logging.info("预定了 %d点 开始 %d 号" %
(self.when_to_start, i // 5 + 1))
self.during_time = self.during_time - 1
if self.during_time > 0 and 'free' in nodes[i + 1].get_attribute('class'):
nodes[i + 1].click()
logging.info("预定了 %d点 开始 %d 号" %
(self.when_to_start + 1, (i + 1) // 5 + 1))
self.during_time = self.during_time - 1
break
if self.during_time > 0:
for i in self.left_block:
logging.info("%d点 %d号 状态 %s" % (
self.when_to_start + 1, (i + 1) // 5 + 1, nodes[i + 1].get_attribute('class')))
if 'free' in nodes[i + 1].get_attribute('class'):
free_cnt = free_cnt + 1
nodes[i + 1].click()
logging.info("预定了 %d点 开始 %d 号" %
(self.when_to_start + 1, (i + 1) // 5 + 1))
self.during_time = self.during_time - 1
break
if free_cnt == 0:
raise ValueError("没有空场地了")
except IndexError as e:
raise IndexError('选择场地时数组越界')
except Exception as e:
raise
def move_verify(self):
t = datetime.now()
bg_ = base64.b64decode(self.find_by_classname(
'verify-img-panel').find_element_by_tag_name('img').get_attribute('src')[22:])
tp_ = base64.b64decode(self.find_by_classname(
'verify-sub-block').find_element_by_tag_name('img').get_attribute('src')[22:])
bg = cv2.imdecode(np.frombuffer(bg_, dtype=np.uint8), flags=1)
tp = cv2.imdecode(np.frombuffer(tp_, dtype=np.uint8), flags=1)
distance = identify_gap(bg, tp, os.path.join(
filePath, 'old_log', '%s-%d-%d.png' % (threading.current_thread().getName(), t.month, t.day)))
tracks = get_track(distance)
slider = self.find_by_classname('verify-move-block')
self.move_to_gap(slider, sum(tracks) + 3)
运动场馆预约系统-结语
💕💕
Java实战项目集
微信小程序实战项目集
Python实战项目集
安卓Android实战项目集
💟💟如果大家有任何疑虑,欢迎在下方位置详细交流。