SSM 电子商城
摘 要
随着科技的快速进步,不同行业正积极融合现代高科技,利用科技手段增强自身竞争力。在商品交易领域,科技的应用已经彻底转变了传统的商业管理模式,不仅降低了管理难度,还增加了管理的灵活性。现代电子商城特别强调经营与管理之间的互动协作,促进了管理者的创新和积极性,对商品交易的管理十分有益。
电子商城的开发重点是对预期功能的深入分析和设计,确立功能后,进行界面设计,同时确保功能和界面的有效结合,使用户能轻松访问所需信息。此外,还需考虑系统的后期可操作性和技术开发,确保系统的持续优化。
本项目采用SSM(Spring, Spring MVC, MyBatis)框架开发电子商城,使用Java作为编程语言,MySQL作为数据库。通过Spring MVC实现后端逻辑,测试显示,这种电子商城系统以轻量级、简便的方式实现了基本管理功能,减少了开发复杂性,提高了系统的可维护性,显示出良好的应用前景。
关键词:电子商城;MySQL;SSM框架
Online Shopping Mall
Abstract
As technology rapidly advances, various industries are actively integrating modern high-tech solutions to enhance their competitive edge. In the realm of commerce, the application of technology has fundamentally transformed traditional business management models, not only reducing the complexity of management but also increasing its flexibility. Modern e-commerce platforms emphasize the interactive collaboration between operations and management, fostering innovation and proactivity among managers, which greatly benefits the management of commercial transactions.
The development of e-commerce platforms focuses on a thorough analysis and design of the anticipated functionalities. Once these functionalities are established, the design of the user interface follows, ensuring an effective integration of features and interface to facilitate easy access to required information for users. Additionally, the system's long-term operability and technical development are considered to ensure continuous optimization.
This project employs the SSM (Spring, Spring MVC, MyBatis) framework to develop an e-commerce platform, using Java as the programming language and MySQL as the database. The backend logic is implemented through Spring MVC. Testing has shown that this e-commerce system achieves basic management functionalities in a lightweight and straightforward manner, reducing development complexity and enhancing system maintainability, indicating a promising application potential.
Keywords: Online Shopping Mall; MySQL; SSM Framework
目 录
第1章 绪论
1.1 选题背景
当前,电子商城不仅仅是在线销售商品的平台,它们正在通过集成先进的技术如人工智能(AI)、大数据、云计算等,为用户提供个性化购物体验、优化供应链管理、提高交易的安全性和透明度。此外,随着移动互联网的普及,移动购物已成为消费者偏好的一种方式,电子商城开发也越来越注重移动平台的优化和创新。
然而,电子商城的发展也面临着挑战,包括数据安全和隐私保护、跨境电商的法律和税务问题、消费者信任度建立等。随着市场竞争的加剧,为了吸引和保留消费者,电子商城需要不断创新和改进,提供更优质的产品和服务,同时解决上述挑战。
因此,电子商城开发是一个综合性强、涉及面广的领域,需要开发者具备跨学科的知识和技能。从技术实现到市场策略,从用户体验到法律法规,电子商城的开发涵盖了诸多方面,是一个充满机遇和挑战的领域。随着技术的不断进步和市场需求的不断变化,电子商城将继续演化,为消费者、商家和经济带来更多的价值。
1.2 系统开发的目的及意义
电子商城系统开发的目的和意义在于提高交易效率、扩大市场范围、提供个性化的购物体验、促进供应链管理的优化、增强交易安全性、支持可持续发展,并促进行业内的创新和竞争。通过数字化和自动化商品展示、搜索、比较和购买过程,电子商城不仅显著提高了交易效率,还使企业能够轻松进入全球市场,利用大数据和人工智能技术提供个性化服务,同时采用先进的安全技术保护消费者信息和交易安全,减少环境影响,并推动技术与商业模式创新,这些因素共同推动了电子商务的快速发展,对经济、社会和环境产生了深远的影响。
1.3 国内外研究现状
1.3.1 国外研究现状
在国外,以欧美国家为例,可以说电子商务业务开发的如火如荼。在法、德等欧洲国家,电子商务所产生的营业额已占商务总额的1/4,在美国那么已高达1/3以上,而欧美国家电子商务的开展也不过才十几年的时间。在美国,美国在线(AOL)、雅虎、电子港湾等著名的电子商务公司在1995年前后开始赚钱,到200年创造了7.8亿美元,IBM、亚马逊书城、戴尔电脑、沃尔玛超市等电子商务公司在各自的领域更是取得了令人不可思议的巨额利润。欧美国家拥有电脑的家庭,企业众多,网民人数占总人口的23以上,尤其是青少年,几乎都是网民,优裕的经济条件和庞大的网民群体为电子商务的开展创造了一个良好的环境。普遍实行信用卡消费制度,建立了一整套完善的信用保障体系,这为电子商务的网上支付问题解决了出路。欧美国家的物流配送体系相当完善,正规,其是近年来大型第三方物流公司的出现,使得不同地区的众多网民,往往能在点击购物的当天或转天就可收到自己所需的产品,交易类网站深受欢迎。
1.3.2 国内研究现状
在国内,电子商务始于1997年,电子商务工程大量推出,几乎每天都有各类电子商务咨询网站、网上商店、网上商城、网上专卖店、网上拍卖等诞生。电子商务应用与开展地域也由北京、上海、深圳等极少数城市,开始向各大中城市开展。不少地方政府也都对电子商务给予了前所未有的关注与支持,开始将电子商务作为重要的产业开展方向。电子商务企业有必要树立"商务为本"的观念,将目光转向工商企业和消费者的实际需求,以此确立电子商务效劳方式和电子商务解决方案。中国的电子商务和电子商城系统开发目前正显示出一系列关键趋势,包括移动支付的普及和创新、社交电商的兴起、跨境电商的增长、物流技术的革新、大数据和人工智能的应用,以及政策和法规的支持与挑战。这些趋势反映了中国独特的市场环境、消费者行为以及政策和技术的影响,表明该领域正处于快速发展和不断创新的阶段,面对市场需求和挑战,中国企业和政府正在积极寻求解决方案和发展机会。
1.4 论文结构安排
本文共分为六章,章节内容安排如下:
第一章、绪论,介绍了研究课题选择的背景,开发的目的及意义、国内外研究现状,简要介绍了本文的章节内容。
第二章、引入技术知识,通过引入关键技术进行开发,向系统中涉及直观表达的技术知识。
第三章为系统需求分析,章节所做的主要的工作是对系统进行了时间、经济和操作方面可行性的分析;对系统实行了总体功能的需求、用例分析。
第四章为系统的设计,主要是对系统的功能结构进行设计,并对系统数据库的概念结构以及物理结构的设计进行了分析。
第五章就是对系统的实现,根据系统功能的划分,分别的对系统所需要实现的前台客户功能和后台管理员功能进行了分析和说明。
第六章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测。
1.5 本章小结
本章主要通过对电子商城介绍了研究课题选择的背景,开发的目的及意义、国内外研究现状,简要介绍了本文的章节内容。
第2章 系统开发技术
这部分内容主要介绍本系统使用的技术,包括使用的工具,编程的语言等内容。
2.1开发环境介绍
1.软件体系结构方案:采用B/S模式,B/S代表的是服务器端由web服务器发放,客户端由浏览器接收的系统,它的前台是html语言,由浏览器解释。B/S结构可以由web服务器能够解释的脚本语言如jsp、php、asp、JavaScript。
2.操作系统方案:Windows 7(旗舰版)操作系统,该系统可以兼容需要的软件,并且具有良好的运行速度,界面良好。
3.后台数据库:选用Mysql。Mysql旨在通过数据库加密、更加安全的默认设置、加强的密码政策和细化许可控制、及加强的安全模型等特性,为企业数据提供最高级别的安全性。
4.开发工具:选用Myeclipse10
5.开发语言:Java语言。
6.开发技术:SSM+html+css+js技术。
2.2 Java语言
Java语言自公元1995年至今,已经超过25年了,依然在软件开发上面有很大的市场占有率。当年Sun公司发明Java就是为了发展一门跨平台的高级编程语言,让程序开发人员专注于程序开发过程,不需要关注服务器是属于哪个平台,因为跨平台的特性让语言发展的很迅速。Java的发展,吸收了C++这些语言的优点,因为新生事物一般就是解决老旧事物一些痛点的,虽然Java也有很多缺点,但是起码也算是一种发展方向。学习Java不需要太多的指针这些理念,也不用学习太过复杂的数据结构理论,比如什么堆栈这些概念,除非某些特殊行业对这些要求相当严谨之外,一般用Java开发程序是不用考虑各种各样的数据结构的。因为Java属于一种强类型语言,已经对各种数据定义了各种相应的类型。Java对数据类型定义分为两大种,一种是基本类型,含有8个基本属性,另一个是包装类。基本类和包装类从根本的定义上,都有很明显的区分,计算机运行也会有很明显的差别,如果用错了会编译错误还会影响运行效果的,Java的各种优点只需要按部就班的学习使用即可。
2.3 SSM框架
本课题开发的应用程序主要采用的框架技术是SSM,是Java语言的一种框架集合的简称,目前在Java语言方面,主要有两大分支,一个是主攻Java语言,学习了Java基础之后,会有很多Java进阶框架进行学习,主要是针对应用程序后台进行开发设计,另一方面是转行去学习安卓语言,主要是做安卓的前端设计方面,虽然也是Java语言,但是主要去学习安卓平台的各种架构和框架了。但是不管前端应用如何,SSM框架主要是针对服务端方面进行开发的一个主流框架集合。针对于传统的SSH框架的臃肿,配置繁琐,不管是开发还是二次开发都会造成时间上大量的浪费,并且学习上面也不能有效衔接,需要去适应框架的各种设计,而框架设计比较死板,容易出错。SSM框架是当前最流行的,告别了繁琐的配置,让配置更加灵活,让数据操作更加方便,选择SSM框架进行开发感觉是很合适的。
2.4 MYSQL数据库
关系型数据库设计,对于数据库字段类型的设计以及字段长度的设计,都无时无刻的影响着后续程序开发后大量数据操作的运行效率。关系型数据库对不同的字段类型都有解释,本着课题所需的应用程序开发,寻找最适合的关系型数据库,基本上都有考虑。关系型数据库发展至今也有几十年了,优胜劣汰导致到现在还依然存在的关系型数据库其实并不多,基本上也都能满足应用程序的功能所需,所以要从其他方面来进行考虑数据库的选择。从安装维护上面考虑,SQL Server数据库有好几个G的安装包,并且安装过程中会安装很多不需要的功能,非常占用资源。Oracle数据库不比SQL Server安装包小,并且安装也会出现很多问题,对于课题所需来讲,没必要这么麻烦,并且安装还需要各种激活,只有MySQL数据库完全适合,几十兆大小的安装包,运行起来压力不大,毕竟开发电脑上还有很多其他有用的东西,而且完全免费,所以选择了MySQL数据库作为首选数据库。
2.5 本章小结
本章主要通过对电子商城介绍了引入技术知识,通过引入关键技术进行开发,向系统中涉及直观表达的技术知识。
第3章 系统分析
这部分内容虽然在开发流程中处于最开始的环节,但是它对接下来的设计和实现起着重要的作用,因为系统分析结果的好坏,将直接影响后面环节的开展。
3.1可行性研究
影响系统开发的因素有很多,比如开发成本高就不适合开展,或者是开发时间超过了预期,也不适合开展等等。所以,在正式作出开发决策前,研究系统可行性问题,从经济,时间,操作等角度论证系统是否可以开展。
3.1.1经济可行性
电子商城可以简化工作流程,提供信息处理功能,并可以长期保存数据,在后期的数据查询与编辑中耗时少,提升信息管理效率,其带来的收益比较可观。对于本系统开发,无论是开发需要使用的计算机,还是开发工具等投入的成本很低,计算机是机房的电脑,开发工具是从网上下载安装的,并没有收取费用。
3.1.2技术可行性
技术可行性主要取决于系统设计和开发中使用的软硬件配置是否能满足应用要求,相关技术是否能保证系统设计完成后的正常运行。本网站在Windows操作系统中进行开发,并且目前PC机的性能已经可以胜任普通系统的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。
系统的开发环境和配置都是可以自行安装的,使用比较成熟的 Mysql数据库进行对系统用户之间的数据交互,根据技术语言对数据库管理,结合需求进行修改维护,可以使得系统运行更具有稳定性和安全性,从而完成实现系统的开发。该系统目前采用比较成熟的JAVA技术,并利用其创建的脚本与结合创建动态网页。它可以在普通文本编辑器上编辑而无需编译,它可以直接在服务器上执行。它易于学习和操作,系统开发的基础是高度兼容和灵活的,从技术可行性上来分析系统开发时完全可行的。
3.1.3操作可行性
随着电脑的普及,已经有很多人可以独立操作电脑了。而本系统就是在配置了运行环境的电脑上运行,其功能简单,省去了很多繁琐的操作逻辑,使用者通过页面导航可以直接进入功能操作区,所以稍微懂点电脑的人,都可以轻松完成系统的使用。
综上所述,本系统可以开展接下来的工作了。
3.2功能需求分析
3.2.1 系统用户
电子商城主要分为普通用户、和管理员两个个功能模块,为用户提供注册与登录、商品浏览与搜索、购物车管理、订单生成与支付、配送跟踪、订单取消申请等功能,为管理员提供更为方便、省心的电子商城管理平台。
3.2.2 系统用例图
电子商城的完整UML用例图分别是图3-1、图3-2。在参与者上包括用户和管理员。前台上用户角色用例包括注册成为我们正式的用户、用户登录、通知公告、商品资讯、商品信息、商城管理(我的购物车、我的订单、我的地址)、我的账户(个人资料、个人首页、留言反馈、收藏)。用户角色用例如图3-1所示。

图3-1电子商城普通用户角色用例图
管理员是维护整个电子商城中所有数据信息的,管理员可以进行登录、用户管理(管理员、普通用户)、留言反馈管理、系统管理、通知公告管理、资源管理、商城管理等。管理员角色用例如图3-2所示。

图3-2电子商城管理员用户角色用例图
3.3业务流程分析
3.3.1登录流程
登录模块主要满足管理员以及用户的权限登录,用户登录流程图如图3-3所示。

图3-3 登录流程图
3.3.2注册流程
未有账号的用户可进入注册界面进行注册操作,用户注册流程图如图3-4所示。

图3-4 注册流程图
3.3.3添加信息流程
用户在添加信息时,信息编号自动生成,系统会对添加的信息进行验证,验证通过则添加至数据库,添加信息成功,反之添加失败。添加信息流程如图3-5所示。

图3-5 添加信息流程图
3.3.4删除信息流程
用户可选择要删除的信息进行信息删除操作,在删除信息时系统提示是否确定删除信息,是则删除信息成功,系统数据库将信息进行删除。删除信息流程图如图3-6所示。

图3-6删除信息流程图
3.4 文章小结
本章主要通过对电子商城的可行性分析、功能需求分析、系统用例分析、业务流程分析,确定整个电子商城要实现的功能。同时也为电子商城的代码实现和测试提供了标准。
第4章 系统总体设计
当前,系统的类型有很多,从系统呈现的内容来看,系统的类型有社交类,有商业类,有新闻类等。那么,在众多系统类型中,先明确将要设计的系统的类型才是系统设计的首要工作,然后在此基础上明确系统的用户群,功能等,针对这些信息设计出具有独特体验和视觉的系统。如此才能让系统比较具有特色,也能够在众多相似系统中给用户留下深刻印象。
4.1系统总体功能结构图
架构设计的目的是反映一个结构和其他元素之间的关系,通常用于指导大型软件,将一个巨大的任务细分为多个小任务的过程是系统架构的总体设计。完成小任务后,整个任务就可以完成了。具体的实现过程是分解系统,分析各部分的功能、接口和逻辑关系。页面是一个一个模块组建而成的,层次结构分明,思想运用的是面向对象,一个实体对应一个数据类型,还要对每个数据类添加一个实施类。
电子商城的实现主要包括普通用户和管理员两个用户角色,由于系统用户角色不同所使用的功能模块相应不同,管理员根据需求对系统功能模块进行维护管理操作。
根据我们对电子商城的功能要求进行分析,我们将本系统划分为以下几各主要的模块,如图4-1所示。
图4-1 电子商城功能模块图
4.2系统功能描述
电子商城将提供用户注册与登录、商品浏览与搜索、购物车管理、订单生成与支付、配送跟踪、订单取消申请等功能,旨在促进二手商品在线的销售。具体如下:
4.2.1 普通用户功能描述
(1)注册登录:当用户想要对系统中所实现的功能进行查询管理的时候,就必须进行登录到系统当中,如果没有账号的话,在登录界面,点击“注册”按钮就会跳转到注册的界面,根据提示填写好注册信息,添加提交,用户的信息在数据库中就添加完成了,然后再输入填写好的账号和密码进行登录;
(2)查看电子商城的首页信息:电子商城的首页信息包含了首页、通知公告、商品资讯、商品信息、商城管理(我的订单、我的地址、我的购物车)、留言反馈、我的账户、个人中心(个人首页、留言反馈、收藏)等。
(3)商品资讯:用户可以查看关于商品相关的资讯,可以根据商品关键字进行搜索,在具体的资讯页面进行收藏和评论。
(4)商品信息:展示平台上的商品列表,用户可以浏览商品信息,包括主图、标题、卖价、原价、商品详情等信息,可以对商品进行收藏和评论,可以搜索和筛选商品,选择并添加到购物车进行购买。。
(5)商城管理:包括我的购物车、我的订单、我的地址等功能,用户可以查看购物车商品、删除购物车商品、查看订单状态和管理收货地址等信息。
(6)留言反馈:用户可以在富文本编辑器中编辑及提交留言。
(7)我的账户:展示用户的个人信息和账户设置,用户进入个人中心可修改资料、修改密码,可以查看自己的留言反馈和收藏信息。
(8)收藏:用户收藏商品资讯和商品信息,在“我的账户”中查看所有收藏信息。
4.2.2 管理员端功能描述:
(1)主页:展示商品销售金额统计图和商品销售数量统计图,为管理员提供数据参考和决策支持。
(2)系统用户:管理管理员用户和普通用户信息。
(3)留言反馈管理:展示普通用户在前台的留言反馈信息,管理员可以对留言反馈信息进行查询、删除以及回复的操作。
(4)系统管理:主要是轮播图管理,管理员可以添加、编辑、删除轮播图,方便前台用户查看。
(5)通知公告管理:管理员可以对前台的通知公告数据进行添加、删除、查询和修改的操作。
(6)资源管理:该功能包含两块,一是管理员可以对商品资讯进行分类管理(增删查改),二是管理员可以对展示在前台的商品资讯进行增删查改,实现动态管理内容的需求。
(7)商城管理:包括商品信息、分类列表、订单列表和订单配送的管理,管理员可以查看和管理商品列表、分类信息、订单状态和配送进度等,对订单的配送状态进行操作。
4.3数据库设计
相比非关系型数据库来说,目前市场上使用率比较高,并且易于维护的数据库,当数关系型数据库了。这个数据库主要是基于关系模型的方式来对数据信息进行组织。也就是常见的二维表模型。可以说二维表和二维表之间的相互联系就构成了关系型数据库。
4.3.1数据库E-R图
为了更好地保存电子商城产生的数据,就需要在数据库的设计阶段对E-R模型进行建立,以及完成数据库中的表结构的创建。之所以要单独完成数据库的设计,主要有以下几点原因:
第一点:防止代码冗余;
第二点:防止占用过多内存;
第三点:提升数据库的整体性能,方便程序开发以及数据更新;
第四点:保证数据的完整性;
本部分内容主要在于建立本系统的E-R模型,需要先收集数据,然后根据数据库实现的思路,对用户的需求进行分析,这期间需要对实体,属性,还有关系进行标识,为绘制E-R模型做好充足准备。同时,在作图中,也要注意作图规范
图4-2 电子商城 E-R关系图
(1)设计的各实体间关系见下图。

图4-3 实体间关系E-R图
4.3.2 数据库表结构
为了设计出结构合理,性能优良的数据库,在设计数据库时,需要遵循三大范式:
第一范式:确保数据表当中的每列所代表的字段值都不能再进行分解了;
第二范式:在满足第一范式基础上,让数据表中每列与主键相关;
第三范式:在满足第二范式基础上,确保每列数据直接与主键相关,不是间接相关。
从上面的表述中可以看出,这三大范式,在等级上还是有区分的,最低等级的就数第一范式,最高等级的就是第三范式,趋于两者中间的是第二范式。总之,数据库设计按照这三大范式进行,可以简化设计过程,并且还会减少数据冗余,对于数据检索效率的提升也很有帮助。
| 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 | |
| 1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
| 2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
| 3 | info | text | 65535 | 0 | Y | N | ||
| 4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
表access_token (登陆访问时长)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | address_id | int | 10 | 0 | N | Y | 收货地址: | |
| 2 | name | varchar | 32 | 0 | Y | N | 姓名: | |
| 3 | phone | varchar | 13 | 0 | Y | N | 手机: | |
| 4 | postcode | varchar | 8 | 0 | Y | N | 邮编: | |
| 5 | address | varchar | 255 | 0 | N | N | 地址: | |
| 6 | user_id | mediumint | 8 | 0 | N | N | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
| 7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 9 | default | bit | 1 | 0 | N | N | 0 | 默认判断 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
| 2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
| 3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
| 4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
| 5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
| 6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
| 9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
| 10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
| 11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
| 12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
| 13 | description | text | 65535 | 0 | Y | N | 文章描述 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
| 2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
| 3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
| 4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
| 5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
| 6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
| 7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
| 8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
| 2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
| 3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
| 4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
| 5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
| 6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
| 7 | position | varchar | 32 | 0 | Y | N | 位置: | |
| 8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
| 9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
| 10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
| 11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
| 12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
| 13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
| 14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
| 15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
| 16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
| 17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
| 18 | option | text | 65535 | 0 | Y | N | 配置: | |
| 19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | cart_id | int | 10 | 0 | N | Y | 购物车ID: | |
| 2 | title | varchar | 64 | 0 | Y | N | 标题: | |
| 3 | img | varchar | 255 | 0 | N | N | 0 | 图片: |
| 4 | user_id | int | 10 | 0 | N | N | 0 | 用户ID: |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 7 | state | int | 10 | 0 | N | N | 0 | 状态:使用中,已失效 |
| 8 | price | double | 9 | 2 | N | N | 0.00 | 单价: |
| 9 | price_ago | double | 9 | 2 | N | N | 0.00 | 原价: |
| 10 | price_count | double | 11 | 2 | N | N | 0.00 | 总价: |
| 11 | num | int | 10 | 0 | N | N | 1 | 数量: |
| 12 | goods_id | mediumint | 8 | 0 | N | N | 商品id:[0,8388607] | |
| 13 | type | varchar | 64 | 0 | N | N | 未分类 | 商品分类: |
| 14 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于产品规格描述 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
| 3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 6 | title | varchar | 255 | 0 | Y | N | 标题: | |
| 7 | img | varchar | 255 | 0 | Y | N | 封面: | |
| 8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
| 3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
| 4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
| 5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
| 6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
| 7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | goods_id | mediumint | 8 | 0 | N | Y | 产品id:[0,8388607] | |
| 2 | title | varchar | 125 | 0 | Y | N | 标题:[0,125]用于产品和html的<title>标签中 | |
| 3 | img | text | 65535 | 0 | Y | N | 封面图:用于显示于产品列表页 | |
| 4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于产品规格描述 | |
| 5 | price_ago | double | 8 | 2 | N | N | 0.00 | 原价:[1] |
| 6 | price | double | 8 | 2 | N | N | 0.00 | 卖价:[1] |
| 7 | sales | int | 10 | 0 | N | N | 0 | 销量:[0,1000000000] |
| 8 | inventory | int | 10 | 0 | N | N | 0 | 商品库存 |
| 9 | type | varchar | 64 | 0 | N | N | 商品分类: | |
| 10 | hits | int | 10 | 0 | N | N | 0 | 点击量:[0,1000000000]访问这篇产品的人次 |
| 11 | content | longtext | 2147483647 | 0 | Y | N | 正文:产品的主体内容 | |
| 12 | img_1 | text | 65535 | 0 | Y | N | 主图1: | |
| 13 | img_2 | text | 65535 | 0 | Y | N | 主图2: | |
| 14 | img_3 | text | 65535 | 0 | Y | N | 主图3: | |
| 15 | img_4 | text | 65535 | 0 | Y | N | 主图4: | |
| 16 | img_5 | text | 65535 | 0 | Y | N | 主图5: | |
| 17 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 18 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 19 | customize_field | text | 65535 | 0 | Y | N | 自定义字段 | |
| 20 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 21 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 22 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 23 | user_id | int | 10 | 0 | Y | N | 0 | 添加人 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | type_id | int | 10 | 0 | N | Y | 商品分类ID: | |
| 2 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
| 3 | name | varchar | 255 | 0 | Y | N | 商品名称: | |
| 4 | desc | varchar | 255 | 0 | Y | N | 描述: | |
| 5 | icon | varchar | 255 | 0 | Y | N | 图标: | |
| 6 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 7 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
| 3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | logistics_delivery_id | int | 10 | 0 | N | Y | 物流配送ID | |
| 2 | order_number | varchar | 64 | 0 | Y | N | 订单号 | |
| 3 | product_name | varchar | 64 | 0 | Y | N | 商品名称 | |
| 4 | purchase_quantity | varchar | 64 | 0 | Y | N | 购买数量 | |
| 5 | total_transaction_amount | double | 11 | 2 | Y | N | 0.00 | 交易总额 |
| 6 | the_date_of_issuance | date | 10 | 0 | Y | N | 发货日期 | |
| 7 | delivery_number | varchar | 30 | 0 | Y | N | 配送订单 | |
| 8 | ordinary_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
| 9 | shipping_address | varchar | 64 | 0 | Y | N | 收货地址 | |
| 10 | delivery_status | varchar | 64 | 0 | Y | N | 配送状态 | |
| 11 | signing_status | varchar | 64 | 0 | Y | N | 签收状态 | |
| 12 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
| 13 | contact_name | varchar | 255 | 0 | Y | N | 联系人名字 | |
| 14 | merchant_id | int | 10 | 0 | Y | N | 商家id | |
| 15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | message_feedback_id | int | 10 | 0 | N | Y | 留言反馈ID | |
| 2 | message_title | varchar | 64 | 0 | Y | N | 留言标题 | |
| 3 | user_information | int | 10 | 0 | Y | N | 0 | 用户信息 |
| 4 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
| 5 | message_content | text | 65535 | 0 | Y | N | 留言内容 | |
| 6 | manage_replies | text | 65535 | 0 | Y | N | 管理回复 | |
| 7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
| 2 | title | varchar | 125 | 0 | N | N | 标题: | |
| 3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
| 4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | order_id | int | 10 | 0 | N | Y | 订单ID: | |
| 2 | order_number | varchar | 64 | 0 | Y | N | 订单号: | |
| 3 | goods_id | mediumint | 8 | 0 | N | N | 商品id:[0,8388607] | |
| 4 | title | varchar | 32 | 0 | Y | N | 商品标题: | |
| 5 | img | varchar | 255 | 0 | Y | N | 商品图片: | |
| 6 | price | double | 10 | 2 | N | N | 0.00 | 价格: |
| 7 | price_ago | double | 10 | 2 | N | N | 0.00 | 原价: |
| 8 | num | int | 10 | 0 | N | N | 1 | 数量: |
| 9 | price_count | double | 8 | 2 | N | N | 0.00 | 总价: |
| 10 | norms | varchar | 255 | 0 | Y | N | 规格: | |
| 11 | type | varchar | 64 | 0 | N | N | 未分类 | 商品分类: |
| 12 | contact_name | varchar | 32 | 0 | Y | N | 联系人姓名: | |
| 13 | contact_email | varchar | 125 | 0 | Y | N | 联系人邮箱: | |
| 14 | contact_phone | varchar | 11 | 0 | Y | N | 联系人手机: | |
| 15 | contact_address | varchar | 255 | 0 | Y | N | 收件地址: | |
| 16 | postal_code | varchar | 9 | 0 | Y | N | 邮政编码: | |
| 17 | user_id | int | 10 | 0 | N | N | 0 | 买家ID: |
| 18 | merchant_id | mediumint | 8 | 0 | N | N | 0 | 商家ID: |
| 19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 21 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于产品规格描述 | |
| 22 | state | varchar | 16 | 0 | N | N | 待付款 | 订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成 |
| 23 | remark | text | 65535 | 0 | Y | N | 订单备注 | |
| 24 | delivery_state | varchar | 16 | 0 | Y | N | 未配送 | 发货状态:未配送,已配送 |
| 25 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 折扣 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
| 3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | product_information_id | int | 10 | 0 | N | Y | 商品信息ID | |
| 2 | purchase_notice | varchar | 64 | 0 | Y | N | 购买须知 | |
| 3 | cart_title | varchar | 125 | 0 | Y | N | 标题:[0,125]用于产品html的标签中 | |
| 4 | cart_img | text | 65535 | 0 | Y | N | 封面图:用于显示于产品列表页 | |
| 5 | cart_description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于产品规格描述 | |
| 6 | cart_price_ago | double | 8 | 2 | N | N | 0.00 | 原价:[1] |
| 7 | cart_price | double | 8 | 2 | N | N | 0.00 | 卖价:[1] |
| 8 | cart_inventory | int | 10 | 0 | N | N | 0 | 商品库存 |
| 9 | cart_type | varchar | 64 | 0 | N | N | 未分类 | 商品分类: |
| 10 | cart_content | longtext | 2147483647 | 0 | Y | N | 正文:产品的主体内容 | |
| 11 | cart_img_1 | text | 65535 | 0 | Y | N | 主图1: | |
| 12 | cart_img_2 | text | 65535 | 0 | Y | N | 主图2: | |
| 13 | cart_img_3 | text | 65535 | 0 | Y | N | 主图3: | |
| 14 | cart_img_4 | text | 65535 | 0 | Y | N | 主图4: | |
| 15 | cart_img_5 | text | 65535 | 0 | Y | N | 主图5: | |
| 16 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 17 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | regular_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
| 2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
| 3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
| 4 | contact_phone_number | varchar | 16 | 0 | Y | N | 联系电话 | |
| 5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
| 6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
| 7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
| 2 | title | varchar | 64 | 0 | Y | N | 标题: | |
| 3 | content | varchar | 255 | 0 | Y | N | 内容: | |
| 4 | url | varchar | 255 | 0 | Y | N | 链接: | |
| 5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
| 6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
| 7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表upload (文件上传)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
| 2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
| 3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
| 4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
| 5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
| 6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
| 7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
| 8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
表user (用户账户:用于保存用户登录信息)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
| 2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
| 3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
| 4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
| 5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
| 6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
| 7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
| 8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
| 9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
| 10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
| 11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
| 12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
| 13 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
| 14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 15 | vip_level | varchar | 255 | 0 | Y | N | 会员等级 | |
| 16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |
表user_group (用户组:用于用户前端身份和鉴权)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
| 2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
| 3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
| 4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
| 5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
| 9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
4.4本章小结
整个电子商城的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
第5章 系统实现
在此部分内容中,主要通过系统功能的运行效果图展示前面设计的最终结果。系统实现对编制人员的技术能力有较高要求,因为需要他们使用编程的方式去实现系统设计的方案。
5.1用户功能模块
5.1.1 用户注册界面
用户点击首页左上角“注册”按钮进入注册页面,填写个人账号+密码+姓名+头像+手机+性别等信息后点击“注册”,点击“注册”按钮后系统会验证两次输入的密码是否一致,验证输入的账户名和数据库表中已经注册的账户名是否重复,验证通过后即可注册成功。其用户注册界面展示如下图5-1所示。

图5-1用户注册界面图
注册关键代码如下所示。
public Map<String, Object> signUp(HttpServletRequest request) throws IOException {
Map<String, String> query = new HashMap<>();
Map<String,Object> map = service.readBody(request.getReader());
query.put("username",String.valueOf(map.get("username")));
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, "用户已存在");
}
map.put("password",service.encryption(String.valueOf(map.get("password"))));
service.insert(map);
return success(1);
}
5.1.2 用户登录界面
用户注册成功后可以通过输入用户名、密码、验证码进行登录,当用户输入完信息并点击“登录”按钮后,系统会验证输入的信息是否完整和准确,验证通过后即可完成登录,用户登录界面如下图5-2所示。

图5-2用户登录界面图
登录关键代码如下所示。
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
QueryWrapper wrapper = new QueryWrapper<User>();
Map<String, String> map = new HashMap<>();
5.1.3前台首页
当用户登录系统后台可查看前台首页的通知公告、商品资讯、商品信息、商城管理、我的账户等信息,前台首页界面如下图5-3所示。

图5-3 前台首页界面图
5.1.4 商品信息界面
当用户点击首页上的任一商品按钮将页面可查看卖家发布的商品详细信息,进入到物品信息的展示界面,在展示界面可以查看商品的图片、分类、销售、库存、价格等信息,同时可以进行收藏、加入购物车或在线购买支付等操作,商品详情的展示页面如图5-4所示。

图5-4 商品详情界面图
商品展示关键代码如下所示。
@RequestMapping(value = "/del")
@Transactional
public Map<String, Object> del(HttpServletRequest request) {
service.delete(service.readQuery(request), service.readConfig(request));
return success(1);
}
@Transactional
public void delete(Map<String,String> query,Map<String,String> config){
StringBuffer sql = new StringBuffer("DELETE FROM ").append("`").append(table).append("`").append(" ");
sql.append(toWhereSql(query, "0".equals(config.get(FindConfig.GROUP_BY))));
log.info("[{}] - 删除操作:{}",table,sql);
Query query1 = runCountSql(sql.toString());
query1.executeUpdate();
}
5.1.5个人中心管理界面
当用户点击首页右上方的“个人中心”后将会进入后台首页,可以查看个人首页、留言反馈、订单配送、收藏等信息。个人中心界面如下图5-5所示。

图5-5个人中心界面图
5.1.6我的购物车界面
当用户点击首页上方的“我的购物车”按钮页面时可查看用户加入购物车的商品列表信息,可将不需要的商品可进行删除操作,也可将购物车的商品数量适当增或减,然后一起付款,我的购物车界面如下图5-6所示。

图5-6 我的购物车界面图
当用户点击首页上方的“商品资讯”按钮页面时可查看系统中的所有资讯信息,用户可对资讯进行点赞、收藏或发表评论等操作,商品资讯如图5-7所示。

图5-7 商品资讯界面图
当用户点击“我的订单”页面支持排序或订单状态等进行搜索查询订单信息,对未支付的订单可进行在线支付,其界面如下图5-8所示。

图5-8订单信息界面
5.2管理员功能模块
输入账号、密码进行验证登录,当管理员输入完信息并点击“登录”按钮后,系统会验证输入的信息是否完整和准确,验证通过后即可完成登录。管理员登录界面如下图5-10所示。

图5-9管理员登录界面图
管理员在“轮播图管理”界面可以对轮播图进行查看和管理,在轮播图界面点击“添加”按钮进入添加页面,填写标题、上传图片即可完成轮播图的添加,还可以对轮播图进行查询、修改、删除操作。轮播图管理界面如下图5-11所示。

图5-10添加轮播图界面图
5.2.4资源管理
管理员在“资源管理”页面可对商品资讯以及商品分类进行维护管理,界面如下图5-13所示。

图5-11资讯管理界面图
5.2.5商城管理界面
管理人员在“商城管理”这一菜单中可以对商品信息进行查询和添加分类管理。
在分类添加页面填写分类名称完成分类列表的信息添加,还可以进行查询、修改、删除操作。界面如下图5-12所示。
对发布的商品信息进行管理,也可编辑标题、描述、分类、图片、价格、库存和简介等详细信息进行发布商品,其界面如下图5-13所示。

图5-12分类添加管理界面图

图5-13发布商品信息界面图
卖家在“订单列表管理”一栏可查看自己店内的所有订单信息,对未发货的订单进行点击“配送”等操作,其界面如下图5-14所示。

图5-14 订单列表管理界面图
本章主要通过对电子商城对系统的实现,根据系统功能的划分,分别的对系统所需要实现的前台用户功能和后台管理员功能进行了分析和说明。
第6章 系统测试
6.1系统测试目的
一个系统测试的目的就是检验系统在真正的工作环境、条件下是不是能够正常运行,各种功能能不能符合设计的要求,通过测试发现系统当中存在的一些潜在的错误,然后对系统进行改进,使得系统最终以完美的形式展现给用户,提高用户使用过程中的体验度,真正达到项目的实际使用目的。
6.2 系统测试的类型
检测系统是否合格,需要用到很多的测试类型。接下来就对这部分内容进行描述。
功能测试:这是系统测试中,首先进行的测试内容,其属于黑盒测试。主要检验制作的系统与需求说明文档的相符程度,还有它们之间存在的差异问题。
性能测试:主要测试制作的系统,在同时面对很多的用户请求时,该系统的应对能力。同时也是检查制作的系统跟事先预定的系统性能存在的差距问题。这样的方法通常在实时系统中,或者是嵌入式系统中运用得比较多。
容量测试:这种方法针对数据。检查正常运行的系统对数据处理的容量值。
安全性测试:这种方法常用于检验系统中设置的安全保护机制对来自非法用户的攻击时是否有效。而检测系统中的信息保护机制就需要使用常见安全测试中的保护测试来验证。
健壮性测试:这种测试还有一个别称是容错测试,通常运用故障插入法来检测系统的容错能力,看系统是否可以忽略故障保持继续运行,或者是检测系统应对故障时的自动恢复能力。
兼容性测试:面对计算机的各种软硬件环境,检测本系统是否可以兼容。
易用性测试:这种方法主要是面向用户,检测用户是否很容易理解和使用系统。
6.3 功能测试
系统测试包括:管理员登录功能测试、商品信息查看功能测试、商品添加功能测试、加入购物车购买功能测试,如表6.3.1、6.3.2、6.3.3、6.3.4所示:用户登录功能测试:
管理员登录功能测试:
表6.3.1 管理员登录功能测试表
| 测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
| 登录模块测试 | 登录成功的情况 | 管理员可以通过浏览器进入到电子商城后台登录界面,输入用户名:admin和密码admin后,点击“登录”按钮。 | 成功登录到管理员管理的界面 | 正确 |
| 登录模块测试 | 登录失败的情况 | 管理员可以通过浏览器进入到电子商城后台登录界面,输入用户名:admin和密码111后,点击“登录”按钮。 | 系统提示“用户名和密码不匹配” | 正确 |
商品信息查看功能测试:
表6.3.2商品信息查看功能测试表
| 测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
| 查询交易资讯信息功能测试 | 查询成功的情况 | 用户在导航栏中点击“商品信息”,输入关键词查询商品,输入的商品在系统中存在,显示查询商品信息 | 查询成功 | 正确 |
商品添加界面测试:
表6.3.3 卖家添加商品界面测试表
| 测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
| 商品添加模块测试 | 商品添加成功的情况 | 在导航栏中点击“商品信息”会显示出所有的商品信息,点击“添加”,输入商品信息,输入正确的信息后,点击“提交”按钮。 | 提示添加成功 | 正确 |
| 商品添加模块测试 | 商品添加失败的情况 | 在导航栏中点击“商品信息”会显示出所有的商品信息,点击“添加”,不输入标题,其他信息正常填写后,点击“提交”按钮。 | 提示“添加失败,标题不能为空” | 正确 |
加入购物车购买功能测试:
表6.3.4 加入购物车购买功能测试表
| 测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
| 加入购物车购买功能测试 | 购买的情况 | 用户在商品信息的商品详情页面,点击“加入购物车”,然后在“我的购物车”界面,点击“购买”按钮,进行付款。 | 加入购物车购买成功 | 正确 |
6.4 测试结果分析
通过编写电子商城的测试用例,已经检测完毕管理员登录模块、商品添加模块、商品信息查询模块、加入购物车购买模块的功能测试,在对以上功能得测试过程中,发现了系统中的很多漏送并进行了完善,经过多人在线进行测试,系统完全可以正常运行,当然在后期的维护中系统将不断完善。
6.5本章小结
本章主要通过对电子商城的系统测试,主要对系统的部分界面进行测试并对主要功能进行测试。
结 论
2024年的今天,计算机技术已经相当成熟。它的发展推动了许多行业改头换面,计算机的出现使人类社会有了进一步降低人力物力和资源的方法。
本文利用SSM框架和MySQL数据库技术,完成了电子商城。经调试结果显示,本系统基本可以满足一个电子商城的业务需要。系统界面简洁而有美感,易操作,做出了自己的特色,然而因为时间仓促再加上缺乏系统开发经验和仅依靠少数问卷调查方式,因此本系统还存在不少缺陷、不足,比如:
1. 数据输入的格式并没有全部检验,所以很难保证数据的准确,可能有一些不符合规则的数据也可以通过检验。
2. 系统功能还不够完善,无法提供丰富多彩的在线功能。
本系统还存在一些漏洞没有解决,在现实应用情境中很难保证完全不出错,但相信通过再次完善,可以调试出真正符合实际的电子商城。
参考文献
[1]文臻铭, 吴钧皓. 基于SSM框架的电力电缆附件电子商城系统设计与实现[J]. 工业控制计算机, 2023, 36 (08): 145-146+153.
[2]何文杰, 张笛. BtoB模式下电子商城采购探索[J]. 企业科技与发展, 2023, (06): 126-128.
[3]李亚君. 基于SSM框架的B2C电子商城系统的设计与实现[D]. 合肥工业大学, 2022.
[4]黄伟波. 基于微服务架构的电子商城系统的设计与实现[D]. 北京邮电大学, 2022.
[5]郑宇彤. 基于Java的农产品电子商城设计与实现[D]. 武汉轻工大学, 2022.
[6]甘宁. 互联网时代B2C电子商城购物网站的应用与测试[J]. 信息与电脑(理论版), 2021, 33 (14): 98-100.
[7]Yuxuan Han. Advantages of Self-Logistics and the Third-Party Logistics -Taking Jingdong Electronic Shopping Mall as an Example[J]. E3S Web of Conferences, 2021, 235 03008-.
[8]Xin Tong Li, Abdul Rahman, Gan Connie, Zahir Osman. Examining customers' perception of electronic shopping mall's e-service quality[J]. International Journal of Services, Economics and Management, 2020, 11 (4):
[9]宋大鹏. 大型企业电子商城系统的开发实践[J]. 中国管理信息化, 2020, 23 (15): 179-182.
[10]赵勇, 王文博. 政府采购中应用电子商城的理论分析[J]. 中国政府采购, 2020, (05): 63-70.
[11]刘彤月. 基于SSM的分布式商城的设计与实现[D]. 中国地质大学(北京), 2020.
[12]沈剑翘, 朱天唯. 协同过滤推荐算法及其在电子商城中的应用[J]. 电脑与电信, 2020, (Z1): 41-43+57.
[13]孙建英. 分布式、集中式、区块链技术在网上商城中的应用[J]. 商场现代化, 2020, (01): 13-15.
[14]王刚. WEB数据库技术在电子商务教学中的应用解析[J]. 计算机产品与流通, 2019, (12): 226.
[15]王予诺. 基于Web的C2C农业电子商城的设计与实现[J]. 信息与电脑(理论版), 2019, (12): 89-90.
[16]李天庆. 基于SSM框架的电子商城项目的设计与实现[D]. 山东大学, 2019.
[17]孙玲, 李继鹏. 基于电子商务的中小家电企业营销渠道策略研究[J]. 现代营销(信息版), 2019, (01): 227.
[18]甘文丽, 刘雅琴, 杨鸿霄. 基于Android的果蔬生鲜移动电子商城设计与实现[J]. 电脑知识与技术, 2018, 14 (33): 260-262.
[19]Bahaddad, Drew, Houghtoni, Alfarraj. Factors attracting online consumers to choose e-Malls for e-procurement in Saudi Arabia[J]. Enterprise Information Systems, 2018, 12 (7): 856-887.
致 谢
伴随着毕设项目的制作完成,也就意味着我们即将离开校园。回想几年的大学时光,不由得想起身边常伴的同学,授课的老师,还有毕设指导的老师们。
大学这几年,身边的同学为我提供了很多的帮助,不管是生活上,还是学习上,每次遇到问题,这些同学们都会耐心解答,有时为了避免我再次犯错,他们也会时不时提醒我。本次毕设制作期间,这些老同学也是互相分享开发经验,还有文档编写的技巧,从开题报告,还有任务书以及最后的论文等文档上,大家都是互相提出建议,互相参考一些编写经验和技巧。如此,我们才会进展得比较顺利。此刻,真心感谢这些老同学!
唯一不能忘记的是导师,平均每个导师都带了很多个毕业生,所以能够想象他们非常忙,因为一到毕业季,他们需要指导学生们毕业,还需要正常授课。作为本届毕业生,我也能够体会导师的辛苦和不容易。毕设制作的环节有很多,但是我的导师在进行的每个环节都严格要求我认真努力对待本项目,也对我编程技术上提出了很多至关重要的建议,还对一些比较细微但是也比较关键的部分向我进行了多次强调,让我少走弯路,可以如期实现本系统。此刻,真心感谢导师!
校园里的授课老师不仅有本专业的老师,也有其他专业的老师们,他们都教过我们课程,向我们传授知识,有了这些知识积累,我在本次毕设制作中,才知道有些问题该如何运用知识处理,此刻,感谢那些授课老师。
最后时刻,我要感谢校园,祝愿校园更加强大!
请关注点赞+私信博主,免费领取项目源码
2015

被折叠的 条评论
为什么被折叠?



