javaee基于spring boot框架的项目便捷网住宿预约系统[源码+文档+远程+答疑

目录

一、项目介绍 

二、文档截图

三、运行截图

一、项目介绍 

住宿预约平台-计算机毕设java毕业设计项目源码-可定制-IT实战课堂_哔哩哔哩_bilibili项目资料网址: http://www.itszkt.com毕业设计课程设计项目资料加老师主页或进去网站下载学习|有学习交流群|公众号:IT实战课堂软件下载地址:http://dgu.h5.xeknow.com/s/1WC8Xg重磅福利:三连并关注老师的同学可加老师微信赠送论文不限次数免费查重权限以及项目免费指导+答辩指导和答疑!, 视频播放量 129、弹幕量 0、点赞数 0、投硬币枚数 0、收藏人数 1、转发人数 1, 视频作者 匠心IT学院官方, 作者简介 毕业设计课程设计项目资料:http://itzygogogo.com 老师微信: itszy999,相关视频:计算机毕业设计项目源码springboot+vue酒店管理系统微信小程序源代码实战教程带小白从零做毕设项目-项目源码定制定做,【网络安全毕业设计项目】10小时搞定毕设(内含网安+信安+渗透测试等技术知识点),在线日记本小程序 【云开发版本】【java springboot版本】,【Java实战项目】基于jsp+servlet的图书借阅管理系统-Java项目/Java毕业设计(附源码 数据库),【免费】微信小程序扫码点餐(订餐)系统(uni-app+SpringBoot后端+Vue管理端技术实现) Java毕业设计,非常好的源码,毕设2024届计算机毕业设计亮点选题指导,创新特色题目,去项目名的项目运行方式,计算机毕业设计java毕设项目源码springboot电影推荐系统,计算机毕业设计微信小程序毕设项目电子书城+后台管理系统,计算机毕业设计java毕设项目源码基于Springboot学生在线考试系统-IT实战课堂icon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1PT411L7xa?share_source=copy_web项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功以及课程答疑与微信售后交流群、送查重系统不限次数免费查重等福利!

技术路线

开发语言:Java、小程序

前端技术:JavaScript、VUE.js(2.X)、css3

后端框架:ssm

JDK版本:JDK1.8

服务器:tomcat9

数据库:mysql 5.7

数据库工具:Navicat11

开发软件:eclipse/myeclipse/idea

浏览器:谷歌浏览器

小程序运行软件:微信开发者

下面是资料信息截图:

二、文档介绍

主要功能:

用户:

(1)登录与注册:用户在使用时可以进行登录,若没有账号,则必须先注册账号,用户将自己的个人信息添加到数据库后才能及进行登录操作。

(2)查看商家:用户登陆后,可在前台查看商家详细信息。

(3)查看并修改个人信息:用户登录便捷网住宿预约系统后,不仅可以在前端的个人中心页面查看用户上传到数据库的详细情况,还可以通过系统后端个人信息页面来查看自己的上传的详细内容,但是对个人详细情况的更正只能在后端才能进行。

(4)查看订单:用户需要先在前端页面选择房间并提交预定请求,然后通过后台管理进入后端页面,最后通过房间预订界面查看自己的订单详情,包括预定编号、用户姓名、用户手机号和房间价格及商家地址等信息。

商家功能模块设计

>

(1)登录与注册:商家在使用便捷网住宿预约系统时,必须先注册账号,将自己的详细信息添加到后台的数据库,注册完成后才能实现登录功能。

(2)管理房间信息:商家登录便捷网住宿预约系统后,可在进入到后端页面,通过房间信息管理页面进行对房间信息增删改查的操作。

(3)查看并修改个人信息:商家登录便捷网住宿预约系统后,会直接进入到后端管理页面,商家可以在后端通过个人信息页面查看自己的个人信息,也可以在该页面对错误信息进行手动修改,在修改后上传数据库并进行保存。

(4)查看订单:商家可以在后端页面,通过订单管理页面查看订单详情,包括订单编号、房间名称和用户名称等信息。

(5)查看并发表评论:商家可在房间信息页面查看用户的评论,也可以通过后端在房间信息页面查看,并在该页面回复用户的评论,以实现用户与商家的互动。

管理员功能模块设计

(1)登录:管理员只能登录,不能注册,以保证系统的安全性。

(2)管理商家信息:管理员在登陆便捷网住宿预约系统后,可以在后台页面,通过商家管理页面,查看所有在该系统注册过的商家的详细情况,并在该页面实现对需要更正的商家信息的进行更正,对违反规则的商家进行注销惩罚。

(3)管理用户信息:管理员在登陆便捷网住宿预约系统后,会直接进入后台管理页面,通过用户管理页面,管理员可以查看所有在该系统注册过的用户的详细情况,并对需要更正的用户信息进行更改,确保数据库信息与用户本人信息一致。管理员也可以对违规用户进行注销惩罚处理。

(4)管理评论:管理员可以通过房间详情页面,查看用户对房间有关入住体验的感受,和对商家进一步改善房间设施的建议。管理员也可以对其他方面有意义的提问进行回答,并清除违规的评论。

(5)管理订单:管理员在登陆便捷网住宿预约系统后,可以在后台通过房间预订页面,查看所有订单的详细信息。管理员也可以在该页面实现对无效的或老旧的订单的清除处理。

/error/404.png

/error/404.png

/error/404.png

/error/404.png

/error/404.png

/error/404.png

/error/404.png

三、部分代码

<template>
  <div>
    <el-form
      class="detail-form-content"
      ref="ruleForm"
      :model="ruleForm"
      label-width="80px"
    >  
     <el-row>
      <el-col :span="12">
        <el-form-item   v-if="flag=='huiyuan'"  label="会员账号" prop="huiyuanzhanghao">
          <el-input v-model="ruleForm.huiyuanzhanghao" readonly              placeholder="会员账号" clearable></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item   v-if="flag=='huiyuan'"  label="会员姓名" prop="huiyuanxingming">
          <el-input v-model="ruleForm.huiyuanxingming"               placeholder="会员姓名" clearable></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item   v-if="flag=='huiyuan'"  label="身份证" prop="shenfenzheng">
          <el-input v-model="ruleForm.shenfenzheng"               placeholder="身份证" clearable></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item v-if="flag=='huiyuan'"  label="性别" prop="xingbie">
          <el-select v-model="ruleForm.xingbie" placeholder="请选择性别">
            <el-option
                v-for="(item,index) in huiyuanxingbieOptions"
                v-bind:key="index"
                :label="item"
                :value="item">
            </el-option>
          </el-select>
        </el-form-item>
      </el-col>
      <el-col :span="24">  
        <el-form-item v-if="flag=='huiyuan'" label="头像" prop="touxiang">
          <file-upload
          tip="点击上传头像"
          action="file/upload"
          :limit="3"
          :multiple="true"
          :fileUrls="ruleForm.touxiang?ruleForm.touxiang:''"
          @change="huiyuantouxiangUploadChange"
          ></file-upload>
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item   v-if="flag=='huiyuan'"  label="手机" prop="shouji">
          <el-input v-model="ruleForm.shouji"               placeholder="手机" clearable></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item   v-if="flag=='yuangong'"  label="工号" prop="gonghao">
          <el-input v-model="ruleForm.gonghao" readonly              placeholder="工号" clearable></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item   v-if="flag=='yuangong'"  label="员工姓名" prop="yuangongxingming">
          <el-input v-model="ruleForm.yuangongxingming"               placeholder="员工姓名" clearable></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item v-if="flag=='yuangong'"  label="性别" prop="xingbie">
          <el-select v-model="ruleForm.xingbie" placeholder="请选择性别">
            <el-option
                v-for="(item,index) in yuangongxingbieOptions"
                v-bind:key="index"
                :label="item"
                :value="item">
            </el-option>
          </el-select>
        </el-form-item>
      </el-col>
      <el-col :span="24">  
        <el-form-item v-if="flag=='yuangong'" label="头像" prop="touxiang">
          <file-upload
          tip="点击上传头像"
          action="file/upload"
          :limit="3"
          :multiple="true"
          :fileUrls="ruleForm.touxiang?ruleForm.touxiang:''"
          @change="yuangongtouxiangUploadChange"
          ></file-upload>
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item   v-if="flag=='yuangong'"  label="手机" prop="shouji">
          <el-input v-model="ruleForm.shouji"               placeholder="手机" clearable></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item   v-if="flag=='yuangong'"  label="邮箱" prop="youxiang">
          <el-input v-model="ruleForm.youxiang"               placeholder="邮箱" clearable></el-input>
        </el-form-item>
      </el-col>
      <el-form-item v-if="flag=='users'" label="用户名" prop="username">
        <el-input v-model="ruleForm.username" 
        placeholder="用户名"></el-input>
      </el-form-item>
      <el-col :span="24">
      <el-form-item>
        <el-button type="primary" @click="onUpdateHandler">修 改</el-button>
      </el-form-item>
      </el-col>
      </el-row>
    </el-form>
  </div>
</template>
<script>
// 数字,邮件,手机,url,身份证校验
import { isNumber,isIntNumer,isEmail,isMobile,isPhone,isURL,checkIdCard } from "@/utils/validate";

export default {
  data() {
    return {
      ruleForm: {},
      flag: '',
      usersFlag: false,
      huiyuanxingbieOptions: [],
      yuangongxingbieOptions: [],
    };
  },
  mounted() {
    var table = this.$storage.get("sessionTable");
    this.flag = table;
    this.$http({
      url: `${this.$storage.get("sessionTable")}/session`,
      method: "get"
    }).then(({ data }) => {
      if (data && data.code === 0) {
        this.ruleForm = data.data;
      } else {
        this.$message.error(data.msg);
      }
    });
    this.huiyuanxingbieOptions = "男,女".split(',')
    this.yuangongxingbieOptions = "男,女".split(',')
  },
  methods: {
    huiyuantouxiangUploadChange(fileUrls) {
        this.ruleForm.touxiang = fileUrls;
    },
    yuangongtouxiangUploadChange(fileUrls) {
        this.ruleForm.touxiang = fileUrls;
    },
    onUpdateHandler() {
      if((!this.ruleForm.huiyuanzhanghao)&& 'huiyuan'==this.flag){
        this.$message.error('会员账号不能为空');
        return
      }
      if((!this.ruleForm.mima)&& 'huiyuan'==this.flag){
        this.$message.error('密码不能为空');
        return
      }
      if( 'huiyuan' ==this.flag && this.ruleForm.shenfenzheng&&(!checkIdCard(this.ruleForm.shenfenzheng))){
        this.$message.error(`身份证应输入身份证格式`);
        return
      }
      if( 'huiyuan' ==this.flag && this.ruleForm.shouji&&(!isMobile(this.ruleForm.shouji))){
        this.$message.error(`手机应输入手机格式`);
        return
      }
      if((!this.ruleForm.gonghao)&& 'yuangong'==this.flag){
        this.$message.error('工号不能为空');
        return
      }
      if((!this.ruleForm.mima)&& 'yuangong'==this.flag){
        this.$message.error('密码不能为空');
        return
      }
      if((!this.ruleForm.yuangongxingming)&& 'yuangong'==this.flag){
        this.$message.error('员工姓名不能为空');
        return
      }
      if( 'yuangong' ==this.flag && this.ruleForm.shouji&&(!isMobile(this.ruleForm.shouji))){
        this.$message.error(`手机应输入手机格式`);
        return
      }
      if( 'yuangong' ==this.flag && this.ruleForm.youxiang&&(!isEmail(this.ruleForm.youxiang))){
        this.$message.error(`邮箱应输入邮箱格式`);
        return
      }
      if('users'==this.flag && this.ruleForm.username.trim().length<1) {
	this.$message.error(`用户名不能为空`);
        return	
      }
      this.$http({
        url: `${this.$storage.get("sessionTable")}/update`,
        method: "post",
        data: this.ruleForm
      }).then(({ data }) => {
        if (data && data.code === 0) {
          this.$message({
            message: "修改信息成功",
            type: "success",
            duration: 1500,
            onClose: () => {
            }
          });
        } else {
          this.$message.error(data.msg);
        }
      });
    }
  }
};
</script>
<style lang="scss" scoped>
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值