Java为开发技术,实现一个高校校园点餐系统(组图)
2022-09-12 07:00:26 欢乐点

项目背景

21世纪的明天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原先的感性认识向理智认识提升,管理工作的重要性已渐渐被人们所认识,科学化的管理,使信息储存达到确切、快速、完善医院食堂点餐系统,并能提升工作管理效率,推动其发展。

论文主要是对院校校园点餐系统进行了介绍,包括研究的现况,还有涉及的开发背景,之后还对系统的设计目标进行了阐述,还有系统的需求,以及整个的设计方案,对系统的设计以及实现,也都阐述的比较细致,最后对院校校园点餐系统进行了一些具体测试。

本文以Java为开发技术,实现了一个院校校园点餐系统。院校校园点餐系统的主要使用者分为管理员;个人中心、用户管理、食堂管理、食堂菜单管理、菜系分类管理、消息留言管理、留言板管理、系统管理、订单管理,用户;个人中心、消息留言管理、我的收藏管理、订单管理,饭堂;个人中心、食堂菜单管理、菜系分类管理、消息留言管理、订单管理,前台首页;首页、食堂菜单、新闻资讯、留言反馈、我的、跳转到后台、购物车等功能。通过这种功能模块的设计,基本上实现了整个院校校园点餐系统的过程。

具体在系统设计上,采用了B/S的结构,同时,也使用Java技术在动态页面上进行了设计,后台上采用Mysql数据库,是一个十分优秀的院校校园点餐系统。

功能设计功能模块图

管理员用例

用户用例

系统结布光

功能截图

院校校园点餐系统,在系统首页可以查看首页、食堂菜单、新闻资讯、留言反馈、我的、跳转到后台、购物车等内容

用户注册、用户登入,在用户注册页面可以填写帐号、密码、姓名、角色、性别、年龄、手机、邮箱等信息进行用户注册、登录

饭堂菜单,在饭堂菜单页面通过填写食堂号、食堂名、菜品、菜系、图片、分量、食材、食堂地址、详情、价格、座位总量等信息进行添加到购物车、立即预定、点我收藏等操作。在我的地址页面通过填写联系人、手机号码、默认地址、选择地址等信息进行添加或重置操作。

管理员登陆,通过填写输入用户名、密码进行登陆

管理员登陆步入院校校园点餐系统可以查看个人中心、用户管理、食堂管理、食堂菜单管理、菜系分类管理、消息留言管理、留言板管理、系统管理、订单管理等信息。

用户管理,在用户管理页面中可以通过填写帐号、密码、姓名、角色、性别、年龄、手机、邮箱、照片、余额等内容进行查看、修改、删除等操作。

饭堂管理,在饭堂管理页面中可以查看食食堂号、密码、食堂名、管理员、食堂相片、卫生等级、联系电话、食堂地址、余额等信息,并可依照须要对已有饭堂管理进行查看、修改、删除等操作。

苏菜分类管理,在粤菜分类管理页面中可以查看苏菜等信息,并可依照须要对已有粤菜分类管理进行更改或删掉等操作

消息留言管理医院食堂点餐系统,在消息留言管理页面中可以查看帐号、姓名、角色、食堂号、食堂名、订单号、配送分、包装分、菜品分、时间、建议、是否初审、审核回复等信息,并可依照须要对已有消息留言管理进行初审、查看、修改或删掉等详尽操作

留言板管理,在留言板管理页面中可以查看留言人id、用户名、留言内容、回复内容等内容,但是按照须要对已有留言板管理进行查看、回复、修改或删掉等详尽操作

小吃资讯管理,在小吃资讯管理页面中可以查看标题、简介、图片、内容等内容,但是按照须要对已有小吃资讯管理进行查看、修改或删掉等详尽操作

订单管理,在订单管理页面中可以查看订单编号、商品表名、用户ID、商品ID、商品名称、商品图片、购买数目、价格/积分、折扣价钱、总价位/总积分、折扣总价钱、支付类型、状态、地址等内容,但是按照须要对已有订单管理进行查看,更改或删掉等详尽操作

饭堂登陆步入院校校园点餐系统可以查看个人中心、食堂菜单管理、菜系分类管理、消息留言管理、订单管理等内容。

饭堂菜单管理,在饭堂菜单管理页面中通过填写食堂号、食堂名、菜品、菜系、图片、分量、食材、食堂地址、详情、价格、座位总量、已选座位等信息,还可以依据须要对饭堂菜单管理进行查看、修改、删除等操作。

粤菜分类管理,在粤菜分类管理页面中可以填写粤菜等信息,但是按照须要对已有粤菜分类管理进行更改、删除等其他详尽操作

订单管理,在订单管理页面中通过填写订单编号、商品表名、用户ID、商品ID、商品名称、商品图片、购买数目、价格/积分、折扣价钱、总价位/总积分、折扣总价钱、支付类型、状态、地址等内容进行查看、发货等操作

用户登入步入院校校园点餐系统可以查看个人中心、消息留言管理、我的收藏管理、订单管理等内容。

消息留言管理,在消息留言管理页面中通过填写帐号、姓名、角色、食堂号、食堂名、订单号、配送分、包装分、菜品分、时间、建议、是否初审、审核回复等信息,还可以依据须要对消息留言管理进行查看、修改、删除等操作。

订单管理,在订单管理页面中可以查看订单编号、商品表名、用户ID、商品ID、商品名称、商品图片、购买数目、价格/积分、折扣价钱、总价位/总积分、折扣总价钱、支付类型、状态、地址等信息,但是按照须要对已有订单管理进行查看等其他详尽操作

相关代码数据库配置

# Tomcat
server:
    tomcat:
        uri-encoding: UTF-8
    port: 8080
    servlet:
        context-path: /springbootr1tjf
spring:
    datasource:
        driverClassName: com.mysql.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/springbootr1tjf?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
        username: root
        password: 123456
#        driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
#        url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=springbootr1tjf
#        username: sa
#        password: 123456
    servlet:
      multipart:
        max-file-size: 10MB
        max-request-size: 10MB
    resources:
      static-locations: classpath:static/,file:static/
#mybatis
mybatis-plus:
  mapper-locations: classpath*:mapper/*.xml
  #实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.entity
  global-config:
    #主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
    id-type: 1
    #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
    field-strategy: 2
    #驼峰下划线转换
    db-column-underline: true
    #刷新mapper 调试神器
    refresh-mapper: true
    #逻辑删除配置
    logic-delete-value: -1
    logic-not-delete-value: 0
    #自定义SQL注入器
    sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: false
    call-setters-on-nulls: true
    #springboot 项目mybatis plus 设置 jdbcTypeForNull (oracle数据库需配置JdbcType.NULL, 默认是Other)
    jdbc-type-for-null: 'null' 

控制层()

package com.controller;
import java.util.Arrays;
import java.util.Calendar;

点餐系统方便快捷_中国点餐系统哪个好_医院食堂点餐系统

import java.util.Date; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; 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.ResponseBody; import org.springframework.web.bind.annotation.RestController; import com.annotation.IgnoreAuth; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.entity.TokenEntity; import com.entity.UserEntity; import com.service.TokenService; import com.service.UserService; import com.utils.CommonUtil; import com.utils.MPUtil; import com.utils.PageUtils; import com.utils.R; import com.utils.ValidatorUtils; /** * 登录相关 */ @RequestMapping("users") @RestController public class UserController{ @Autowired private UserService userService; @Autowired private TokenService tokenService; /** * 登录 */ @IgnoreAuth @PostMapping(value = "/login") public R login(String username, String password, String captcha, HttpServletRequest request) { UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username)); if(user==null || !user.getPassword().equals(password)) { return R.error("账号或密码不正确"); } String token = tokenService.generateToken(user.getId(),username, "users", user.getRole()); return R.ok().put("token", token); } /** * 注册 */ @IgnoreAuth @PostMapping(value = "/register") public R register(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user); if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) { return R.error("用户已存在"); } userService.insert(user); return R.ok(); } /** * 退出 */ @GetMapping(value = "logout") public R logout(HttpServletRequest request) { request.getSession().invalidate(); return R.ok("退出成功"); } /** * 密码重置 */ @IgnoreAuth @RequestMapping(value = "/resetPass") public R resetPass(String username, HttpServletRequest request){ UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username)); if(user==null) { return R.error("账号不存在"); } user.setPassword("123456"); userService.update(user,null); return R.ok("密码已重置为:123456"); } /** * 列表 */ @RequestMapping("/page") public R page(@RequestParam Map<String, Object> params,UserEntity user){ EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>(); PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params)); return R.ok().put("data", page); } /** * 列表 */ @RequestMapping("/list") public R list( UserEntity user){ EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>(); ew.allEq(MPUtil.allEQMapPre( user, "user"));

点餐系统方便快捷_中国点餐系统哪个好_医院食堂点餐系统

return R.ok().put("data", userService.selectListView(ew)); } /** * 信息 */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") String id){ UserEntity user = userService.selectById(id); return R.ok().put("data", user); } /** * 获取用户的session用户信息 */ @RequestMapping("/session") public R getCurrUser(HttpServletRequest request){ Long id = (Long)request.getSession().getAttribute("userId"); UserEntity user = userService.selectById(id); return R.ok().put("data", user); } /** * 保存 */ @PostMapping("/save") public R save(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user); if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) { return R.error("用户已存在"); } userService.insert(user); return R.ok(); } /** * 修改 */ @RequestMapping("/update") public R update(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user); UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())); if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) { return R.error("用户名已存在。"); } userService.updateById(user);//全部更新 return R.ok(); } /** * 删除 */ @RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ userService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } }

业务层()


package com.service;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.service.IService;
import com.entity.UserEntity;
import com.utils.PageUtils;
/**
 * 系统用户
 */
public interface UserService extends IService<UserEntity> {
 	PageUtils queryPage(Map<String, Object> params);
    
   	List<UserEntity> selectListView(Wrapper<UserEntity> wrapper);
   	
   	PageUtils queryPage(Map<String, Object> params,Wrapper<UserEntity> wrapper);
	   	
}

数据访问层(Dao)

package com.dao;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;
import com.entity.UserEntity;
/**
 * 用户
 */
public interface UserDao extends BaseMapper<UserEntity> {
	
	List<UserEntity> selectListView(@Param("ew") Wrapper<UserEntity> wrapper);
	List<UserEntity> selectListView(Pagination page,@Param("ew") Wrapper<UserEntity> wrapper);
	
}

免责声明:部分文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性,如本站文章和转稿涉及版权等问题,请作者在及时联系本站,我们会尽快为您处理。

欢乐点

留言咨询

×