案例005:基于小程序的电子点菜系统开发设计与实现

文末获取源码

开发语言:Java

框架:SSM

JDK版本:JDK1.8

数据库:mysql 5.7

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.5.4

小程序框架:uniapp

小程序开发软件:HBuilder X

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

目录

前言

系统展示

用户注册用户功能实现

管理员功能实现

代码实现

登录功能实现代码

注册功能实现代码

密码重置功能实现代码

修改信息功能实现代码

删除信息功能实现代码

保存信息功能实现代码


前言

中国有着五千年文化历史,传统的食谱已经不能和现代化的社会相结合,所以我想开发一套关于食谱方面的毕业设计,随着人们对健康的关注,食物的营养高低也越来越重视,但大部份人关心的是某种单一的食物有什么营养,而忽略了吃饭方试是否健康,下面是我为大家推荐关于健康的小分类, 保证营养均衡1)依据《中国用户膳食指南》。2)营养素间比例适宜。3)食物搭配合理,注意主副、粗细、荤素搭配。2、进餐定时定量(一般成人一日三餐,特殊人群三餐两点等)。3、兼顾饮食习惯,注重烹调方法(营养素损失)。4、考虑季节和市场供应。5、满足膳食多样化,并兼顾经济承受能力。6、及时调整食谱

本论文主要讲述了电子点餐系统为开发背景,该系统它主要是对需求分析和功能需求做了介绍,并且对系统做了详细的测试和总结。具体从业务流程、数据库设计和系统结构等多方面的问题。望能利用先进的计算机技术和网络技术来改变目前的电子点餐系统管理状况,提高管理效率。

该系统采用了微信开发者工具,将所有业务模块采用以浏览器交互的模式,选择开发工具选择微信开发者工具、后台结合MySQL作为系统的数据库,ssm框架来进行系统的设计。基本实现了电子点餐系统应有的主要功能模块,本系统有管理员、用户二个角色。

本论文对电子点餐系统的发展背景进行详细的介绍,并且对系统开发技术进行介绍,然后对系统进行需求分析,对电子点餐系统业务流程、系统结构以及数据都进行详细说明。


系统展示

用户注册用户功能实现

用户通过注册窗口,进行在线填写自己的用户账号、用户姓名、密码、性别、年龄、联系电话、电子邮箱等等,信息编辑完成后核对信息无误后进行选择注册,系统核对用户所输入的账号信息是否准确,核对信息准确无误后系统进入到操作界面。

 

用户登录通过用户名、密码行页面,进入到电子点餐系统主界面,进入到操作界面,进行相对应操作 

 

客户端首页页面可以查看首页、特色餐品、特价餐品、我的等信息,进行查看操作 

 

用户进入特色餐品页面可以查看餐品编号、餐品名称、餐品分类、图片、价格、数量等信息,可以进行点餐查看操作 

 

 

用户进入我的页面可以查看首页、特色餐品、特价餐品、我的(特色餐品、订单信息、特价餐品、活动订单用户信息)等信息,进行提交操作

 

 

 

管理员功能实现

管理员登录:管理员通过电子点餐系统进行登录,通过填写用户名、密码、角色等信息,输入完成后选择登录即可进入学生竟赛管理系统 

 

管理员进入到界面,通过界面的任务大厅,登录成功后进入到系统可以进行查看首页、个人中心、餐品分类管理、特色餐品管理、订单信息管理、用户管理、特价餐品管理、活动订单管理、系统管理等功能模块,进行相对应操作 

 管理员对个人中心进行操作填写原密码、新密码、确认密码并进行添加、删除、修改以及查看

 

管理员进入到特色餐品管理界面,通过界面查看特色餐品管理,信息如下:餐品编号、餐品名称、餐品分类、图片、价格、数量等信息,可以进行添加‘修改、删除等相对应操作

 管理员进入到订单信息管理界面,通过界面查看餐品编号、餐品名称、价格、数量、总金额、用户账号、用户姓名、下单时间、图片、是否支付等信息,可以进行添加、修改、删除等相对应操作

 

管理员进入用户管理界面,通过界面的任务大厅,可以查看用户账号、用户姓名、房号、联系电话、头像、类型、分类、登记时间等信息,进行相对应操作 

 管理员进入到特价餐品管理界面,通过界面的任务大厅,可以查看餐品编号、餐品名称、餐品分类、原价格、活动价格、数量、图片等信息,进行添加、删除、修改相对应操作

 

系统管理:通过新建操作可在轮播图/餐品资讯中加入新的图片,还可以对以上传的图片进行修改操作,以及餐品资讯的添加删除操作 

 


代码实现

登录功能实现代码

@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();
    }

密码重置功能实现代码

@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("/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();
    }

保存信息功能实现代码

@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();
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/232080.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【LSM tree 】Log-structured merge-tree 一种分层、有序、面向磁盘的数据结构

文章目录 前言基本原理读写流程写流程读流程 写放大、读放大和空间放大优化 前言 LSM Tree 全称是Log-structured merge-tree, 是一种分层&#xff0c;有序&#xff0c;面向磁盘的数据结构。其核心原理是磁盘批量顺序写比随机写性能高很多&#xff0c;可以通过围绕这一原理进行…

C语言--实现一个函数把一个整数转为它对应的十六进制的字符串

一.题目描述 实现一个函数把一个整数转为它对应的十六进制的字符串。 比如&#xff1a;输入数字1234 输出&#xff1a;4D2 二.思路分析 用一个sprintf函数可以解决问题&#xff0c;输出相对应的字符串 要注意的问题就是&#xff1a;函数结束后要继续使用的内存&#xff08;比如…

【MATLAB】基于EMD分解的信号去噪算法(基础版)

代码操作 【MATLAB】基于EMD分解的信号去噪算法&#xff08;基础版&#xff09; 代码的主要内容 基于EMD&#xff08;经验模态分解&#xff09;的信号去噪算法通常可以结合相关系数、信号的熵值或者方差贡献率来完成去噪处理。这些指标可以用于确定阈值&#xff0c;从而对信号…

CentOS 7 离线安装达梦数据库8.0

前期准备工作 确认操作系统的版本和数据库的版本是否一致 ## 查看系统版本&#xff1a;cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core)关闭防火墙和Selinux # 查看selinux是不是disabled / enforce cat /etc/selinux/config## 查看防火墙状态 firewall-cmd …

使用医学数据集MIMIC,常见的问题记录

目录 MIMIC数据库安装及数据导入教程1.postgresql安装第一步&#xff1a;error running考虑到是不是不同的sql的冲突从报错信息出发重启之后可以安装了 2.打开navicate153.7z 不是内部或外部命令&#xff0c;也不是可运行的程序4.在postgreSQL中输入**\i xxx**命令后遇到提示pe…

Leetcode—231.2的幂【简单】

2023每日刷题&#xff08;五十四&#xff09; Leetcode—231.2的幂 实现代码 class Solution { public:bool isPowerOfTwo(int n) {if(n < 0) {return false;}long long ans 1;while(ans < n) {ans * 2;}if(ans n) {return true;}return false;} };运行结果 之后我会…

C++ 哈希表实现

目录 前言 一、什么是哈希表 二、直接定值法 三、开放定值法&#xff08;闭散列&#xff09; 1.开放定制法定义 2.开放定制法实现 2.1类的参数 2.2类的构造 2.3查找实现 2.4插入实现 2.5删除实现 2.6string做key 四、哈希桶&#xff08;开散列&#xff09; 1.开散…

Java基础-java.util.Random生成指定区间的随机数

目录 1. 公式2. 导包3. 编写代码4. 输出运行结果 1. 公式 生成[a, b]区间的随机数&#xff1a; random.nextInt((b - a) 1) a 2. 导包 import java.util.Random;3. 编写代码 public class random_demo {public static void main(String[] args) {/** 随机数Random* 需求&am…

【力扣】移除链表元素203

目录 1.前言2. 题目描述3. 题目分析3.1 不带哨兵位3.2 带哨兵位 4. 附代码4.1 不带哨兵位4.2 带哨兵位 1.前言 这里开始介绍从网上一些刷题网站上的题目&#xff0c;在这里做一些分享&#xff0c;和学习记录。 先来介绍一些力扣的OJ题目。 这里的OJ就是我们不需要写主函数&…

【python交互界面】实现动态观察图像在给定HSV范围的区域显示

HSV颜色空间 与RGB颜色空间相比&#xff0c;HSV颜色空间更适合进行颜色分析和提取特定颜色的目标。在HSV空间中&#xff0c;颜色信息被分布在不同的通道上&#xff0c;使我们能够更准确地定义颜色的范围&#xff0c;并使用阈值操作轻松地分离出我们感兴趣的区域部分。 HSV三个通…

魔改ESXI 8.0驱动,支持Intel I219V (22)网卡(8086:0DC8)(无需改网卡ROM)

艰难的安装 最近用铭瑄H610-itx攒了一台nas&#xff0c;想着兼容性高一些专门买了H610的双网卡版本&#xff0c;一张是螃蟹的8125BG&#xff0c;一张是intel的i219V&#xff0c;还以为esxi总不能一个网卡都认不出来吧&#xff0c;然而装好机启动esxi8.0的安装程序一看&#xf…

智能优化算法应用:基于灰狼算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于灰狼算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于灰狼算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.灰狼算法4.实验参数设定5.算法结果6.参考文献7.MA…

class_2:Java概念 java se ee me jdk jre jvm

一、什么是Java&#xff1f; Java是一门面向对象的编程语言&#xff0c;不仅吸收了C语言的各种优点&#xff0c;还摒弃了C里难以理解的多继承、指针等概念&#xff0c;因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表&#xff0c;极好地…

常见的消息中间件看这一篇就够了

浅谈消息队列及常见的消息中间件 前言 消息队列 已经逐渐成为企业应用系统 内部通信 的核心手段。它具有 低耦合、可靠投递、广播、流量控制、最终一致性 等一系列功能。 当前使用较多的 消息队列 有 RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMQ 等&#xff0c;而部…

课堂练习3.4:进程的切换

3-9 课堂练习3.4:进程的切换 进程切换是支持多进程的一个关键环节,涉及到 CPU 现场的保存和恢复,本实训分析 Linux 0.11 的进程切换过程。 第1关第一次进程切换过程分析 任务描述 本关任务回答问题: 在第一次进程切换时: 1.是从几号进程切换到几号进程?0 号进程和 1 号…

【漏洞复现】华脉智联指挥调度平台/xml_edit/fileread.php文件读取漏洞

Nx01 产品简介 深圳市华脉智联科技有限公司&#xff0c;融合通信系统将公网集群系统、专网宽带集群系统、不同制式、不同频段的短波/超短波对讲、模拟/数字集群系统、办公电话系统、广播系统、集群单兵视频、视频监控系统、视频会议系统等融为一体&#xff0c;集成了专业的有线…

如何用Python编写俄罗斯方块Tetris游戏?

在本文中&#xff0c;我们将用Python代码构建一个令人惊叹的项目&#xff1a;俄罗斯方块游戏。在这个项目中&#xff0c;我们将使用pygame库来构建游戏。要创建此项目&#xff0c;请确保您的系统中安装了最新版本的Python。让我们开始吧&#xff01; Pygame是一组跨平台的Pyth…

银河麒麟本地软件源配置方法

软件源介绍 软件源可以理解为软件仓库&#xff0c;当需要安装软件时则会根据源配置去相应的软件源下载软件包&#xff0c;此方法的优点是可以自动解决软件包的依赖关系。常见的软件源有光盘源、硬盘源、FTP源、HTTP源&#xff0c;本文档主要介绍本地软件源的配置方法&#xff…

通过仿真理解完整的阵列信号噪声模型

概要 噪声对无线电设备的信号接收会造成影响,是通信、雷达、导航、遥感等工程应用领域中的关键考虑因素。通常认为阵列合成能够提升信噪比,但忽略了这一论断的前提,即不同通道引入的噪声互不相关。但实际应用中,接收的噪声不仅仅包含信道引入的不相关噪声,还包含从外界环…

信息化,数字化,智能化三者是同一概念么?

引言 在当今科技和商业领域&#xff0c;信息化、数字化和智能化是三个极为关键的概念。信息化强调信息的获取、传递和应用&#xff0c;数字化则是将物理实体转化为数字形式&#xff0c;而智能化则赋予系统更高级的智能和自主性。这些概念的交汇与融合塑造着我们的现实&#xf…