网上订餐系统_第1页
网上订餐系统_第2页
网上订餐系统_第3页
网上订餐系统_第4页
网上订餐系统_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上1研究的背景俗话说:“民以食为天”,随着人们生活质量的提高,对饮食的要求已不仅是解决温饱需求,很多人在进行紧张工作之余会选择享受美食来享受生活,进而进行放松。餐饮业是一种个性化、多样化的服务产业,随着网络技术的发展和普及,将餐饮服务与个性化、多样化服务的电子商务相结合,形成了方便、快捷、个性化的网上订餐系统,通过网上订餐系统,顾客不必亲临现场,便可以为自己、家人、朋友聚会等置办一份既营养又实惠的美食。其最大的优势是:图文并茂,信息能够及时在线更新与查看,并有效地解决了传统就餐过程出现的排队,拥挤,信息变更不能及时等现象。这样既节省了时间,又为广大用户提供更多选择。订餐

2、系统基于ASP.Net平台和SQL Server2008数据库开发, 实现了网上订餐系统信息的动态管理,对每个订单的信息保管妥善并且及时处理,实现了高度的智能化。该系统基于B/S(Browser/Server,浏览器/客户端)模式实现,这种结构使得数据只有结果集合在浏览器中显示,数据的处理在服务器进行,用户不用安装客户端,而且由于通过服务器端统一管理数据,易于保证数据的一致性。 2 系统需求分析系统目标订餐系统的开发目标是为会员进行订餐提供方便,即通过网络实现快捷订餐。设计原则订餐系统无论是在应用的深度还是广度上都是一个逐步发展的过程。开发一个局部系统时要充分考虑到局部系统和整个目标系统之前的

3、相容性和完整性,以利于今后整个系统的建立。遵循以下三个原则:1、实用性原则软件开发的终极目标是为了交付客户,供客户使用,因此要考虑用户的使用习惯以及操作规范,实用性是必须要遵循的规则之一。在设计网上订餐系统时,可参考其他订餐系统的使用方法和页面布局等,同时也需要根据自身的需要进行调整以适应自身的需求,在功能上要做到简单易用,操作上要做到傻瓜式应用。2、功能模块化在设计业务功能模块时,要遵循模块化设计原则,各功能模块间要尽量做到“高内聚、低耦合”。3、功能需完备在设计软件时,需考虑到功能完善,给用户良好的体验。系统功能需求本系统设计主要有两种用户:会员和系统管理员。对于会员来说,具备的主要功能有

4、:1、会员注册与登录:用户只用通过注册为会员登录后,才能订餐下单。2、菜单显示:用户可以查看当前供应的所有菜品信息。3、网站公告:用户可以查看由系统管理员发布的网站公告:如新菜品、优惠信息、网站维护信息等。4、购物车:会员登录后,可以把自己喜欢的菜品加入到购物车,进行订餐,如用户未注册登录,不能进行订餐加入购物车。5、订单:会员登录后,可以查看自己的订单信息,也可以在规定时间内进行取消订单。6、在线留言:会员登录后,可以再网站进行留言,如对希望新增的菜品等进行留言,等待管理员回复。对于系统管理员来讲,其主要具备的功能有:1、订单管理:可以对会员提交的订单进行管理。2、菜单管理:管理员可以对菜单

5、进行增删改查管理。3、留言管理:管理员可以回复会员的留言,也可以删除会员的留言。4、用户信息管理:可以对会员信息进行增删改查操作。5、养生信息管理:可以添加养生菜品信息。6、友情链接管理:管理员可以对友情链接进行编辑、修改、删除等操作。系统需求建模系统用例图:用于描述整个系统中各个模块的用例以及用例之间的相互关系。(1)管理登录、退出用例:主要用户描述系统管理员的登录与退出操作。其用例图如下图2-1所示:图2-1 管理员用例图(2)菜单管理模块用例:主要用于描述供应菜品的基本信息、菜单信息的添加、删除、修改、审核等操作用例。其用例图如下图2-2所示:图2-2 菜单信息管理用例图(3)会员管理用

6、例:主要描述会员信息,其用例图如下图2-3所示:会员添加会员修改会员删除管理员会员查询图2-3 会员管理用例图如下表2-1所示为系统所有的用例列表,表2-1对本文开发的网上订餐系统的用例表进行了说明和描述。表 2-1 系统用例列表编号用例名称描述001管理员登录管理员输入正确的用户名和密码即可登录到系统中去002添加菜单信息向系统数据库中添加菜单的详细信息。003查询菜单信息通过输入菜名或编号,查询出相应菜品的详细信息。004修改菜单信息执行查询用例查询出需修改的菜单信息,修改需修改的信息。005删除菜单信息对下架的菜单信息从系统数据库中删除006会员信息添加向数据库中添加需添加的会员信息00

7、7会员信息查询可根据需要设置会员信息。008会员信息修改当会员信息发生变动时,可以直接在查询到的会员处选择修改即可。009会员信息删除当有会员息需删除时,直接对需要删除的会员信息进行删除即可。010公告管理管理发布系统公告。011订单管理对用户提交的订单进行取消、删除等管理012留言管理对用户留言进行回复、删除等013养生信息管理添加、修改、删除养生信息014友情链接管理对链接信息进行增删改查等操作3系统设计在需求分析的基础上,提出了如下的系统设计目标:1系统安全性系统应控制不同用户的使用权限,用户不能越权操作。系统应该确保数据的安全性。同时,用户要求系统具有高度的可靠性,数据的准确性,系统的

8、可恢复性。2可维护性客户会在系统使用过程中不断对系统提出新要求,扩展系统功能,这就要求系统的可升级性必须良好,以满足客户长期实用的要求,并且在用户有新要求的时候可以快速扩展功能。3用户操作系统设计应该人性化,操作简单方便,达到人机友好的目的。4运行速度系统响应时间是衡量系统性能好坏的重要参考。系统要求响应时间短,更新处理迅速,数据转换与传送时间短,后台服务器响应迅速等等。由于系统使用者的特殊性,系统必须高效地响应并且在安全的前提下高效的响应。5界面用户界面应该做到清晰简单一目了然,易于操作。系统功能分析本文设计的网上订餐系统基于ASP.NET和SQLSERVER数据库开发设计,其分为前台订餐和

9、后台系统管理两部分,按使用对象可分为系统管理员、会员等。前台订餐是供会员使用的操作界面,会员登录后在这个页面可以进行查看网站公告、菜单信息、购物车、订单以及在线留言等;后台管理系统是供管理员对系统进行管理和维护的工具,包括订单管理、菜单信息管理、会员信息管理、公告管理、养生信息管理、友好链接管理、留言管理等。具体方案如下:1、针对管理员网站后台管理模块,通过输入正确的用户名与密码进去系统后台并对后台进行管理。订单管理模块:可对系统生成的订单信息进行查看、审核、取消、删除等。菜单信息管理模块:可对菜单信息进行管理,可添加菜品生成新的菜单,也可删除菜单,并且也可对以存在的菜单进行编辑,对菜品信息进

10、行修改。会员信息管理模块:管理员可对注册会员进行管理,如添加、修改、删除会员等。公告管理模块:管理员可发布新的公告信息,也可以对已发布的公告内容进行编辑和删除等。养生信息管理模块:管理员可根据季节或天气适时提出养生建议或者提供养生菜品等。友好链接管理模块:管理员可对友好链接信息尽心添加、修改和删除等。留言管理模块:管理员可恢复、删除用户的留言信息。后台管理功能模块图如图3-1所示。图3-1 系统管理功能模块图2、针对会员来说会员注册与登录:用户可以通过注册的方式成为网站的会员,享受会员的待遇,如菜品优惠等。菜单显示:不管用户是否为会员,均可以查询菜单信息,但是当用户查看具体的菜品时,不能将菜品

11、加入购物车进行提交,不能生产订单信息。网站公告:不管用户是否为会员,均可以查看网站公告信息。购物车功能:只有注册会员登录后,方可把菜品加入购物车进行提交。订单功能:只有注册会员登录后,选择自己喜欢的菜品进行提交购买,提交后生成订单,用户可以修改订单,也可以取消订单。在线留言功能:会员可以把自己的意见或建议提交给网站,等待网站管理员回复。其前台主要功能模块图如下图3-2所示。图3-2 会员功能模块图数据库设计数据库设计(Database Design)是针对给定的一个应用场景所进行的数据存储过程及数据存储方式定义,数据库设计是设计管理信息系统的重要部分,在设计时首先进行数据库逻辑设计,其设计要符

12、合语义,然后根据数据逻辑设计,确定其数据存储结构和物理设计,从而确定数据的存储空间分布及存储空间大小分配,从而建立起存储数据的模型。一个设计良好的数据库结构,应该可以使系统能够快速查询及快速存储。其设计核心是数据模型的设计,一个好的数据模型可以使数据库设计过程事半功倍,针对不同的应用系统应该采用不同的数据模型,本文设计的网上订餐系统采用关系型模型,具有较高的数据独立性,在使用时也十分方便,这里采用SQL SERVER数据库。1、数据库表设计本文设计的数据库名为WebBookDinner,以下列出了本系统所需要的数据表: 表3-1为菜单表,用于保存与菜单的相关信息,包括菜品ID、菜名、价格、菜品

13、介绍、菜单ID、菜品图片以及是否推荐菜品等字段。表3-1 菜单表表结构序号列名数据类型长度小数位标识主键允许空默认值说明1cIDint40是是否2菜名nvarchar500否3价格float80否4菜介绍nvarchar00是5Scidint40是6菜图片nvarchar00是7推荐nvarchar500是表3-2为菜分类表,用于保存与菜的分类信息,包括菜单ID、菜品种类、系列介绍等字段。表3-2 菜分类表表结构序号列名数据类型长度小数位标识主键允许空默认值说明1Scidint40是否2种类nvarchar500否3系列介绍nvarchar00是 表3-3为订单表,用于保存与订单相关的信息,包

14、括订单ID、用户ID、订单状态、联系电话、送餐地址、备注信息、订餐姓名、订餐时间、金额总价等字段。表3-3 订单表表结构序号列名数据类型长度小数位标识主键允许空默认值说明1订单IDint40是是否2用户IDint40否3订单状态nchar100否4联系电话nvarchar500否5送餐地址nvarchar500否6备注nvarchar00是7订餐姓名nvarchar500否8订餐时间datetime83是9金额总价float80是 表3-4为订单条目表,用于保存与订单条目相关的信息,包括条目ID、订单ID、菜名、数量、单价、评分、反馈等字段。表3-4订单条目表表结构序号列名数据类型长度小数位标

15、识主键允许空默认值说明1IDint40是否2订单IDint40是3菜名nchar100否4数量int40否5单价float80否6评分int40是7反馈nvarchar00是表3-5为管理员表,用于保存与管理员相关的信息,包括管理员id、管理员密码等字段。表3-5管理员表表结构序号列名数据类型长度小数位标识主键允许空默认值说明1管理员IDnvarchar500是否2管理员密码nvarchar500否表3-6为留言表,用于保存与留言相关的信息,包括留言ID、用户ID、管理员ID、留言时间、留言内容、留言标题、回复内容等字段。表3-6留言表表结构序号列名数据类型长度小数位标识主键允许空默认值说明1

16、留言IDint40是否2用户IDint40是3管理员IDnvarchar500是4留言时间datetime83是5留言内容nvarchar00是6留言标题nvarchar500否7回复内容nvarchar00是表3-7为养生信息表,用于保存与养生相关的信息,包括介绍ID、标题、内容、发布时间、浏览次数等字段。表3-7养生信息表表结构序号列名数据类型长度小数位标识主键允许空默认值说明1介绍IDint40是是否2标题nvarchar500否3内容text160是4发布时间datetime83是5浏览次数int40是表3-8为用户信息表,用于保存与用户相关的信息,包括用户ID、用户名、用户密码、真实

17、姓名、性别、联系电话、爱好、喜欢口味、QQ、电子邮件、状态、身份证号等字段。表3-8用户信息表表结构序号列名数据类型长度小数位标识主键允许空默认值说明1用户IDint40是是否2用户名nvarchar500否3用户密码nvarchar500否4真实姓名nchar100否5性别nchar100否6联系电话nvarchar500是7爱好nvarchar00是8喜欢口味nvarchar00是9QQnvarchar500是10emailnvarchar500是11状态nvarchar500否12身份证号nvarchar500否表3-9为友情链接表,用于保存与友情链接相关的信息,包括链接ID、链接地址、

18、图片、链接名称等字段。表3-9友情链接表表结构序号列名数据类型长度小数位标识主键允许空默认值说明1idint40是是否2地址nvarchar00否3图片nvarchar00否4链接名称nvarchar500是 在经过需求分析以后,可以把用户的需求进行技术加工,用实体-联系模型(ER图)的形式表达出来,也就是形成用户数据的概念模型。对于关系型数据库来说,实体型、属性和他们之间的联系构成ER图的基本要素,其其表示方法为: 实体型:用矩形表示,矩形框内写明实体名;属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向

19、边旁标上联系的类型(1 : 1,1 : n或m : n)。下面分别介绍每个数据表对应的ER图如下所示:1、菜单表的ER图如图3-3所示,菜单表包括菜品ID、菜名、价格、菜品介绍、菜单ID、菜品图片以及推荐菜品等实体:图 3-3 菜单表ER图2、菜分类表的ER图如图3-4所示,菜分类表包括菜单ID、菜品种类、系列介绍等实体:图 3-4 菜单分类表ER图3、订单表的ER图如图3-5所示,订单表包括订单ID、用户ID、订单状态、联系电话、送餐地址、备注信息、订餐姓名、订餐时间、金额总价等实体:图 3-5 订单表ER图4、订单条目表的ER图如图3-6所示,订单条目表包括条目ID、订单ID、菜名、数量、

20、单价、评分、反馈等实体:图 3-6 订单条目表ER图5、管理员表的ER图如图3-7所示,管理员表包括管理员ID、管理员密码等实体:图 3-7 管理员表ER图6、留言表的ER图如图3-8所示,留言表包括留言ID、用户ID、管理员ID、留言时间、留言内容、留言标题、回复内容等实体:图 3-8 留言表ER图7、养生信息表的ER图如图3-9所示,养生信息表包括介绍ID、标题、内容、发布时间、浏览次数等实体:图 3-9 养生信息表ER图8、用户信息表的ER图如图3-10所示,用户信息表包括介用户ID、用户名、用户密码、真实姓名、性别、联系电话、爱好、喜欢口味、QQ、电子邮件、状态、身份证号等实体:图 3

21、-10 用户信息表ER图9、友情链接表的ER图如图3-11所示,友情链接表包括链接ID、链接地址、图片、链接名称等实体:图 3-11 友情链接表ER图系统开发环境和运行环境1.系统开发工具如表3-10所示表3-10系统开发工具表属性要求开发环境ASP.NET数据库管理软件SQLSERVER2008数据库2.系统运行环境如表3-11所示表3-11系统运行环境表属性要求系统WIN XP或WIN7均可内存2GB处理器2.6GHz 硬盘500G4网上订餐系统的详细设计与实现功能模块设计与实现登录/注册设计与实现1、登录模块设计用户在登录之前需要首先进行用户信息的注册方可进行系统的登录,用户登录需要验证

22、密码是否正确,如果不正确则系统提示密码不正确,需要重新输入密码,否则显示登录成功。其系统登录流程图如下图4-1所示:开始登录输入账号密码密码正确N登录成功结束Y图4-1 用户登录流程图2、注册模块设计对于新用户注册来说,需要填入一定的信息方可注册成功,尤其是对于系统要求必须填写的选项要求用户在填写注册资料的时候务必进行填写。如果用户在提交注册信息的时候,出现系统提示该用户已存在,则需要用户重新填写注册信息,方可注册成功。一旦用户注册成功后,用户名信息无法进行修改,但是其密码可以进行修改。其用户注册的流程图如下图4-2所示:数据信息是否存在注册成功结束开始注册是否存在相同的数据N输入用户信息NY

23、Y重新输入用户信息数据信息是否存在注册成功结束开始注册是否存在相同的数据N输入用户信息N图4-2 用户注册流程图3、登录与注册实现如下图4-3所示为网上订餐系统的首页:图4-3 网站首页在首页中显示了网站中大部分的信息,通过首页可以跳转的网站中其他的页面,进行相关的操作,登陆模块也是在首页中显示出来的。在登陆系统之前需要注册,如图4-4所示,注册的信息由游客填写,提交注册信息后,需要通过后台管理员对注册信息进行审核,给予审批后,才能登陆系统。图4-4用户注册页面网是订餐服务只有登录以后才能进行,这样确保了订餐服务的有效性,避免预定后,不履行订单的恶意行为。其用户注册的核心实现代码如下所示:pr

24、otected void ImageButton1_Click(object sender, ImageClickEventArgs e) string state = " 未审核" string uname = tbUserName.Text.Trim(); SqlServer db = new SqlServer(); db.AddSqlParameter("uName", uname); db.AddSqlParameter("uPwd", tbPWD1.Text.Trim(); db.AddSqlParameter("

25、;真实姓名", tb真实姓名.Text.Trim(); db.AddSqlParameter("性别", Ddl性别.SelectedValue); db.AddSqlParameter("联系电话", tb联系电话.Text.Trim(); db.AddSqlParameter("爱好", tb爱好.Text.Trim(); db.AddSqlParameter("喜欢口味", tb喜欢口味.Text.Trim(); db.AddSqlParameter("QQ", tbQQ.Tex

26、t.Trim(); db.AddSqlParameter("email", tbEmail.Text.Trim(); db.AddSqlParameter("State", state); db.AddSqlParameter("身份证号", tb身份证号.Text.Trim(); db.SQL = db.GetInsertSQL("用户表"); db.ExcuteNonQuery(); Response.Write("<script>alert('注册成功,请等待审核!');

27、window.location.href='Default.aspx'</script>"); 菜单信息浏览在首页中,可以直接浏览到部分的菜单信息,信息包括了:图片,菜名,价格等。在该网页上也可以查看菜品的详细信息,如图4-5所示。另外,在主页上还根据不同的菜系进行分块展示,同时也可以点击每个分块上的“more”字样查看相关的全部信息列表。例如:点击查看“凉拌系列”的显示结果如图4-6所示。图4-5 菜品详细介绍在网站的首页中可以根据用户输入的文字对菜名进行模糊搜索,搜索功能使用户图4-6“凉拌”系列信息页面在选择自己需要的菜品时更加便捷和高效。图4-7

28、搜索菜单信息浏览的核心实现代码如下所示:public partial class Info : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (Session"UserName" != null) Panel已登录.Visible = true; Panel未登录.Visible = false; if (string.IsNullOrEmpty(Request.QueryString"cID") this.ltl菜名.Text = "参数不

29、存在" return; int id; if (!int.TryParse(Request.QueryString"cID", out id) this.ltl菜名.Text = "参数非法" return; SqlServer db = new SqlServer(); db.SQL = "select * from 菜单表 where cID=cID" db.AddSqlParameter("cID", Request.QueryString"cID"); DataTable dt

30、 = db.GetDataTable(); if (dt.Rows.Count = 0) this.ltl菜名.Text = "数据不存在。" else this.Image图片.ImageUrl = dt.Rows0"菜图片".ToString(); this.ltl菜名.Text = dt.Rows0"菜名".ToString(); this.ltl价格.Text = dt.Rows0"价格".ToString(); this.ltl介绍.Text = dt.Rows0"菜介绍".ToStr

31、ing(); db.SQL = "select count(1) from 订单条目 where 菜名=" + "'" + dt.Rows0"菜名".ToString() + "'" int count = int.Parse(db.ExcuteScalar().ToString(); if (count > 0) db.SQL = "select count(1) from 订单条目 where 菜名=" + "'" + dt.Rows0&qu

32、ot;菜名".ToString() + "'" + "and 评分!='0'" int cou = int.Parse(db.ExcuteScalar().ToString(); if (cou > 0) db.SQL = " select avg(评分) from 订单条目 where 菜名=" + "'" + dt.Rows0"菜名".ToString() + "'" + "and 评分!='0&#

33、39;" scoer1.s = int.Parse(db.ExcuteScalar().ToString(); else scoer1.s = 0; else scoer1.s = 0; 订餐服务设计与实现订餐服务的实现流程图如下图4-8所示:用户登录系统浏览菜品信息获得购物车浏览餐饮信息选择餐饮信息管理员审核Y交易结束N图4-8 订餐服务流程图当用户进行订餐时,系统为用户生成了一个虚拟的购物车, 在用户浏览详细的菜单信息时,如图4-9所示,可以选择数量,然后将此菜品放入购物车中,图4-9 订购菜品数量在订餐过程中,用户可以查看自己购物车中选购的菜品和金额,根据自己的需要可以删除购物

34、车中的菜品,还可以选择继续订餐,在查看购物车时填入相关送餐信息,点击“提交订单”,完成了整个订餐流程。图4-10查看购物车购物车的核心实现代码如下所示:protected void imgBut_Click(object sender, ImageClickEventArgs e) if (Session"Car" = null | (DataTable)Session"Car").Rows.Count = 0) Response.Write("<script>alert('您的购物车为空,请先将菜品放入购物车中!'

35、);document.location='Default.aspx'</script>"); return; DateTime OrderDate = DateTime.Now; int 用户ID = int.Parse(Session"UID".ToString(); string state = "待送餐" string phone = tb电话.Text.Trim(); string name = tb姓名.Text.Trim(); string address = tb地址.Text.Trim(); stri

36、ng bz = tb说明.Text.Trim(); float money = float.Parse(Label总金额.Text); SqlServer db = new SqlServer(); db.AddSqlParameter("用户ID", 用户ID); db.AddSqlParameter("订单状态", state); db.AddSqlParameter("联系电话", phone); db.AddSqlParameter("送餐地址", address); db.AddSqlParameter(

37、"备注", bz); db.AddSqlParameter("订餐姓名", name); db.AddSqlParameter("订餐时间", OrderDate); db.AddSqlParameter("金额总价", money); db.SQL = db.GetInsertSQL("订单表"); db.ExcuteNonQuery(); db.SQL = "select 订单ID from 订单表 where 订餐时间=订餐时间" DataTable dt = db.G

38、etDataTable(); string 订单ID = dt.Rows0"订单ID".ToString(); this.Literal1.Text = 订单ID; foreach (DataRow dr in (DataTable)Session"Car").Rows) SqlServer obj = new SqlServer(); string cname = dr"菜名".ToString(); int quantity = int.Parse(dr"数量".ToString(); float price

39、= float.Parse(dr"价格".ToString(); obj.AddSqlParameter("订单ID", 订单ID); obj.AddSqlParameter("菜名", cname); obj.AddSqlParameter("数量", quantity); obj.AddSqlParameter("单价", price); obj.AddSqlParameter("评分", "0"); obj.SQL = obj.GetInsertSQ

40、L("订单条目"); obj.ExcuteNonQuery(); Session"Car" = null; Response.Write("<script>alert('订单提交成功,服务人员会尽快送餐');window.location='Default.aspx'</script>"); 用户反馈及评分 用户可以点击主页中“我的订单”查看自己当前订单和历史订单,并可以对订单中的每一笔交易的菜品都可以点击“评分”,用户可以根据自己的食用感受,给菜品记性打分,并且可以留下自己的宝

41、贵意见,以供餐饮公司针对用户的反馈进行菜品的改进,其评分界面如下图4-11所示。图4-11“评分”页面对于已经评分的餐品,不能重复评分;对于还未送达的餐品,需等到管理员处理订单后才能评分。订单处理订单处理的实现流程图如下图4-12所示:用户进行下订单流程图: 用户进行订单管理的流程图:开始选择菜品确定菜品信息确定用户信息提交定单开始处理定单修改定单状态派送菜品下订单结束前台用户登录后台用户登录验证信息结束图4-12订单处理流程图(下订单及订单管理)用户登录系统后,首先浏览菜单,可根据个人喜好或者用户评价选择自己喜欢吃的菜品,在选择完所需菜品后,可以加入购物车进行下订单,当点击下订单按钮后,系统

42、会确定你所订购的菜品信息,如菜品名称、数量、金额等,同时也会确定订购用户的信息,如订购人姓名、联系电话、送货地址等信息,用户在确定以上信息无误后,可以提交订单,等待管理员确认后进行送餐即可。系统管理员登录系统,对用户提交的订单进行处理,验证用户信息和菜单信息,确定后修改订单的状态,然后指定人员进行送餐服务,给出送货地址、联系电话、菜品金额总额信息给送餐人员,最后送餐人员送到用户手中,整个流程就此结束。后台对订单的处理主要是查看和修改订单状态。订单的处理涉及两张数据表:订单表和订单条目表。在查看订单列表时,绑定的数据是订单表中的数据,当查看订单详情时,在网页中传递“订单ID”作为参数来获取对应的

43、详情列表。在管理员处理订单后,订单表的“订单状态” 改为“已处理”。由于订单列表是写在控件UpdatePanel里的,所以在前台用户提交订单成功后,会自动对数据库执行查询,使后台的订单显示列表中会自动在首行显示出新订单,并且订单状态默认为“待送餐”;该页面中的当前时间是通过设置一个时间间隔为1000ms的Timer的控件,在Timer控件的事件中获取当前浏览器的时间,达到动态显现得效果。管理员可以查看订单详情,根据实际情况处理修改订单状态。订单处理的核心实现代码如下所示:/订单处理代码public partial class 订单处理_orderDetails : System.Web.UI.

44、Page 网上订餐系统.SqlServer db = new 网上订餐系统.SqlServer(); protected void Page_Load(object sender, EventArgs e) int id = int.Parse(Request.QueryString"订单ID".ToString(); db.SQL = "select * from 订单条目 where 订单ID=订单ID" db.AddSqlParameter("订单ID", id); DataTable dt = db.GetDataTable(

45、); this.GridView订单条目.DataSource = dt; GridView订单条目.DataBind(); this.Literal订单号.Text = id.ToString(); db.SQL = "select * from 订单表 where 订单ID=订单ID" DataTable dtInfo = db.GetDataTable(); this.Literal用户ID.Text = dtInfo.Rows0"用户ID".ToString(); this.Literal备注.Text = dtInfo.Rows0"备

46、注".ToString(); this.Literal电话.Text = dtInfo.Rows0"联系电话".ToString(); this.Literal订餐姓名.Text = dtInfo.Rows0"订餐姓名".ToString(); this.Literal送餐地址.Text = dtInfo.Rows0"送餐地址".ToString(); this.Literal总金额.Text = dtInfo.Rows0"金额总价".ToString(); db.SQL = "select 订

47、单状态 from 订单表 where 订单ID=订单ID " if (db.ExcuteScalar().ToString().Trim() = "已送餐") this.Button处理订单.Visible = false; protected void Button处理订单_Click(object sender, EventArgs e) db.SQL = "update 订单表 set 订单状态='已送餐' where 订单ID=订单ID" db.ExcuteNonQuery(); Response.Write("

48、;<script>alert(' 处理成功!');window.location.href='OrderListShows.aspx'</script>"); /删除订单代码public partial class delete : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (string.IsNullOrEmpty(Request.QueryString"订单ID") Response.Write(ScriptHelper.AlertAndBack("参数不存在"); return; int id; id = RequestHelper.GetIntValue("订单ID"); if (id < 1) Resp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论