计算机毕业设计-基于Java+SSM架构的海鲜自助餐厅系统项目开发实战(附源码+文档)

大家好!我是职场程序猿,感谢您阅读本文,欢迎一键三连哦。

💞当前专栏:Java毕业设计

精彩专栏推荐👇🏻👇🏻👇🏻

🎀 Python毕业设计
🌎微信小程序毕业设计

开发运行环境

  • 框架:ssm
  • JDK版本:JDK1.8
  • 服务器:tomcat7
  • 数据库:mysql 5.7
  • 数据库工具:Navicat12
  • 开发软件:eclipse/myeclipse/idea
  • Maven包:Maven3.3.9
  • 浏览器:谷歌浏览器

源码下载地址:

https://download.csdn.net/download/m0_46388260/89271107

论文目录

【如需全文请按文末获取联系】
在这里插入图片描述
在这里插入图片描述

一、项目简介

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

二、系统设计

2.1软件功能模块设计

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

设计的用户的详细功能见下图,用户预订餐桌,对海鲜进行点餐,查看订单记录。
在这里插入图片描述

2.2数据库设计

(1)设计的海鲜实体,其具备的属性见下图。
在这里插入图片描述
(2)设计的管理员实体,其具备的属性见下图。
在这里插入图片描述
(3)设计的用户实体,其具备的属性见下图。
在这里插入图片描述
(4)设计的餐桌实体,其具备的属性见下图。
在这里插入图片描述

(5)设计的各实体间关系见下图。
在这里插入图片描述

三、系统项目部分截图

3.1管理员功能实现

食物库存管理
管理员权限中的食物库存管理,其运行效果见下图。管理员查看各种海鲜的库存数量,可以根据海鲜名称查询海鲜库存,能够修改海鲜库存,删除海鲜库存信息。

在这里插入图片描述
海鲜展示管理
管理员权限中的海鲜展示管理,其运行效果见下图。管理员新增海鲜信息,可以修改海鲜名称,海鲜图片,海鲜单价等信息,可以删除海鲜信息。
在这里插入图片描述
未预定餐桌管理
管理员权限中的未预定餐桌管理,其运行效果见下图。管理员根据餐桌名称查询未预定餐桌信息,可以对未预定餐桌信息进行修改,删除。
在这里插入图片描述

3.2用户功能实现

海鲜点餐
用户权限中的海鲜点餐,其运行效果见下图。用户在已经预订餐桌的情况下,在本页面对需要的海鲜登记点餐数量,最后提交点餐订单即可。
在这里插入图片描述
已预订餐桌
用户权限中的已预订餐桌,其运行效果见下图。用户可以查看已预订餐桌信息,可以取消已经预订的餐桌。
在这里插入图片描述
订单记录
用户权限中的订单记录,其运行效果见下图。用户查看在该餐厅消费的订单明细。
在这里插入图片描述

四、部分核心代码

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;

/**
 * 订单详情
 * 后端接口
 * @author
 * @email
 * @date 2021-03-09
*/
@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("/save")
    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();
    }
}


获取源码或论文

如需对应的论文或源码,以及其他定制需求,也可以下方微信联系我。

  • 12
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值