版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
绪论 在线点餐系统在餐饮行业可以发挥很大的作用,开发完成后不仅方便顾客点餐,还可以帮助商家管理餐厅。本章将叙述本系统的选题背景和项目开发目标。1.1课题的选题背景 一方面,随着国民经济的快速发展和生活节奏的加快,越来越多的人选择去餐厅就餐,传统的餐厅经营方式效率低下,顾客需要排队等待点餐,不仅浪费了顾客的时间,也会造成商家营业额的损失。另一方面,通信技术的提升使得手机成为人们的主要通讯工具,而互联网的出现,赋予了手机更丰富的功能,在互联网的浪潮中,腾讯旗下的微信成为了主要的通讯工具。据2019年的微信数据报告显示:在2019年,微信的月用户活跃数达到了惊人的11亿,而2018年为10亿,在原本基数已经如此庞大的情况下,还获得了近1亿的用户量增长。餐饮行业完全可以借助互联网的浪潮为顾客提供更好的服务。 微信小程序,小程序的一种,英文名WechatMiniProgram,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户通过搜索或者扫描小程序二维码即可打开应用。餐饮行业做小程序的成本比起一个APP可以说是非常划算的,不用说APP需要下载等繁琐的流程,使用频率低,卸载率高等问题,仅仅是占用用户内存这一选项就被众多网友所排斥。餐饮行业完全可以依托微信强大的用户流量,运用微信小程序功能服务顾客,省去繁琐的沟通,节省了人力成本,实现顾客就座即可点餐。1.2项目开发目标 微信小程序技术的成熟为商家提供了平台,使得微信点餐成为可能。本系统分为买家端和卖家端。买家端使用小程序开发框架搭建,为顾客提供点餐界面,实现扫码点餐、菜单浏览、下单、评论的功能。卖家端是基于SpringBoot搭建的,主要实现菜品类别的管理、菜品的管理、订单的管理、卖家的登录登出功能。1.3论文结构 本论文分为6个章节,第一部分为绪论部分,主要介绍课题的选题背景和项目的开发目标;第二部分介绍系统的开发环境和相关技术;第三部分是系统分析,包括可行性分析、需求分析、需求定义、业务分析;第四部分为系统的概要设计,包括系统的概念模型设计、抽象数据对象、数据库设计命名规范、数据库逻辑结构设计;第五部分为系统的详细设计和实现,包括系统的环境搭建、类的设计、系统的具体实现;第六部分为本系统的系统测试部分,分为微信端点餐模块的测试和卖家后台管理系统登录验证模块的测试。
2开发环境和相关技术简介 本章将叙述项目的开发环境和相关技术简介。本系统采用的技术主要有微信小程序开发技术、MySQL、SpringBoot、Springdatajpa、Lombok、FreeMarker、BootStrap、WebSocket。2.1开发环境 1.操作系统:Windows7 2.编程开发环境:微信开发者工具(stable版本),IntelliJIDEA2019.1.1x64 3.编程语言:JavaScript,java 4.应用技术:微信小程序开发技术、JDK8、MySQL、SpringBoot、Springdatajpa、Lombok、FreeMarker、BootStrap、WebSocket2.2相关技术简介 本小节将详细介绍在线点餐系统开发过程中用到的微信小程序开发技术,JDK8、MySQL、SpringBoot、Springdatajpa、Lombok、FreeMarker、BootStrap、WebSocket。2.2.1微信小程序开发技术 小程序由四种类型的文件构成:json,wxml,wxss,js文件。 app.json文件用来设置当前小程序的全局配置,包括:小程序中的所有页面路径,页面表现,顶部颜色等。某页面,如page页面的页面表现可以通过page.json来单独设置。json文件的内容都是包括在一对“{}”里的,通过键值对(“key:value”)的方式来表达数据,键必须字符串形式,即由双引号包裹。值的类型只有六种:数字,字符串,Bool值,数组,对象,Null。需要注意的是json文件中不能使用注释,否则会报错。 Wxml(WeXinMarkupLanguage)全称微信标记语言,相当于HTML语言,由标签、属性等构成。Wxml是由微信团队开发的,拥有自己特有的标签,如:view,text,button,wx:if(流程控制的标签都由wx:开头),此外还提供了视频,音频,地图等组件能力。Wxml可以通过{{}}来将js文件中的数据绑定到页面上。 Wxss(WeXinStyleSheets)全称微信样式表,相当于CSS层叠样式表,保留了大部分CSS的特性,还做了一些修改和扩充。新增了尺寸单位rpx(responsivepixel),可根据屏幕宽度进行自适应。 Js文件负责逻辑交互,小程序提供了丰富的API供js调用,如获取用户信息:wx.getUserInfo()。2.2.2MySQL MySQL是当前最流行的关系型数据库管理系统,广泛应用在WEB应用中。MySQL的性能比较高、服务稳定、适用于分布式开发,使用MySQL数据库可以有很好的扩展性,易于维护支持当前许多的主流语言,包括C,C++,Java,Python,PHP,Perl等。2.2.3SpringBoot 设计一个普通的web程序时会写很多的配置文件,会有混乱的依赖管理,还有一些版本冲突问题。而SpringBoot简化了基于Spring的开发,内嵌Tomcat,无需打包成war文件来部署,简化了Maven的配置,自动配置Spring,只需要“run”就能创建一个独立的、良构的Spring应用。SpringBoot提供了一些默认配置,默认配置生效的前提是:1.引入了相关的依赖,2.自己没有手动配置。只需引入SpringBoot提供的Starter启动器,就会自动的管理依赖及其版本。SpringBoot的默认配置可以通过修改perties文件来进行修改。总之就是用采用SpringBoot框架后,尽可能的少写配置文件,SpringBoot的思想就是约定大于配置。2.2.4Springdatajpa Springdatajpa是Spring提供的,是一套简化了JPA开发的框架。它为我们提供了: 1)ORM映射元数据:是用来描述实体类和数据库表的映射关系的,框架据此进行数据的持久化保存。如:@Table、@Column、@Entity、@Transient 2)JPA的API:用来操作java实体对象,执行数据库的增删改查操作,框架会自动在后台帮我们生成SQL语句。 3)JPQL查询语言:通过面向对象的查询语言进行查询,避免SQL语句的紧耦合。 JPA只是一种规范,只是定义了一些接口,Hibernate是对JPA进行了实现的ORM框架。Spingdatajpa可以理解为是对JPA规范的再次封装,底层使用的还是Hibernate的JPA技术实现。2.2.5Lombok Lombok项目是一个java库,能以注解方式简化java代码,编译时会自动生成相应的getter/setter、构造器、equals、hashcode、toString方法。用法:将@Data注解加在类上,即可自动生成以上方法,遇到final属性则不会生成它的setter方法。@Data注解可以生成的代码比较多,若只想生成一部分代码,可以使用更加细化功能的注解。如@ToString(配合exclude、callSuper、includeFieldNames参数使用可以按自己想要的格式输出)、@Getter、@Setter、@EqualsAndHashCode。2.2.6FreeMarker FreeMarker是一款模板引擎,即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。模板编写为FreeMarkerTemplateLanguage(FTL)。编写模板时,可以专注于页面展示,无需关心数据来源。数据是在模板之外准备的。2.2.7BootStrap BootStrap是前端最受欢迎的框架,来自推特,是基于html、css、javascript的的开源框架,所有的主流浏览器都支持。它的响应式CSS支持手机、平板电脑、台式机,为开发人员开发接口提供了一个简洁统一的方案,并且提供了很多功能强大的内置组件,方便定制,还提供了基于Web的定制。2.2.8WebSocket WebSocket是HTML5新增的协议,它可以在浏览器和服务器之间建立一个不受限的(不受同源策略的影响)双向通道,服务器可以主动向浏览器发送消息。浏览器与服务器交换数据的格式通常有两种:文本格式和二进制格式。服务器端一般发送json格式的文本,方便浏览器处理。实际上TCP协议是支持全双工通信的,而HTTP协议的请求-响应机制限制了它,WebSocket连接建立以后就不会使用HTTP协议了。
3系统分析 本章将叙述项目的可行性分析、需求分析、需求定义和业务分析。系统的需求分析包括功能需求和非功能需求,业务分析主要进行了顾客点餐业务、管理员管理菜单业务、管理员管理订单业务三个业务的描述。3.1项目可行性 项目可行性主要从技术可行性、操作可行性、法律可行性、经济可行性四个方面来阐述项目是否可行。下面针对该系统的这四个方面,讨论其可行性。3.1.1技术可行性 市面上已经有很多的点餐系统在服务顾客和商家,可以参考一些优秀开源项目进行本系统的开发,更轻松的优化和制定自己想要的功能。3.1.2操作可行性 在线点餐系统买家端使用的是微信小程序进行展示,如今微信已经是国内主要的通信软件,顾客只需打开微信,使用微信扫一扫功能即可点餐,方便快捷。卖家端只需打开在线点餐系统的管理页面即可方便的查看订单,对餐厅的菜单进行修改,并同步更新到微信点餐页面。3.1.3法律可行性 开发在线点餐系统使用的操作系统和编写软件均是正版,不存在任何侵权问题,可以放心使用。3.1.4经济可行性 项目使用的技术和框架都是开源的,不存在购买问题,如果项目实施成功,可以让商家更高效的管理餐厅,提升顾客就餐体验,随之而来的是收益的提高。3.2需求分析 经过充分调研分析,传统餐饮行业的运转效率低下,可能出现顾客排队等候点餐的现象,不仅浪费了顾客宝贵的时间,对餐厅的好感也会降低。餐厅的菜品进行更新时需要重新打印多份菜单,菜品的价格有调整时也需要重新布置菜单,管理起来十分麻烦。如今的世界是一个信息化、数字化的世界,一切都变得很方便,餐厅管理也可以变得很简单。 本系统旨在为顾客和商家提供一个平台,缩短顾客点餐等候时间,方便商家管理菜单和订单,提升服务效率和顾客体验。在线点餐系统可以实现顾客就座扫码点餐,无需排队等候服务,节省了大量的沟通时间,用餐完毕后还可以评价订单,商家也可以通过在线点餐系统管理餐厅的菜单,进行菜品的修改等操作,实时和完结查看订单。商家还可以通过在线点餐系统进行分析顾客的喜好,根据顾客的评价,制定更好的菜单,更高效的服务顾客,提高餐厅的口碑。3.3需求定义 在线点餐系统的使用者有两个:来餐厅就餐的顾客、卖家。经过调研,发掘出来的卖家需求:1.实现对餐厅菜单的管理,包括菜品的展示、增加、上架、下架、删除、修改,菜品种类的增加、删除、修改和展示,订单的展示和完结,管理员的展示和添加。顾客的需求:可以使用手机浏览菜单,下单,付款,对订单进行评价。3.3.1功能需求1)系统功能的划分: 该系统分为买家端和卖家端(即后台管理系统)。a.买家部分: 能够实现买家对菜单的浏览、加入购物车、下单、付款、对订单的评价和历史评价展示、历史订单的显示(分为待上餐、已取消、待评价、已完成)。b.卖家部分: 能够实现卖家对菜单的管理,包括菜品类目的展示、添加、修改和删除,菜品的展示、上架、下架、增加、删除、修改;能够实现对所有订单的展示和查询,对订单进行完结;对餐厅管理员的展示、添加和信息的修改。2)系统的功能用例:图3-1系统功能用例图 本系统的用户分为两类:顾客,卖家。用户的角色划分决定了不同用户所具有的功能不同。系统功能用例图如图3-1图3-1系统功能用例图 3)功能描述 卖家登录验证功能说明:卖家输入账号密码登录系统,提交表单到服务器进行验证,若在数据库中查询到此账号密码则返回新视图,并设置一个有时间限制cookie到浏览器,否则会提示登录失败,手机号或者密码不正确。参与者:卖家功能用例图:卖家登录验证用例图如图3-2所示。图3-2图3-2卖家登录验证用例图用例描述:卖家登录验证用例如表3-1所示。表3-1卖家登录验证用例描述用例编号:Admin-01用例名:管理员登录验证参与者: 卖家前置条件: 系统正常运行基本事件流: 卖家访问卖家后端管理系统 卖家输入账号密码登录 卖家点击登录按钮或回车 系统对账号密码进行验证 验证成功,返回新视图异常事件流: 卖家账号或者密码输入错误,提示登录失败,手机号或者密码不正确。 订单展示功能说明:卖家点击订单列表,会显示餐厅历史订单。参与者:卖家功能用例图:订单展示用例图如图3-3所示。图3-3图3-3订单展示用例图用例描述:订单展示用例如表3-2所示。用例编号:Order-01用例名:订单展示参与者: 卖家前置条件: 卖家已经登录卖家后端管理系统基本事件流: 卖家点击订单列表 服务器返回相应的视图和数据异常事件流: 卖家未登录,返回登录页面表3-2订单展示用例描述 新增菜品功能说明:通过点击菜品新增项来完成菜单的菜品添加参与者:卖家功能用例图:新增菜品用例图如图3-4所示。 图图3-4新增菜品用例图用例描述:新增菜品用例如表3-3所示。表3-3新增菜品用例描述用例编号Category-01用例名:新增菜品参与者: 卖家前置条件: 卖家已经登录卖家后台管理系统基本事件流: 卖家点击菜品新增项 服务器返回新增菜品表单项 卖家填写菜品相关信息 卖家点击提交菜品按钮异常事件流:卖家未登录,返回登录页面顾客点餐功能说明:用户扫码进入小程序浏览菜单,添加菜品到购物车,然后下单付款。参与者:顾客功能用例图:顾客点餐用例图如图3-5所示。 图图3-5顾客点餐用例图用例描述:顾客点餐用例如表3-4所示。表3-4顾客点餐用例描述用例编号User-01用例名称:顾客点餐参与者: 顾客前置条件: 顾客授权小程序获取用户信息基本事件流: 顾客扫码餐桌二维码 顾客浏览菜单 顾客添加菜品至购物车 顾客点击去下单按钮 顾客点击去结算按钮 顾客完成付款异常事件流: 顾客未授权小程序获取用户信息权限,提示顾客授权登录 顾客未扫码餐桌二维码就进行菜单浏览,提示顾客先扫码 顾客付款失败,点餐失败可选事件流: 顾客下单时添加备注 顾客选择用餐人数查看订单功能说明:顾客点击我的,查看我的订单可以查询到自己的历史订单。参与者:顾客功能用例图:查看订单用例图如图3-6所示。图图3-6查看订单用例图用例描述:查看订单用例如表3-5所示。表3-5查看订单用例描述用例编号userOrder-01用例名称:查看订单参与者: 顾客前置条件: 顾客授权小程序获取用户信息基本事件流: 顾客点击我的 顾客点击我的订单 小程序展示历史订单异常事件流: 顾客未授权小程序获取用户信息权限,提示顾客授权登录可选事件流: 顾客点击带上餐,小程序展示带上餐订单 顾客点击已取消,小程序展示已取消订单 顾客点击待评价,小程序展示待评价订单 顾客点击已完成,小程序展示已完成订单顾客评价功能说明:顾客用餐之后可以评价订单参与者:顾客功能用例图:顾客评价用例图如图3-7所示。图图3-7顾客评价用例图用例描述:顾客评价用例如表3-6所示。表3-6顾客评价用例描述用例编号:UserComment-01用例名称:顾客评价参与者:顾客前置条件:顾客订单已完结基本事件流:顾客点击我的顾客点击我的订单顾客点击待评价顾客填写评价顾客提交评价异常事件流: 顾客未授权小程序获取用户信息权限,提示顾客授权登录 顾客没有待评价订单3.3.2非功能需求1.易用性方面 本系统前台采用微信小程序形式呈现,微信小程序可以说是非常火爆了,微信用户基本都会使用,点餐操作一目了然,非常简便。卖家后台管理系统的目的是为了方便卖家管理餐厅,卖家只需登录管理系统,对餐厅的所有操作都在左侧导航栏分类展示出来,符合人们的操作习惯。2.响应时间方面 本系统规模相对较小,数据量也较少,在日常交互、数据库查询响应时间较快,在用户可接受的时间范围内。 3.可靠性方面 前台背靠微信,系统安全可靠,后台对登录后的所有操作都有拦截机制,可靠性和安全性较高。3.4业务分析 系统主要包括以下业务流程:顾客点餐业务流程、管理员管理菜单业务流程,管理员管理订单业务流程。3.4.1顾客点餐业务流程概述 顾客授权小程序获取用户信息权限,顾客点击扫码点餐,扫描餐桌二维码后会进入菜单浏览页面,顾客选择要用餐的菜品加入购物车,点击选好了,进入确认订单页面,页面显示总计金额,点击总计金额可选择付款方式,顾客可以选择一个付款方式来进行付款,完成点餐。顾客点餐业务流程图如图3-8所示。图图3-8顾客点餐业务流程图3.4.2管理员管理菜单业务流程概述 管理员登录卖家后端管理系统,点击商品或者类目相关项的新增或列表操作可以进行商品或类目的新增和展示。其中展示页面可以进行菜品的上架、下架、修改和删除操作,点击新增后填写相关的菜品或者类目信息,点击提交按钮可以跳转到相应的展示页面。管理员查看菜单列表流程图、管理员新增菜单流程图分别如图3-9、3-10所示。图3-10图3-10管理员新增菜单流程图图3-9管理员查看菜单列表流程图3.4.3管理员管理订单业务流程概述 管理员登录卖家后端管理系统后会跳转到管理页面,可以查看到餐厅的历史订单,可以进行新订单取消操作,点击订单详情可以进行订单的完结操作和取消操作。管理员管理订单业务流程图如图3-11所示。图图3-11管理员管理订单业务流程图
4概要设计 本阶段设计系统的整体结构,将系统模块化,划分各个模块的功能,设计模块之间的调用关系和层次结构,设计数据库的结构。4.1系统体系结构设计 本系统采用多层架构设计。卖家后台管理系统的前端页面和微信小程序的请求通过前端控制器访问,前端控制器将各个请求匹配到各个Controller,Controller调用服务层的方法,根据服务层处理的结果返回响应视图和数据。服务层负责处理系统的业务,根据系统的业务来定义各种业务逻辑方法,然后调用持久层的方法来获取数据库数据或者修改数据库数据。系统体系结构图如图4-1所示。数据库数据库表数据库数据库表持久层Spring-data-jp持久层Spring-data-jpa服务层服务层编写Service编写Service接口及实现类ControController展示层微信小程序页面微信小程序页面卖家后台管理系统模板页面图图4-1系统体系结构图采用多层架构可以提高系统的可维护性和可扩展性。4.2系统功能模块结构设计 在线点餐系统主要分为两个子系统:小程序端的买家系统,web端的后台管理系统。小程序端主要由点餐模块、订单模块、和评论模块构成。卖家后台管理系统主要由登录登出模块,订单管理模块、菜品管理模块、菜品类目管理模块、管理员管理模块。系统功能模块图如图4-2所示。图4-2图4-2系统功能模块图在线点餐在线点餐系统卖家后台管理端小程序端卖家后台管理端小程序端点餐模块订单模块评论模块管理员管理模块菜品点餐模块订单模块评论模块管理员管理模块菜品类目管理模块菜品管理模块订单管理模块登录登出模块4.3系统功能模块设计1.点餐模块 顾客在授权小程序获取用户信息权限之后就可以进行点餐了,首先顾客点击小程序扫码功能扫描餐桌二维码,进入菜单浏览页面,顾客选择喜欢的菜品加入到购物车,点击选好了跳转到确认订单页面,页面上会显示订单价格,点击合计可以弹出付款框,顾客选择一种付款方式来进行付款,完成点餐。付款成功后会提示下单成功,并跳转到我的界面。2.订单模块 顾客授权小程序获取用户信息权限后点击我的,再点击我的订单,可以看到历史订单。订单的状态有四种,待上餐、已取消、待评价、已完成。3.评论模块 顾客授权小程序获取用户信息权限后点击我的,点击我的评论可以看到自己的评论,也可以点击我的订单,对待评价的订单进行评价。4.登录登出模块 卖家可以通过按钮登录登出卖家后台管理系统。5.订单管理模块 卖家登录后台管理系统之后就可以进行订单的管理了,包括订单的完结操作和取消操作。6.菜品管理模块 卖家登录后台管理系统后可以进行菜品管理,包括菜品的新增、删除、修改、上架、下架操作。7.菜品类目管理模块 卖家登录后台管理系统后可以进行菜品类目的管理,包括菜品类目的新增和修改操作。8.管理员管理模块 卖家登录后台管理系统后可以进行系统管理员的管理,包括管理员的新增和信息修改。4.4数据库设计 在线点餐系统的数据库选择的是MySQL数据库,MySQL数据库的优点:性能比较高、服务稳定、适用于分布式开发,使用MySQL数据库可以有很好的扩展性,易于维护;开源无版权限制;MySQL的用户很多,遇到的问题基本都会有前辈解决经验。4.4.1概念模型设计 概念模型设计用来描述实体之间的关系,经常用E-R图来描述,全局E-R模型是与数据模型和计算机软硬件环境无关的,概念模型的结果(E-R模型)无法在计算机中直接使用。 本系统的涉及的实体有卖家、买家、评论、订单、订单项、菜品、菜品分类。1)全局E-R图如图4-3所示。图图4-3全局E-R图下面是系统的分E-R图图4-4卖家E-R图2)卖家E-R图如图4-4所示。卖家实体的属性有卖家id图4-4卖家E-R图图4-5订单E-R图3)订单E-R图如图4-5所示。订单实体的属性有订单id、顾客名字图4-5订单E-R图图4-6订单项E-R图4)订单项E-R图如图4-6所示。订单项实体的属性有订单项id、订单id、菜品id、图4-6订单项E-R图5)评论E-R图如图4-7所示。实体评论的属性有评论id、评论人、openid、评论内容、创建时间。图4-8菜品E-R图图4-7评论E-R图6)菜品E-R图如图4-8所示。菜品实体的属性有菜品图4-8菜品E-R图图4-7评论E-R图7)菜品分类E-R图如图4-9所示。菜品分类实体的属性有分类id、分类名称、分类编号、创建时间、修改时间。图4-9图4-9菜品分类E-R图4.4.2抽象数据对象 根据前面的分析和经验可以得出在线点餐系统中几个基本的数据对象:Seller(卖家)、user(买家)、comment(评论)、order(订单)、order_detail(订单项)、product(菜品)、product_category(菜品分类)。由于买家端采用的是小程序形式展示,所以可以不用保存顾客具体信息,只需根据顾客授权登录后的openid标志顾客即可,减少数据库的规模,提高数据库性能。4.4.3数据库设计命名规范表名命名规则 根据在线点餐系统涉及的数据对象,可以得出需要设计以下的数据库表:卖家信息表、评论表、订单表、订单项表、菜品表、菜品分类表。表的命名规则是由相应的英文单词来命名。字段命名规则 由对应的表名开头,字段名也用相应的英文单词表示,写在表名之后,中间用“_”隔开。4.4.4数据库逻辑结构设计 本小节将展示抽象数据在数据库中的表示以及表中字段的含义和数据类型。数据库表如表4-1所示。表4-1数据库表汇总数据库表名中文名文字说明comment评论顾客评论信息表order_master订单表顾客订单信息表order_detail订单项顾客订单详情信息表Product_info菜品餐厅菜品信息表Product_category菜品分类餐厅菜品分类信息表Seller_info卖家餐厅管理员信息表各数据库表的设计 a.评论信息表如表4-2所示。包含的字段有评论id、评论人名字、顾客openid、评论内容、创建时间。表4-2评论信息表序号字段名称字段类型大小允许为空最大长度备注1comment_idInt11否20主键2comment_namevarchar64否703openedvarchar64否704comment_contenttext100否1005create_timetimestamp0否
b.订单项表如表4-3所示。包含的字段有订单项id、订单id、菜品id、菜品名称、菜品价格、菜品数量、菜品图片、创建时间、更新时间。表4-3订单项表序号字段名称字段类型大小允许为空最大长度备注1detail_idvarchar32否32主键2order_idvarchar32否323product_idvarchar32否324product_namevarchar64否645product_pricedecimal8否86product_quantityint11否117product_iconvarchar512否5128create_timetimestamp0否09update_timetimestamp0否0 c.订单表如表4-4所示。包含的字段有订单id、买家名称、买家电话、买家桌号、买家的openid、订单金额、订单状态、支付状态、创建时间、更新时间。表4-4订单表序号字段名称字段类型大小允许为空最大长度备注1order_idvarchar32否32主键2buyer_namevarchar32否323buyer_phonevarchar32否324buyer_addressvarchar128否1285buyer_openidvarchar64否646order_amountdecimal8否87order_statustinyint3否38pay_statustiny_int3否39create_timetimestamp0否010update_timetimestamp0否0 d.菜品分类表如表4-5所示。包含的字段有菜品类目id、菜品类目名称、菜品类目数字编号、创建时间、更新时间。表4-5菜品分类表序号字段名称字段类型大小允许为空最大长度备注1category_idint11否11主键2category_namevarchar64否643category_typeint11否114create_timetimestamp0否05update_timetimestamp0否0 e.菜品表如表4-6所示。包含的字段有产品id、菜品名称、菜品价格、菜品库存、菜品图片、菜品描述、菜品状态、菜品类目编号、创建时间、更新时间。表4-6菜品表序号字段名称字段类型大小允许为空最大长度备注1product_idvarchar32否32主键2product_namevarchar64否643product_pricedecimal8否84product_stockint11否115product_iconvarchar512否5126product_descriptionvarchar64否647product_statustinyint3否38category_typeint11否119create_timetimestamp0否010update_timetimestamp0否0 f.卖家信息表如表4-7所示。包含的字段有卖家id、用户名、密码、电话、创建时间、更新时间。表4-7卖家信息表序号字段名称字段类型大小允许为空最大长度备注1seller_idint11否11主键2usernamevarchar32否323passwordvarchar32否324phonevarchar64否645create_timetimestamp0否06update_timetimestamp0否04.5项目类设计项目中类的主要命名规范:controller层类名命名为模型名+Controller,例如UserController,有关用户的操作全部写在这个类里;Service层类名命名为模型名+Service,例如UserService,有关顾客的业务逻辑都写在这个类里;repository层类名命名为模型名+Repository,例如UserRepository,有关顾客的数据库操作都写在这个类里;entity层类名命名为模型名,例如Comment。项目中的controller层的类主要进行路径匹配,一个访问路径对应一个方法。图4-10SellerProductControlller类图SellerProductController类的设计如图4-10图4-10SellerProductControlller类图在SellerProductController中定义了进行相应业务操作的Service层属性,还定义了菜品的展示、上架、下架、修改、新增、删除操作。SellerAdminController类的设计如图4-11所示。图4-11AdminUserController类图图4-11AdminUserController类图在SellerAdminController类中定义了sellerInfoRepository属性来进行管理员(也就是卖家信息)的相关数据库操作,还定义了管理员登录、登出、列表展示、修改、新增操作。SellerOrderController类的设计如图图4-12SellerOrderController类图图4-12SellerOrderController类图在SellerOrderController类中定义了orderService属性进行订单的业务逻辑操作,还定义了卖家订单的展示、查找、取消、详情、完结操作。SellerCategoryController类的设计如图4-13所示。图4-13SellerCategoryController图4-13SellerCategoryController类图在SellerCategoryController类中定义了categoryService属性来对菜品类别进行业务逻辑操作,productService属性进行菜品的业务逻辑操作,还定义了菜品类目的展示、修改、新增、删除操作。
5详细设计和实现 本章将叙述项目的环境搭建、类设计和具体实现。系统的具体实现包括管理员登录、后台管理系统主页、菜品管理、微信小程序主页。5.1环境搭建 本系统的后台卖家管理系统使用SpringBoot搭建,项目的依赖使用maven导入。5.1.1项目总体框架搭建 本系统的后台卖家管理子系统的代码结构如图5-1所示,采用三层架构开发,aspect包中的代码是SpringAOP切面的相关代码,用来进行用户登录状态的统一验证,避免在web层中重复写大量的的验证代码。config包中的代码是webSocket的相关配置代码。constant包中放置的是项目中的常量,统一放置到该包下方便后期维护管理,提高代码的可读性和可维护性。controller包里放置所有的后端控制器。converter包下放置的是数据格式转换相关的代码。dto包下放置项目中的dto对象。entity包下放置项目中的实体类对象。enum包下放置的是项目中涉及的状态代码,比如订单的状态、付款状态、错误信息状态码。exception包中放置的是项目中自定义的异常类。form包中放置的是项目中和表单提交信息相对应的java对象,这样另外定义新的只有所提交属性的类可以方便页面的参数自动绑定到后端控制器。handler包中放置的是项目中全局异常处理的代码。repository包放置的是dao层代码,进行数据库操作。service包下放置的是业务逻辑代码,然后调用dao层代码完成对数据库的操作。util包下放置的是工具类,如CookieUtil。vo包下放置的是vo对象。VO(ViewObject):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。DTO(DataTransferObject):数据传输对象,用于展示层与服务层之间的数据传输对象。DO(DomainObject):领域对象,就是从现实世界中抽象出来的有形或无形的业务实体。PO(PersistentObject):持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系。DTO代表服务层需要接收的数据和返回的数据,而图5-1卖家后台管理系统代码结构VO代表展示层需要显示的数据。DO和PO在绝大部分情况下是一一对应的,PO是只含有get/set图5-1卖家后台管理系统代码结构5.1.2项目核心配置application.yml配置文件: spring:datasource:driver-class-name:com.mysql.jdbc.Driverusername:rootpassword:123456url:jdbc:mysql://localhost/wechat_order?useSSL=falsejpa:show-sql:truehibernate:ddl-auto:updateproperties:hibernate:format_sql:trueserver:servlet:context-path:/sellport:80805.2系统具体实现系统的功能描述和模块设计已经在需求分析和概要设计中给出,现在只需要给出各模块功能的具体实现。5.2.1管理员登录 管理员输入项目地址会被拦截到登录页面,管理员在登录框中输入自己的手机号和密码,提交给服务器的SellerAdminController类中的loginAdmin()进行登录验证,在该方法中调用sellerInfoRepository的findByPhone()方法进行数据库查询,然后比较前台传来的密码和数据库中查询出来的密码是否相同,相同的话会生成一个UUID并转换成String类型的token,然后创建一个cookie,将token和过期时间设置到cookie中,返回到浏览器端,浏览器端会请求/sell/seller/order/list地址,这时由于浏览器端的cookie中已经有token,服务器端会返回响应的视图。如果管理员的密码不正确或者手机号不存在会抛出自定义异常SellException,浏览器端则会弹出提示框:登录失败,手机号或者密码不正确。登录界面如图5-2所示。图5-2图5-2卖家后台管理系统登录界面相关代码:登录界面模板代码: <html><head><metacharset="utf-8"><title>卖家管理系统后台</title><linkrel="stylesheet"href="/sell/css/style.css"><linkhref="/bootstrap/3.0.1/css/bootstrap.min.css"rel="stylesheet"></head><body><divclass="containerlogin"style="margin-top:100px;"><divclass="rowclearfix"><divclass="col-md-12column"><divclass="col-md-12column"><h1>卖家后台管理系统</h1></div><formclass="form-horizontal"><divclass="form-group"><labelfor="inputPhone3"class="col-sm-2control-label">手机号</label><divclass="col-sm-6"><inputtype="tel"class="form-control"id="inputPhone3"name="username"/></div></div><divclass="form-group"><labelfor="inputPassword3"class="col-sm-2control-label">密码</label><divclass="col-sm-6"><inputtype="password"name="password"class="form-control"id="inputPassword3"/></div></div></form><divclass="form-group"><divclass="col-sm-offset-2col-sm-10"><buttonclass="btnbtn-default"id="loginBtn">登录</button></div></div></div></div></div></body><!--JavaScript--><scriptsrc="/jquery/2.1.1/jquery.min.js"></script><scriptsrc="/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script><#--自动机定义的本地js请求--><scriptsrc="../../js/login.js"th:src="@{/js/login.js}"></script></html>图5-3登录验证代码流程图登录验证代码流程图如图5图5-3登录验证代码流程图图5-4登录页面代码流程图登录页面代码流程图如图5-4所示。卖家点击登录按钮会触发相应的JavaScript代码,JavaScript代码会先判断手机号是否为Undefined或空,是则会弹出提示框提示卖家输入手机号;否则会继续判断密码是否为Undefined或空,是则会弹出提示框提示卖家输入密码;否则会提交请求和登录数据到登录验证Controller,之后根据服务器返回的相应状态码判断,若为图5-4登录页面代码流程图5.2.2后台管理系统主页图5-5卖家后台管理系统主页 卖家登录后台管理系统后会进入到系统主页,如图图5-5卖家后台管理系统主页主页左侧是一个导航栏,有五类导航:订单页面的导航、商品页面的导航、商品类目页面的导航、管理员页面的导航、登出导航。每个页面的导航页都是相同的,不同的是右面的展示区域。5.2.3菜品管理 管理员登录卖家后台管理系统以后,可以在导航栏选择管理项,其中菜品管理可以进行新增、修改、删除、上架、下架操作。菜品(商品)展示页面、菜品(商品)新增页面分别如图5-6,5-7所示。图5-7菜品(商品)新增页面图5-6菜品(商品)展示页面 菜品展示页面展示餐厅所有的菜品信息,在该页面可以进行对应菜品的修改、删除、上架、下架操作。菜品图5-7菜品(商品)新增页面图5-6菜品(商品)展示页面5.2.4微信小程序主页 微信小程序的所有页面路径都配置在app.jason文件中,相关代码如下:"pages":["pages/index/index","pages/me/me","pages/mycomment/mycomment","pages/myOrder/myOrder","pages/buy/buy","pages/confirmOrder/confirmOrder"],微信点餐小程序主页如图5-8所示。图5-8图5-8微信点餐小程序主页微信小程序主页主要实现了三个功能:菜品轮播图、扫码点餐、浏览菜单功能,扫码点餐是功能是用来记录顾客在餐厅的位置,下单前需要先扫描桌面二维码。
6系统测试 本章将叙述微信小程序端和卖家后台管理系统的测试。微信端测试的模块是点餐模块,采用的是黑盒测试方法;卖家后台管理系统测试的是登录验证模块,采用的方法是黑盒测试。6.1本系统的测试 本系统的测试分为微信端和卖家后台管理端测试,微信端进行点餐的前提是用户授权微信小程序获取用户信息权限并且扫描餐桌二维码,卖家进行后台管理的前提是已经登录成功。下面将展示详细的测试。6.2微信端点餐模块测试 微信端点餐模块黑盒测试,测试用例表如表6-1所示。表6-1测试用例表编号测试模块测试描述期待结果实际结果状态1点餐模块顾客未授权小程序获取用户信息权限点餐失败,提醒用户授权提示用户授权满足2点餐模块顾客未扫描餐桌二维码点餐失败,提醒用户扫描餐桌二维码提示用户扫码点餐满足6.3卖家后台管理系统登录验证模块测试 卖家后台管理系统登录验证模块黑盒测试,测试用例如表6-2所示。表6-2测试用例表编号测试模块测试描述期待结果实际结果状态1登录验证模块管理员在浏览器输入订单列表访问路径服务器返回登录页面服务器返回登录界面满足2登录验证模块管理员未输入账号和密码,点击登录提示账号或密码错误账号或密码错误满足3登录验证模块管理员输入错误的账号和密码提示账号或密码错误账号或密码错误满足4登录验证模块管理员输入正确的账号密码服务器返回系统管理界面服务器返回系统管理界面满足
结论 本系统旨在为顾客提供一个高效的点餐方式,为餐厅提供一个方便的管理平台。本系统分为微信小程序端和后台卖家web管理端,其中后台卖家管理系统采用SpringBoot搭建。采用SpringBoot搭建是为了减少繁琐的配置代码,又从技术博客了解一系列新的技术,如Lombok、Springdatajpa、FreeMarker、BootStrap、WebSocket;Lombok可以自动生成get、set方法,进一步简化了代码;SpringdataJPA可以自动生成SQL语句,无需自己动手编写,节省了大量时间;同时了解到传统的JSP页面加载非常慢,因为他是一个Servlet,还需要转换成HTML页面才返回浏览器端,并且加入了逻辑代码,逻辑和表现没有分离,FreeMarker是一款模板引擎,编写页面时无须关心数据来源,不掺杂逻辑代码,加载速度较快;Bootstrap是前端框架,有很多样式供选择;HTTP协议只能实现单向通信,所以选择了WebSocket技术,能够实现服务器向浏览器推送消息功能,很方便的提醒卖家新订单的生成。总之,为了完成这个项目,自己学到了很多新技术、新知识,认识到了学习新技术的最好方法是实践。
参考文献周琪峻,王英强等.KingVoice校园餐厅服务解决方案[J].电脑知识与技术,2019(5X).徐东英.基于互联网技术的网络食堂预定餐系统[J].农村牧区机械化,2018(6).
邹泽庆,曹亚楠.大学生食堂在线点餐系统的设计与实现[J].经济研究导刊,2018(14).陈小玉,李晓静等.基于模糊聚类和评论时效的在线点餐推荐算法[J].
南阳理工学院学报,2015(2).徐洪军.基于Web的在线订餐系统的架构设计与实现[J].计算机应用与软件,2009(5).徐玲利,李唯.在线点餐系统的设计与实现[J].
电脑知识与技术:学术交流,2018(11).邹钦忠,孔令美等.基于JSP技术的网上自助点餐系统的设计与实现[J].电脑知识与技术:学术交流,2015(11X).RussellRedman.Instacartpilotsonlinemealordering/deliverywithPublix[J].Nation’sRestaurantNews,2020,,.KamilaM.Kiszko.TheInfluenceofCalorieLabelingonFoodOrdersandConsumption:AReviewoftheLiterature[J].GJCR.期刊,2014.EranDayan,MayaBar-Hillel.NudgetonobesityII:Menupositionsinfluencefoodorders[J].GJPR.期刊,2011.AnujPalKapoor,MadhuVij.Technologyatthedinnertable:Orderingfoodonlinethroughmobileapps[J].JournalofRetailingandConsumerServices,2018,43,342-351.
致谢 在毕业论文将要完成之际,我想对大学本科阶段的老师表达由衷的谢意,让我有能力自己去完成一个项目,同时也感谢高保禄老师和胡忠良老师的指导,让我顺利完成毕业设计和论文。 在大学期间,首先要感谢的是任少斌老师,任少斌对我的影响很大,学习编程最重要的是自己动手实践,不能懒,任少斌老师的Java课程讲解的非常好,让我对Java编程产生了兴趣,自己也在课下编写了一些小程序,比如计算器,第一次做出了自己的软件,自己感到很兴奋。还要感谢马垚老师,马垚老师的企业级JavaEE课程非常棒,老师还会经常在课上手动编写代码,对一些需要注意的地方指点到了我们。马垚老师给我的印象是技术非常厉害,还坚持课上手写代码,所以对我的冲击很大,感觉自己更加需要多动手、多实践,最后也是不负老师的认真教学,取得了97分的成绩,是自己大学期间得分最高的专业课。还要感谢大一的英语老师卢华萍,老师的经历非常棒,口语讲的也是非常的流利,非常的崇拜老师,老师推荐的ChinaDailyAPP非常好用,让我的英语能力有了很大的提升,让自己做为软件工程专业的学生还能取得六级534分的成绩。英语能力的提升对编程的影响也很大,毕竟编程都是英文,自己可以阅读一些英文官方文档,还能够看懂程序的报错信息,很快的排除程序bug。 借此机会,特别要感谢含辛茹苦养育我的父母,和对我日常关心的姐姐,这么多年的求学之路,感谢他们在背后默默的支持,他们的无私奉献和关爱是我求学路上的动力,祝愿我的家人身体健康、和睦美满。 最后,我要感谢我的母校——湖南科技大学,在本科阶段的四年中,让我遇到了这么多优秀的老师,学习到很多丰富的知识和做人的道理。 2020年的春节疫情肆虐神州大地,我在家里完成论文撰写,感谢强大的祖国成为我们国人坚实的后盾,感谢这次疫情中“最美逆行者”美丽的白衣天使,捍卫着我与家人的的安全,才能让我在家安心完成论文,愿经历坎坷,山河无恙,人间皆可安。凌冬已过,皓月常明,疫情终时,这人间仍然星河滚烫,木水清华,江山如故。
外文原文Technologyatthedinnertable:Orderingfoodonlinethroughmobileapps1.Introduction Intheearly2000,theapplicationofthirdgeneration(3G)mobilecommunicationtechnologiestriggeredmobilecommercedevelopmentacrosstheworld.Subsequently,theswitchfromfeaturephonestosmartphonesbegunandtheadoptionofsmartphoneswereembracedglobally.AccordingtoE-Marketer(2014),therewillbemorethanthreebillionSmartphoneusers,orone-quarteroftheglobalpopulation,by2020.InIndia,thee-commercemarketisexpectedtogrowtoUS$188billionby2015duetotheriseinSmartphonepenetrationandthelaunchof4Gnetworksalongwithincreasingconsumerwealth.AccordingtoStatistica(2017,Dec21),SmartphonepenetrationinIndiareached32%asofNov2017. Auniquetrendwhichhaspickedupwiththeintroductionofsmartphonesisthemobileapps.Insimplewords,amobileappisasoftwareapplicationdevelopedspecificallyforuseonsmall,wirelesscomputingdevices,suchassmartphonesandtablets,ratherthandesktoporlaptopcomputers.Therapidadoptionofsmartphonesandsubsequentdevelopmentofmobileapplications(“app”or“apps”hereafter)havebeenchangingthewaysinwhichcustomersinteractwithabrand.Therapidgrowthofmobiletechnologiescomeswiththeproliferationofvarioustypesofapps.Over6billionappshavebeendownloadedinIndia(Statistics2017,Dec21)andaccountformorethan50%oftimespentondigitalmedia(Lipsman,2014,June25),suggestingthatappshavedeeplypenetratedintothedailylivesofSmartphoneusers.Today,everythingcanbepracticallypurchasedonline,fromdailygrocerytoflightorhotelbookings,orderingfoodorevenbuyingahouse.InIndia,onlineshoppersamonginternetusershaveincreasedfrommerely0.1millionin2006toaround100millionin2017,showingagrowthof900%(Kearney,2016).Thisrapidgrowthraisesinterestinacademiaandturnse-commerceintoanattractivefieldofresearch.Mobileappsprovideaneffectivechannelforcompaniestoconnectwiththeircustomers(Ostdick,2016).Actually,themobileplatformhasfundamentallyrevolutionizedthemannerinwhichcompaniesmaintaincustomerrelationsbycreatingtheunique,novel,andpersonalizedexperience(Lai,2015;Ostdick,2016). Withinthee-commercespaceinIndia,trendoffoodstart-upshasbeencatchingthespotlightandIndiaseemstobehavingagrowingappetiteforsuchstart-ups.Tilldate,themostcommonformofdeliveryhasbeenthetraditionalmodelinwhichtheconsumercallsuptherestaurant,ordersfoodandthenwaitsfortherestauranttobringthefood.However,withtheriseofdigitaltechnology,themarketisbeingredefined.Customersareusingmobileappsorwebsitestoidentifyallthenearbyrestaurants,scanthroughthemenuandselectthecuisinetheyintenttoeatandorderthefoodwiththeclickofabuttonortapofafinger.Consumersaccustomedtoonlineshoppingthroughappsorwebsiteswithmaximumconvenienceandtransparency,expectthesameexperiencewhenitcomestoonlinefoodordering.India'sonlinefooddeliverymarket,comprisingofaggregatorsandinternetkitchens,grewat150percentin2016withanestimatedGMVofUSD300million. Companieshavewelcomedmobileappsasanadditionalcommunicationchanneltoattractnewcustomersandincreasebrandloyaltyamongexistingones(Wangetal.,2015).Theyhaverealizedthatcustomersuseavarietyofappfeaturestoperformdiversetaskssuchassearching,sharing,purchasingandbrowsing.Therefore,companieshavestartedtouseappstoincreasebrandawarenessandenhancebrandexperience,resultinginhighersales(Zhou,2014).Organizationsintoday'stimeespeciallyinthee-commercebusinesshaveeitherawebsite,mobileapporboth,togiveitscustomersaccessibilitytotheirproductsandservices.Thereareplentyofattributesforamobileapporwebsite,whichinfluencesaconsumer'spurchaseintention.Theseattributescanbeonthesofteraspects,suchasvisualappealornavigationexperienceortowardstechnicalitiessuchassmartfilteroptions,paymentgatewaysorrealtimetracking.Despitethegrowinginterestinappsandtheirpotentialmarketingimpact,thereisadearthofresearchontheuseofmobileappsasapersuasivecommunicationchannelfororderingfoodonlineandidentifyingthemobileappattributesforfinalconversion.Thevastmajorityofthepriorliteraturesurroundingtheintersectionofconsumersandmobileappshasfocusedprimarilyonconsumers’initialacceptanceoradoptionofthetechnology.Forexample,researchershavepreviouslyusedestablishedframeworkssuchastheTechnologyAcceptanceModel(Davis,1989)toidentifywhatfactorsleadconsumerstoinitiallybeginusingaparticulartypeoftechnology(Mallatetal.,2009;Nysveenetal.,2005).Mostofthemodestresearchonmobileapps,specifically,alsocentersaroundantecedentsofconsumers’initialappadoption(Pengetal.,2014;TaylorandLevin,2014;Verhoefetal.,2015). Itiscriticaltonotehere,however,thatmanyoftoday'smodernconsumershavealreadyadoptedandarecurrentlyusingmobileapps(TaylorandLevin,2014;comScore,2015;SanakulovandKarjaluoto,2015).Therefore,weaimtodifferentiateourresearchfrompriorwork,inpart,bymovingbeyonddriversofinitialappadoption.Ourgoalistoinsteadexploreconsumers’actualappusage,aswellas;andanalyzetheassociationbetweenmobileappattributesandfinalconversion(i.e.,placinganonlineorder).Thispaperaddressessuchshortcomingsandexaminesthemobileappattributesandanalyzecustomerratingfortheseattributesforonlinefoodaggregators.Itexaminestheempiricalassociationbetweenmobileappattributesandonlineconversionrates.Thispaperofferstwosubstantivecontributions.First,bylinkingmobileappattributeswiththeiractualconversion,thisstudyprovidesquantifiedevidencethatshowshowattributesofamobileappimpactscustomers'purchase.Second,itdiscussesthemechanismsforhowanonlinefoodaggregatorleadstoanincreaseincustomerusage,usingtheconceptofmobileattributes.Byapplyingtheseconceptstomobileapps,thisstudyexpandsourunderstandingofhowtheuseofinteractivetechnologyinfluencespurchasebehavior.Giventheissuesofusingself-reportedmeasuresofmobilephoneuse(BoaseandLing,2013)andpurchaseintentions(vanNoortetal.,2012),ourstudyaddstothemobilemarketingliteraturebyincorporatingbehavioralmeasuresofappuseandpurchasehistories. Toexploretheroleofmobileappinconsumerengagement,t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保密协议对企业的战略意义
- 碎石河沙销售购销合同
- 农村农产品购销合同范本
- 网络接入服务合同模板示例示例
- 服装店转手合同协议
- 劳务分包协议补充协议修正版
- 广告灯箱制作及安装招标
- 大酒店招标全解读
- 技术服务合同的技术支持服务
- 优惠接机服务合同报价
- 中国邮政储蓄银行2024年下半年社会招聘高频难、易错点500题模拟试题附带答案详解
- 2024年湖南省永州市宁远县自来水公司招聘26人历年高频难、易错点500题模拟试题附带答案详解
- 《中华人民共和国道路交通安全法实施条例》知识专题培训
- 部编人教版2022-2023学年度第一学期四年级道德与法治上册期末测试卷及答案
- 统编版(2024)语文七年级上册 第10课 往事依依 公开课一等奖创新教案
- 全国巾帼家政服务职业技能大赛(母婴护理员)理论考试题库(含答案)
- 2024-2030年中国户外电源行业市场趋势调查及需求场景趋势分析报告
- 《淘气的一天》(教案)-2024-2025学年一年级上册数学北师大版
- 职业健康安全培训课件(共32张课件)
- 离婚协议书常用范本2024年
- 2024年各地中考语文卷【综合性学习题】汇集练附答案解析
评论
0/150
提交评论