基于java+ssm+vue的海鲜自助餐厅系统

项目介绍

网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。因此海鲜餐厅信息的管理计算机化,系统化是必要的。设计开发海鲜自助餐厅系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于海鲜餐厅信息的维护和检索也不需要花费很多时间,非常的便利。

海鲜自助餐厅系统是在MySQL中建立数据表保存信息,运用Vue框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。其实现的功能包括食物库存管理,海鲜展示管理,未预定餐桌管理,已预订餐桌管理,流水管理等功能。

海鲜自助餐厅系统在让海鲜餐厅信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升海鲜自助餐厅系统提供的数据的可靠性,让系统数据的错误率降至最低。

4.2功能结构设计
前面所做的功能分析,只是本系统的一个大概功能,这部分需要在此基础上进行各个模块的详细设计。

设计的管理员的详细功能见下图,管理员登录进入本人后台之后,管理食物库存,海鲜信息,管理预订和未预定餐桌,管理订单流水。
在这里插入图片描述
设计的用户的详细功能见下图,用户预订餐桌,对海鲜进行点餐,查看订单记录。
在这里插入图片描述

开发环境

编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SSM
编译工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序ue/爬虫/c#/asp.net

系统实现

5 系统实现
在此部分内容中,主要通过系统功能的运行效果图展示前面设计的最终结果。系统实现对编制人员的技术能力有较高要求,因为需要他们使用编程的方式去实现系统设计的方案。
5.1 管理员功能实现
5.1.1 食物库存管理
管理员权限中的食物库存管理,其运行效果见下图。管理员查看各种海鲜的库存数量,可以根据海鲜名称查询海鲜库存,能够修改海鲜库存,删除海鲜库存信息。
在这里插入图片描述5.1.2 海鲜展示管理
管理员权限中的海鲜展示管理,其运行效果见下图。管理员新增海鲜信息,可以修改海鲜名称,海鲜图片,海鲜单价等信息,可以删除海鲜信息。
在这里插入图片描述5.1.3 未预定餐桌管理
管理员权限中的未预定餐桌管理,其运行效果见下图。管理员根据餐桌名称查询未预定餐桌信息,可以对未预定餐桌信息进行修改,删除。
在这里插入图片描述5.1.4 流水管理
管理员权限中的流水管理,其运行效果见下图。管理员查询订单流水信息,设置用户已支付的订单为已支付状态。
在这里插入图片描述5.2 用户功能实现
5.2.1 海鲜点餐
用户权限中的海鲜点餐,其运行效果见下图。用户在已经预订餐桌的情况下,在本页面对需要的海鲜登记点餐数量,最后提交点餐订单即可。
在这里插入图片描述
5.2.2 未预定餐桌
用户权限中的未预定餐桌,其运行效果见下图。用户选择未预定状态的餐桌进行预订。
在这里插入图片描述5.2.3 已预订餐桌
用户权限中的已预订餐桌,其运行效果见下图。用户可以查看已预订餐桌信息,可以取消已经预订的餐桌。
在这里插入图片描述
5.2.4 订单记录
用户权限中的订单记录,其运行效果见下图。用户查看在该餐厅消费的订单明细。
在这里插入图片描述

核心代码

package com.controller;

import java.text.SimpleDateFormat;
import java.util.*;
import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;

import com.entity.DingdanxiangqingEntity;

import com.service.DingdanxiangqingService;
import com.utils.PageUtils;
import com.utils.R;

/**
 * 订单详情
 * 后端接口
*/
@RestController
@Controller
@RequestMapping("/dingdanxiangqing")
public class DingdanxiangqingController {
    private static final Logger logger = LoggerFactory.getLogger(DingdanxiangqingController.class);

    @Autowired
    private DingdanxiangqingService dingdanxiangqingService;

    /**
    * 后端列表
    */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params){
        logger.debug("Controller:"+this.getClass().getName()+",page方法");
        PageUtils page = dingdanxiangqingService.queryPage(params);
        return R.ok().put("data", page);
    }
    /**
    * 后端详情
    */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        logger.debug("Controller:"+this.getClass().getName()+",info方法");
        DingdanxiangqingEntity dingdanxiangqing = dingdanxiangqingService.selectById(id);
        if(dingdanxiangqing!=null){
            return R.ok().put("data", dingdanxiangqing);
        }else {
            return R.error(511,"查不到数据");
        }

    }

    /**
    * 后端保存
    */
    @RequestMapping("ve")
    public R save(@RequestBody DingdanxiangqingEntity dingdanxiangqing, HttpServletRequest request){
        logger.debug("Controller:"+this.getClass().getName()+",save");
        Wrapper<DingdanxiangqingEntity> queryWrapper = new EntityWrapper<DingdanxiangqingEntity>()
            .eq("odd", dingdanxiangqing.getOdd())
            .eq("hx_types", dingdanxiangqing.getHxTypes())
            .eq("number", dingdanxiangqing.getNumber())
            ;
        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        DingdanxiangqingEntity dingdanxiangqingEntity = dingdanxiangqingService.selectOne(queryWrapper);
        if(dingdanxiangqingEntity==null){
            dingdanxiangqingService.insert(dingdanxiangqing);
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }

    /**
    * 修改
    */
    @RequestMapping("/update")
    public R update(@RequestBody DingdanxiangqingEntity dingdanxiangqing, HttpServletRequest request){
        logger.debug("Controller:"+this.getClass().getName()+",update");
        //根据字段查询是否有相同数据
        Wrapper<DingdanxiangqingEntity> queryWrapper = new EntityWrapper<DingdanxiangqingEntity>()
            .notIn("id",dingdanxiangqing.getId())
            .eq("odd", dingdanxiangqing.getOdd())
            .eq("hx_types", dingdanxiangqing.getHxTypes())
            .eq("number", dingdanxiangqing.getNumber())
            ;
        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        DingdanxiangqingEntity dingdanxiangqingEntity = dingdanxiangqingService.selectOne(queryWrapper);
        if(dingdanxiangqingEntity==null){
            dingdanxiangqingService.updateById(dingdanxiangqing);//根据id更新
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }


    /**
    * 删除
    */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        logger.debug("Controller:"+this.getClass().getName()+",delete");
        dingdanxiangqingService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

论文参考

在这里插入图片描述

目 录
1 绪论 1
1.1 选题背景 1
1.2 选题意义 1
1.3 研究内容 2
2 系统开发技术 3
2.1 Java语言 3
2.2 SSM框架 3
2.3 MYSQL数据库 4
2.4 Vue框架 4
3 系统分析 5
3.1可行性研究 5
3.1.1经济可行性 5
3.1.2时间可行性 5
3.1.3操作可行性 5
3.2系统性能分析 6
3.2.1系统易用性 6
3.2.2系统健壮性 6
3.2.3系统安全性 6
3.3 系统流程分析 6
3.4系统功能分析 9
4 系统设计 12
4.1系统目标 12
4.2功能结构设计 13
4.3数据库设计 14
4.3.1数据库E-R图 14
4.3.2 数据库表结构 17
5 系统实现 20
5.1 管理员功能实现 20
5.1.1 食物库存管理 20
5.1.2 海鲜展示管理 20
5.1.3 未预定餐桌管理 21
5.1.4 流水管理 21
5.2 用户功能实现 22
5.2.1 海鲜点餐 22
5.2.2 未预定餐桌 22
5.2.3 已预订餐桌 23
5.2.4 订单记录 23
6系统测试 25
6.1 系统测试的类型 25
6.2 功能测试 26
6.3 可用性测试 26
6.4 测试结果分析 26
结 论 27
参考文献 29
致 谢 30

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值