水果店销售管理系统的设计与实现
摘 要
在信息飞速发展的今天,网络已成为人们重要的信息交流平台。蔬菜水果公司每天都有大量的信息需要通过网络发布,为此,本人开发了一个基于B/S(浏览器/服务器)模式的水果店销售管理系统。
该系统以java编程语言、MySQL和前端UI等为开发技术,实现了添加、修改、查看、删除系统数据。本系统采取组件化的方式对系统进行拆分,并对数据库中各个表的增删查改、表与表之间的约束关系进行分析与设计,最终实现符合用户需求功能的商业级应用。
系统界面简洁大方,布局合理,易操作易上手。对应用户的每一步操作,系统都能高响应地做出反馈。系统具体包含对用户的管理、登录注销、商品发布、商品维护、订单结算、订单维护等功能,为水果店销售管理销售提供一个管理平台,实现对数据地高效、安全地管理。
关键词:B/S模式,java编程语言,易操作
Design and Implementation of Fruit Shop Sales Management System
Abstract
With the rapid development of information today, the network has become an important information exchange platform for people. Vegetable and fruit companies have a large amount of information to publish through the network every day. Therefore, I developed a fruit store sales management system based on B/S (browser/server) mode.
The system uses Java programming language, MySQL, and front-end UI as development technologies to add, modify, view, and delete system data. This system adopts a componentized approach to split the system, and analyzes and designs the addition, deletion, query, and modification of various tables in the database, as well as the constraint relationships between tables. Finally, it achieves a commercial level application that meets user needs.
The system interface is simple and generous, with a reasonable layout, and is easy to operate and use. The system can provide highly responsive feedback for each step of the user's operation. The system specifically includes functions such as user management, login and logout, product release, product maintenance, order settlement, and order maintenance. It provides a management platform for fruit store sales management and sales to achieve efficient and safe management of data.
Keywords: B/S mode, Java programming language, easy to operate
目 录
当今社会,随着Internet的发展,网上购物已经成为了一种新的购物理念,人们可以足不出户便可以购买所需物品。随着"互联网+"、轻量级框架、分布式、高并发高可用等概念的提出,使得Web应用的开发技术得到了进一步的推进及深入发展,对水果店销售管理系统的设计、实现、管理产生了深远的影响,并在水果店销售管理系统的开发中得到了广泛的应用。电子商务通过营造一个虚拟市场环境,使贸易双方没有时空障碍,从而增加贸易机会,降低交易成本,改善服务质量,提高商务活动效率。互联网和电子商务的全面整合不仅极大地丰富了各类产品的销售渠道,而且还提升了企业进行改革与转型的效率,推动了企业的发展步伐。然而,由于电子商务在"互联网+"时代并未经历较长的发展阶段,目前还不够成熟,所以在此程中仍存在很多问题,只有尽快发现这些问题,并及时采取针对性的解决措施,才能使电子商务在未来取得更好的发展。
从系统的背景来看,可以看出开发一个电子商务系统有以下几点重大的意义:
第一点,投入的资金少,回收成本和利润快。在国内,使用互联网开店的成本非常低,据调查显示国内开店的平均资金为5万以上,然后跟实体店昂贵的开店费用比起来,已经是微不足道,造成如此差距的原因在于,开网店不需要门店租金,囤积货物,也没有营业执照的硬性要求,也不需要大量人力资源,综合起来就比实体店所花费的费用要少得多了,实体店需要门店租金和大量人力,这些都是不可缺少的成本。
第二点,不限营业时间,基于可以全天24小时营业。传统的实体店大部分营业时间都在8到12小时左右,遇上恶劣天气、老板或者员工有急事,可能都会造成实体店关门休息,网店却不受这些影响,只要不停电,电脑能正常工作,就可以持续不间断的营业。
第三点,不受地理位置影响。以前电子商务大部分只是在国内营销,近年来,越来越多的国际贸易往来导致了越来越多的外国人能通过互联网购买各国的商品,因此电子商务的发展已经突破的地域差异了。
从系统的在国外,当前网络商城发展的领军者当属北美市场了,其中美国网络商城的快速发展走在了北美市场的前沿。具体体现在虽然美国市场仅仅经历了一年的时间就从 B2C 结算转变成为了 B2B 结算,但是通过 B2B 结算就已经超过了 B2C结算的交易额。在全球网络商城发展的过程中,即使以美国为代表的北美市场的网络商城发展突飞猛进,但是网络商城在欧洲地区的发展也在全球网络商城的发展中占有重要地位,其中欧洲依靠欧盟这一特殊的机构,整合资源,结合全球网络商城发展优点,走出了自己独特的道路,为全球网络商城发展贡献自己的力量。将目光转向国内市场,我国互联网发展的起步较晚,目前我国内的网络商城的结算依旧采用 B2C 结算。我国网络上出现的首批网络商城服务到现在不过才二十多年。但是近年来我们国家计算机相关行业的迅猛发展,其中网络商城是其中的佼佼者。线上购物逐渐赶上甚至超过了线下购物,成为我国消费者的主要消费方式,同时网络商城的发展也逐渐改变我们的消费方式、生活习。是我们国家未来消费方式的趋势。
六个章节共同组成了本文研究及设计内容,包括:
第一章:绪论。本文章的开头部分,对本题目的研究背景和研究意义等一些做文字性的描述。
第二章:相关技术介绍。主要介绍java编程技术、ssm的开发工具、B/S模式等。
第三章:系统分析。包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。
第四章:系统设计。本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。
第五章:系统实现。将本系统分为前提的开发工具介绍和后期的功能代码实现。
第六章:系统测试。系统完成后,根据各个模块的测试用例才对各个模块进行功能测试。
Ajax的出现,也带来了另外一个问题,那就是有了Ajax以后,之前用模板语言实现起来的功能变得简单,之前模板语言实现不了的功能现在也能实现了。这样就造成越来越多的逻辑转移到了javascript上,使其变得越来越复杂。
随着js复杂度的增长,原来的开发模式出现了问题,一个程序员搞定全站变得越来越不靠谱,因此在这个时候就把网站开发这个职位划分成了前端和后端两个职位。但是只划分了前后端的职责范围还是远远不够的,在原来的开发模式下,前后端的代码也在一起的。现在既然已经分为前后端两波人在开发了,维护同一套代码就变得不那么方便。项目越复杂,出现你等我,我等你的情况就会越来越多,这样就拖慢了整体团队的节奏。所以为了团队的效率,前后端的代码也要做分离。
前后端的分离方式分为部分分离和全部分离两种,部分分离是只把脚本和样式分离出去,而html模板还留在后端通过java,velocity或者freemarker来渲染;另一种就是完全分离,脚本样式以及模板全都放在前端来维护。
部分分离已经很大程度上解决了前后端开发时的协调问题,开发效率也得到了很大程度的提升。但也得承认,这种方式也还是有问题的。当要开发html模板的时候,就需要搭起一整套后端的开发环境,或者是找后端程序员来协助。
而完全分离一般有两种方案,第一种就是使用velocity这种在nodejs和java下都可以编译的页面模板,在开发时放到前端项目里,但在发布时,会把模板发布到后端的模板目录下,这样,开发时就做到了完全分离。这种方式最大的好处就是线上模板的渲染还是由java来做的,形成的是带有动态数据的html,比较有利于SEO。但这种方式下,前端的开发环境和发布系统的复杂度都相对较高,单纯的前端改动也还是要带着后端一起发布。
第二种完全分离的方式,就是把纯静态的html模板完全放在前端,数据全部通过RESTful接口来进行交互。这样前后端就完全分开了,脱离了后端的模板,而这种方式的系统复杂度也会比第一种完全分离的方式低。但这种方案下,所有的页面数据都是用js渲染的,没有动态模板,不太利于SEO。这个不足我们可以通过做server render或者给蜘蛛做一套定制页面来解决。
Java语言擅长开发互联网类应用和企业级应用,现在已经相当的成熟,而且也是目前使用最多的编程语言之一。Java语言具有很好的面向对象性,可以符合人的思维模式进行设计,封装是将对象的属性和方法尽可能地隐藏起来,使得外界并不知道是如何实现的,外界能通过接口进行访问,继承是指每个类都会有一个父类,所有的子类都有父类的方法,可以进行继承,但是只有final修饰的类不能被继承,通过继承可以使得代码得到重新利用,能够提高软件的开发效率,也是多态的前提。
Java就像C语言、C#语言等,也是一种程序开发语言,而它的特点就是面向对象。作为一种程序开发与设计的语言,它有很多特性,主要特性就是面向对象、夸平台以及可以分布式运行。Java语言项目不但安全性高、稳定性强,而且可以并发运行。
为了提高开发的速度及效率,必须做到代码的重复使用和简化程序的复杂度,要达到上述的要求java语言通过封装、继承与多态等方式实现,这样可以很大程度上达到信息的封装,提高代码复用率,减少冗余度,提高效率。在Java中难能可贵的一点就是它的垃圾回收机制,它使得以往程序中大量存在的内存泄漏的问题得到了较好的缓解。所谓的内存泄漏就是程序向操作系统申请了一块存储空间,比如定义了一个变量,但是由于某种原因,这个变量一直没有使用,但是仍然占用着系统的内存空间,可能一两个这样的变量对程序和操作系统造不成什么大的影响,但是试想如果这样的变量定义的多了系统的内存空间就会一步步减少,从而造成机器的性能降低甚至宕机。但是在Java中有垃圾回收机制的存在,这种机制极大地避免了内存泄漏的出现,在Java虚拟机中,垃圾回收机制会对长时间没有引用变量指向的对象实施垃圾回收,简单的说就是将这个对象销毁,以避免内存泄漏的情况出现。
计算机的系统软件主要分为两种:系统软件和应用软件。应用软件则是为了某个特定的应用而开发的一类软件,比如文字处理软件word、QQ、开发本软件用的myeclise工具等。而应用型软件大致的分为B/S和C/S两种模式,常用的QQ、Office办公软件就是C/S结构的,另外常见基于的B/S结构开发的有各种网站,比如淘宝、企业的门户网站[7]。
B/S模式的优势有三个:第一是开发和业务扩展简单、只需要改变网页代码,就可以达到想要的网页效果;第二学生的操作显浅易懂;第三具有分布性特定,可以随时随地的进行查询、浏览等业务的处理。这是C/S所无法实现的。综上因素,选择B/S模式来设计和实现本系统[8]。
开发软件有没有触犯法律,这涉及到软件或者系统能不能发布的问题。如果触犯了法律,就必将会受到法律的制裁。常见法律问题就是软件抄袭问题,若是抄袭别人软件,将会受到严厉惩罚。
软件产业经过多年的发展,现在已经达到了很大的规模,从事软件开发的专业人员不计其数,软件产业的重要性已经上升到了影响和推动国民经济发展的核心地位。本系统基于的架构,目前技术已经非常的成熟,是不存在技术上面难以实现的麻烦。
开发软件所需的时间、人力和物力成本,开发完成后的收益如何,从投资回报的角度软件所需功能在现有经济条件能不能实现等进行深入的考虑,都符合实际的要求。所以洗衣店管理系统具有经济可行性和实用性,可以节约管理成本
1.注册:首先检查用户名和邮箱是否存在,如果都不存在才能进行注册,并将用户输入的密码进行MD5加密,注册成功后提示注册成功,并将用户信息保存到数据库中。
2.商品展示功能模块主要包括产品搜索、查看商品详情功能。未注册用户(游客)和已注册用户均可以在首页进行产品搜索及查看商品详情。具体功能需求如下:
(1)商品搜索:前台用户可以在前台输入关键词进行搜索,搜索成功后返回该商品的动态排序列表,且能够进行分页展示。
(2)查看商品详情:用户可点击对应商品,从而查看该商品的商品详情。
3.购买订单管理功能模块主要包括加入购买订单、更新购买订单商品数量、删除购买订单商品:
- 加入购买订单:购买订单是存放用户想要下单的商品,包括商品、下单数量和总金额。
(2)更新商品数量:用户可在查看购买订单时更新所需商品的数量。
(3)全选/单选:用户可全选/单选所需商品,系统将对所选中的商品计算总价。
4.在线支付:
(1)提交订单:用户提交订单后会自动跳转到支付页面,支付页面显示订单金额和二维码。
(2)支付:用户可扫描二维码进行支付。
(3)返回订单状态:付款完成后将订单状态改为已付款状态,返回订单页面。
5.商品管理:
(1)商品列表:展示所有商品信息,形成的列表样式。
(2)商品搜索:通过商品名、商品类目来搜索商品。
(3)图片上传:给商品添加商品图片。
(4)增加商品;
(5)更新商品:更新商品的信息,如商品名、商品图片、价格、数量等。
(6)商品上下架;
6.商品类目管理:
(1)添加品类:管理员可对品类进行管理,点击添加品类选择父类并输入品类名称即可添加品类。
(2)修改品类:管理员可对品类的名称进行修改。
(3)查看子品类:管理员可查看所有平级品类的品类ID,品类名称等。
7.订单管理:
(1)按订单号查询订单:
(2)查看订单详情:
8.资讯管理:
(1)资讯列表:展示所有资讯信息,形成的列表样式。
(2)资讯搜索:通过资讯标题、资讯编号来搜索资讯。
(3)图片上传:给资讯添加资讯图片。
(4)增加资讯;
(5)更新资讯:更新资讯的信息,如资讯标题、资讯图片、内容等。
(6)资讯删除;
系统非功能需求有非常多,比如性能需求、可承载最大用户数、稳定性、易用性需求等。本系统分析时考虑到易用性需求,因为系统是给人使用的,所以必须充分从用户的角度出发,考虑用户体验,使系统易理解易上手易操作。
1.普通用户主要使用系统的在线购买业务,下图所示为普通用户的用例图。
图3-1 普通用户用例图
2.管理员主要负责系统管理、商品信息管理、商品类别管理、用户信息管理、订单管理,下图所示描述管理员的用例图。
图3-2 管理员用例图
系统业务流程图如下所示。
图3-3 系统业务流程图
首先系统使用用户分2种,使用购买功能的为普通用户,使用管理功能的为管理员用户,普通用户注册成功后得到账号和密码,在登录页输入账号密码后登录到系统,普通用户便可以浏览到系统展示的商品,然后进行商品购买,接着形成个人购买订单;管理员用户对系统的数据进行维护,包括商品信息的维护,对商品的数量、价格等进行更新和编辑,对客户的订单进行确认和维护等。
如下为系统的顶层数据流图,外部实体有用户和管理员,分别对系统输入数据,从而得到要输出的数据。
图3-4系统顶层数据流图
如下图所示为系统底层数据流图。
水果店销售管理系统底层数据流图主要描述系统底层模块的数据流、数据载体、数据处理、外部实体的具体交互。本系统就是管理员和普通用户在商品维护、订单维护、用户维护等模块上的数据交互。
水果店销售管理系统采用三层开发设计模式,分为:用户界面层,业务逻辑层和数据访问层。用户界面层用来和用户交互,业务逻辑层负责业务的处理和各层之间的数据的传递;数据访问层负责对数据库的访问和检索。
系统的架构图如下图所示。
图4-1 系统架构图
系统各层之间的调用过程如下:
(1)用户通过用户界面层访问系统,向系统提交请求,界面层对请求进行初步的处理和包装,并判断是否要与业务逻辑层进行交互。
(2)业务逻辑层接收来自界面层的请求,对请求进行数据处理。然后调用数据访问层来实现数据库访问,数据访问层访问数据库,将数据读出并返回给逻辑层。
(3)逻辑层将处理的结果,返回给界面层。界面层加以处理呈现给用户。
为了将系统从“做什么”落实到“怎么做”,基于系统设计原则,对系统功能进行更适合编码实现的功能划分。根据上图的系统架构设计,整理出规范的系统功能结构图,为系统的实现编码做好准备。
如下图所示为系统功能结构图。
图4-2系统功能结构图
(1)用户信息的管理:系统管理员可以对已经注册过系统的用户数据信息进行CRUD操作。
(2)商品数据信息资源管理:管理员可以对系统的商品信息进行增删改查的基本操作。
(3)显示商品分类信息:所有商品的类别都会显示在首页中,用户可根据这些类别快速的找到自己喜欢的商品。
(4)下单和购买订单功能:用户对自己喜欢的商品资源,在登录的前提下可以自己购买或者先添加到购买订单之后一块购买。
(5)搜索商品:商品很多时,用户不容易查找,因此提供了商品搜索功能,可以通过商品标号对商品进行查找。
用户管理针对所有用户和管理员。未注册用户点击注册,进入注册页面填写新用户信息,得到自定义生成账号后,注册完成。未注册用户注册的活动图如下图所示。
图4-3未注册用户注册活动图
用户可进行登录使用更多功能,首先进入用户登录界面,输入用户账号和密码,后台对账号和密码信息进行核对验证,验证成功则页面直接显示登录用户昵称代表登录成功,否则返回用户登录界面。用户登录活动图如下图。
图4-4用户登录活动图
用户登录后,进入功能页面,可对自己的信息进行管理,包括个人信息,个人信息,购买订单管理、个人订单管理、在线支付。用户使用功能活动图如下图所示。
图4-5用户使用功能活动图
用户功能界面可对自己的密码进行修改。进入修改密码界面后核对当前密码,核对成功后填写新密码。如下图所示。
图4-6修改密码活动图
水果店销售管理系统采用的数据库是MySQL,该部分将根据系统需求和设计,设计合理的数据库。本系统考虑到之后系统的扩展集群,数据库将不使用外键。此外,不用外键时数据管理也较为简单,操作更加方便,性能更高。
E-R图,更加直观的告诉开发人员系统的各个数据的属性,各个数据之间的联系,各个数据的类型。能通过该模型更直观地了解数据库的设计,并根据对其逐渐改善。
本系统图设计,如下图所示。
图4-7系统E-R图
本系统根据第三范式的思想设计数据库,减少最大程度的冗余,总共建立有多个表,用户表、管理员表、商品表、订单表。
表access_token (登陆访问时长)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | evaluate_id | int | 10 | 0 | N | Y | 评价信息ID | |
2 | order_no | varchar | 64 | 0 | Y | N | 订单编号 | |
3 | trade_name | varchar | 64 | 0 | Y | N | 商品名称 | |
4 | commodity_price | varchar | 64 | 0 | Y | N | 商品价格 | |
5 | purchase_user | int | 10 | 0 | Y | N | 0 | 购买用户 |
6 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
7 | purchase_quantity | int | 10 | 0 | Y | N | 0 | 购买数量 |
8 | total_order_price | varchar | 64 | 0 | Y | N | 订单总价 | |
9 | evaluation_date | date | 10 | 0 | Y | N | 评价日期 | |
10 | evaluation_level | varchar | 64 | 0 | Y | N | 评价等级 | |
11 | evaluation_content | text | 65535 | 0 | Y | N | 评价内容 | |
12 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | fruit_mall_id | int | 10 | 0 | N | Y | 水果商城ID | |
2 | fruit_producing_area | varchar | 64 | 0 | Y | N | 水果产地 | |
3 | weight | varchar | 64 | 0 | Y | N | 重量单位 | |
4 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
5 | cart_title | varchar | 125 | 0 | Y | N | 标题:[0,125]用于产品html的标签中 | |
6 | cart_img | text | 65535 | 0 | Y | N | 封面图:用于显示于产品列表页 | |
7 | cart_description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于产品规格描述 | |
8 | cart_price_ago | double | 8 | 2 | N | N | 0.00 | 原价:[1] |
9 | cart_price | double | 8 | 2 | N | N | 0.00 | 卖价:[1] |
10 | cart_inventory | int | 10 | 0 | N | N | 0 | 商品库存 |
11 | cart_type | varchar | 64 | 0 | N | N | 未分类 | 商品分类: |
12 | cart_content | longtext | 2147483647 | 0 | Y | N | 正文:产品的主体内容 | |
13 | cart_img_1 | text | 65535 | 0 | Y | N | 主图1: | |
14 | cart_img_2 | text | 65535 | 0 | Y | N | 主图2: | |
15 | cart_img_3 | text | 65535 | 0 | Y | N | 主图3: | |
16 | cart_img_4 | text | 65535 | 0 | Y | N | 主图4: | |
17 | cart_img_5 | text | 65535 | 0 | Y | N | 主图5: | |
18 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
19 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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_information_id | int | 10 | 0 | N | Y | 物流信息ID | |
2 | order_no | varchar | 64 | 0 | Y | N | 订单编号 | |
3 | trade_name | varchar | 64 | 0 | Y | N | 商品名称 | |
4 | commodity_type | varchar | 64 | 0 | Y | N | 商品类型 | |
5 | commodity_price | varchar | 64 | 0 | Y | N | 商品价格 | |
6 | purchase_user | int | 10 | 0 | Y | N | 0 | 购买用户 |
7 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
8 | contact_number | varchar | 64 | 0 | Y | N | 联系电话 | |
9 | ship_to_address | varchar | 64 | 0 | Y | N | 收货地址 | |
10 | purchase_quantity | varchar | 64 | 0 | Y | N | 购买数量 | |
11 | total_order_price | varchar | 64 | 0 | Y | N | 订单总价 | |
12 | purchase_date | date | 10 | 0 | Y | N | 购买日期 | |
13 | order_status | varchar | 64 | 0 | Y | N | 订单状态 | |
14 | signing_status | varchar | 64 | 0 | Y | N | 签收状态 | |
15 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
16 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
17 | 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 | 待付款 | 订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | ordinary_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 | user_age | varchar | 64 | 0 | Y | N | 用户年龄 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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_management_id | int | 10 | 0 | N | Y | 产品管理ID | |
2 | product_name | varchar | 64 | 0 | N | N | 产品名称 | |
3 | product_type | varchar | 64 | 0 | Y | N | 产品类型 | |
4 | weight | varchar | 64 | 0 | Y | N | 重量单位 | |
5 | product_inventory | int | 10 | 0 | Y | N | 0 | 产品库存 |
6 | product_picture | varchar | 255 | 0 | Y | N | 产品图片 | |
7 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | purchase_record_id | int | 10 | 0 | N | Y | 进货记录ID | |
2 | product_name | varchar | 64 | 0 | Y | N | 产品名称 | |
3 | product_type | varchar | 64 | 0 | Y | N | 产品类型 | |
4 | supplier | varchar | 64 | 0 | Y | N | 供应商 | |
5 | purchase_quantity | int | 10 | 0 | Y | N | 0 | 进货数量 |
6 | purchase_date | date | 10 | 0 | Y | N | 进货日期 | |
7 | incoming_remarks | text | 65535 | 0 | Y | N | 进货备注 | |
8 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表return_and_exchange_application (退换申请)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | return_and_exchange_application_id | int | 10 | 0 | N | Y | 退换申请ID | |
2 | order_no | varchar | 64 | 0 | Y | N | 订单编号 | |
3 | trade_name | varchar | 64 | 0 | Y | N | 商品名称 | |
4 | commodity_type | varchar | 64 | 0 | Y | N | 商品类型 | |
5 | commodity_price | varchar | 64 | 0 | Y | N | 商品价格 | |
6 | purchase_user | int | 10 | 0 | Y | N | 0 | 购买用户 |
7 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
8 | contact_number | varchar | 64 | 0 | Y | N | 联系电话 | |
9 | ship_to_address | varchar | 64 | 0 | Y | N | 收货地址 | |
10 | purchase_quantity | varchar | 64 | 0 | Y | N | 购买数量 | |
11 | total_order_price | varchar | 64 | 0 | Y | N | 订单总价 | |
12 | application_type | varchar | 64 | 0 | Y | N | 申请类型 | |
13 | reason_for_application | text | 65535 | 0 | Y | N | 申请原因 | |
14 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
15 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
16 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
17 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
18 | 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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | supplier_id | int | 10 | 0 | N | Y | 供应商ID | |
2 | supplier | varchar | 64 | 0 | Y | N | 供应商 | |
3 | supply_address | varchar | 64 | 0 | Y | N | 供应地址 | |
4 | contacts | varchar | 64 | 0 | Y | N | 联系人 | |
5 | contact_number | varchar | 64 | 0 | Y | N | 联系电话 | |
6 | supply_products | varchar | 64 | 0 | Y | N | 供应产品 | |
7 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
系统中应用的开发工具总结如下表所示。
表5-1开发工具
名称 | 工具 | 版本 |
操作系统 IDE(Integrated Development Environment) | windows ZendStudio | 7/8/10 2017 |
服务器 | Apache | 9.10.7 |
数据库 浏览器 界面工具 | MySQL 谷歌 Photoshop | 5.6 6.0 2016 |
未注册用户在用户注册界面uerRegister.java,输入新用户信息,点击注册后,新用户信息由界面传入控制层,调用addUser方法,通过实现注册的接口向数据库用户表插入用户信息,由于用户账号是自动生成的,若成功则反馈注册成功,并提示新用户的用户账号;若失败则回到登录界面,并显示登录失败。
注册界面如下所示。
图5-1注册界面
用户在首页点击登录,进入用户登录界面uerLogin.java,输入用户账号和密码,点击登录,用户账号和密码信息由界面传入控制层,调用userLogin方法,通过实现登录的接口向数据库用户表搜索该用户账号与密码,将最终结果反馈到前端。若成功则回到首页;用户成功登录,若失败则回到登录界面,并显示登录失败。
用户点击注销,清空浏览器session值,然后返回登录页或者首页。
登录界面如下所示。
图5-1登录界面
登录用户在首页点击进入用户中心userCenter.java,再点击修改个人信息按钮进入userChangeInfo.java界面,系统根据session中存储的目前登录的用户的账号,向控制层发送请求,搜索当前用户信息,控制层向用户接口调用查询用户方法,向数据库的用户表搜索当前用户信息并将用户信息以对象的形式层层返回到userChangeInfo.java界面,显示出当前用户的个人信息。
若用户要对个人信息进行修改,则通过修改当前信息之后点击确认,向控制层发送更改后的用户信息,调用修改用户信息的方法,通过实现用户接口向数据库用户表更新用户信息,若成功则反馈注册成功,则返回的userChangeInfo.java界面被更改成功;若失败则显示修改失败。
用户可以在首页进行商品搜索,在搜索框输入关键词后,前台发起请求,将传递的keyword参数信息从前台传递商品控制类里,匹配到list()方法,list()方法调用商品服务接口的查询商品方法,如果没有该关键词,则返回空的结果集。
商品搜索界面如下。
图5-1商品搜索界面
用户在登录状态下浏览商品时可将该商品加入购买订单,从session中取出该用户的信息,点击加入购买订单后前台发起请求,将对应的商品数量count、productId参数信息从前台传递购买订单控制类里,匹配到add()方法,add()方法调用购买订单服务接口类的add()方法。
商品购买界面如下所示。
图5-1商品购买界面
用户提交订单后后台会自动生成订单。从session中取出该用户信息,前台发起请求,将对应的用户信息、shangppinpId参数信息从前台传递订单控制类里,匹配到create()方法,create()方法调用订单服务接口类的创建订单方法,从购买订单中获取数据。调用本类的得到返回所有订单方法得到商品订单列表。
点击订单支付则执行zf.java代码,完成虚拟支付。
支付界面如下所示。
图5-1支付界面
管理员选择个人中心的修改本人密码。通过密码框输入现密码和2次新密码,如果现密码错误,则提示修改失败。如果2次新密码不一致,则提示修改失败。都没问题的话,系统提示修改成功,并返回登录界面。
密码修改界面如下所示。
图5-1密码修改界面
-
-
- 商品管理模块
-
管理员在后台管理界面点击到所有商品界面shangpin_list.java,向控制层发送请求,搜索当前所有商品信息,商品控制类向商品实现接口调用搜索全部商品的请求,向数据库的商品表搜索当前所有商品并将商品信息以对象的形式层层返回到shangpin_list.java界面,显示出当前所有商品信息。若要对商品信息进行修改和删除,则分别进入shangpin_updt.java或shangpin_delete.java,通过商品的控制层向商品实现接口调用对应的修改或删除方法,向数据库的商品表做相应的持久层操作。
商品管理界面如下所示。
图5-1商品管理界面
管理员在后台管理界面点击到所有订单界面dingdan_list.java,向控制层dingdanAction发送请求,搜索当前所有订单信息,订单控制类向订单实现接口调用搜索全部订单的请求,向数据库的订单表搜索当前所有订单并将订单信息以对象的形式层层返回到dingdan_list.java界面,显示出当前所有订单信息。同时可以删除过期订单,确认已有订单,进行发货处理。
订单管理界面如下所示。
图5-1订单管理界面
软件测试是软件开发完成后必须经过的一道程序,它在软件开发过程中地位十分重要,需要由专业的测试工程师来对软件进行各方面的测试,大到功能模块测试,小到代码的单元测试,这对测试工程师来说需要有足够的耐心和专业的测试方案,软件测试归根结底就是对软件的结构和功能的综合测评,需要做到结构稳定和功能正确,二者兼顾。软件测试也叫寻找系统bug的过程,世界上没有完美无缺、不存在bug的软件,只能将软件的bug降到最低最小,来追求极致。
登录测试是系统最开始就要进行,测试用户能否登录,才能完成后续的功能操作。
登录测试用例表如下所示。
表6-1登录测试
用例编号 | YL001 | 程序版本 | 1.00 |
功能名称 | 使用者登录测试 | 编制人 | 李铁蛋 |
功能描述 | 根据用户的登录情况测试 | ||
用例目的 | 测试用户登录情况是否正确 | ||
测试项 | 测试数据 | 测试结果 | 预期结果 |
用户名 | 为空 | 请输入用户名 | 请输入用户名 |
密码 | 为空 | 请输入密码 | 请输入密码 |
用户密码组合 | 用户名:klouse 密码 klouses | 用户与密码不匹配 | 用户与密码不匹配 |
用户密码组合 | 用户名 : klouse 密码 klouse | 进入系统 | 正确的用户名和密码 登录系统 |
管理员在发布信息页面,通过按照预先格式发布信息,如果因为输入时候缺少相关内容,就不能发布成功,且有相应错误提示
信息录入发布测试用例表如下所示。
表6-1信息录入发布测试
用例编号 | YL002 | 程序版本 | 1.00 |
功能名称 | 信息发布测试 | 编制人 | 李铁蛋 |
功能描述 | 对使用者发布或者录入信息进行测试,判断其功能是否达到预期的要求 | ||
用例目的 | 对系统使用者录入发布信息进行原型测试。 | ||
测试项 | 测试数据 | 测试结果 | 预期结果 |
属性1 | 为空 | 请输入属性1对应的数据 | 请输入属性1对应的数据 |
属性2 | 为空 | 请输入属性2对应的数据 | 请输入属性2对应的数据 |
属性3 | 为空 | 请输入属性3对应的数据 | 请输入属性3对应的数据 |
全部输入 | 数据均填入 | 录入发布成功 | 录入发布成功 |
管理员在更新信息页面,通过按照预先格式更新信息,如果因为输入时候缺少相关内容或者更新的数据不符合当前规范的话,就不能更新成功,且有相应错误提示
信息更新测试用例表如下所示。
表6-1信息更新测试
用例编号 | YL003 | 程序版本 | 1.00 |
功能名称 | 信息更新测试 | 编制人 | 李铁蛋 |
功能描述 | 对使用者更新信息进行测试,判断其功能是否达到预期的要求 | ||
用例目的 | 对系统使用者更新信息进行原型测试。 | ||
测试项 | 测试数据 | 测试结果 | 预期结果 |
属性1 | 编号:321 | 编号更新成功 | 编号更新成功 |
属性2 | 名称:名称1 | 名称更新成功 | 名称更新成功 |
属性3 | 内容:内容1234内容 | 内容更新成功 | 内容更新成功 |
全部输入 | 数据均未更改 | 更新成功 | 更新成功 |
管理员在信息页面,通过点击数据删除按钮来删除该条数据,如果该数据和其他数据有关联,则提示是否确定删除。
信息删除测试用例表如下所示。
表6-1信息删除测试
用例编号 | YL004 | 程序版本 | 1.00 |
功能名称 | 信息删除测试 | 编制人 | 李铁蛋 |
功能描述 | 对使用者删除信息进行测试,判断其功能是否达到预期的要求 | ||
用例目的 | 对系统使用者删除信息进行原型测试。 | ||
测试项 | 测试数据 | 测试结果 | 预期结果 |
数据1 | 无任何关联的数据1 | 数据删除成功 | 数据删除成功 |
数据2 | 和其他数据有关联的数据2 | 请确认是否删除 | 请确认是否删除 |
在经过之前的所有的工作之后,通过对软件的测试方法、测试原则还有典型的测试用例进行全面的、深入的介绍。经过对系统的全面测试,系统目前所具有的所有功能均成功的实现并且通过了测试,整个系统实现了基于 java 开发的期望。
水果店销售管理系统采用MVC结构,该结构非常完美的集优点于一身,成熟、强大、易理解易使用,通过使用这个结构,降低了开发的难度。本系统实现了基于java的水果店销售管理系统,将销售流程转化成电脑操作流程,具体实现了对销售订单和客户的管理、系统人员管理、商品和商品类型管理,并提供查询统计功能来对订单和商品的相关数据进行统计分析,让使用者能更清晰的掌握运营情况,帮助使用者进行销售管理,简化工作流程,提高工作效率和盈利。
目前完成的水果店销售管理系统,还有许多有待改进的地方。一个是功能上的改进,用户理应可以修改自己的相关信息,故应增设个人中心功能;另外,系统如果能提供更多查询统计功能就会使得系统更加丰富和多样化,比如客户购买力排行功能、购买积分功能等。第二个是技术上的改进,由于对开发框架不太熟悉,权限管理这部分,本系统采用一个java页面来规定好导航栏,即跳转的页面,这相对比较不灵活,如果将URL路径记录到数据库并实现增删查改会比较好;另外就是对EasyUI的使用还不够熟练,视觉效果和界面观感有待提升,希望日后能对这个系统有所改进。
参考文献
[1]王向军,边玉超,李荣.基于java+MySQL数据库技术的教师工作量统计系统[J].信息系统工程,2016,(02):36-37.
[2]马骞.基于java的电子购物商城初步设计[J].电子技术与软件工程,2016,(03):68.
[3]徐安令.java中PDO数据库抽象层的应用研究[J].信息与电脑(理论版),2016,(03):138-140.
[4]武新芳.基于java+Mysql的图书馆公告系统前台开发[J].科技视界,2016,(03):204-205.
[5]齐红心.java开发过程中页面参数传递方法分析[J].软件导刊,2016,(01):6-9.
[6]吴京蓉.基于java的医院管理信息系统的设计与实现[J].科技视界,2016,(02):164+175.
[7]任海鹏,邓春红,汪学文,何晶.高校创新型java软件人才培养模式改革[J].湖南城市学院学报(自然科学版),2016,(01):294-295.
[8]范星光.基于java的学术会议一站式服务平台设计[D].西安电子科技大学,2016.
[9]田稼丰,姜春宇.基于金融场景的数据库性能评估工具[J].信息通信技术与政策,2020(04):85-90.
[10]段震.浅谈MySQL数据库有关数据备份的几种方法[J].山西电子技术,2020(02):17-18.
[11]孙光南.浅谈王庄煤矿信息化水文地质动态数据库的建立[J].煤,2020,29(04):83-84.
[12]陈良英.基于属性加密的计算机数据库安全检测工具的设计与运用[J].信息技术与网络安全,2020,39(04):30-35.
[13]孙志勇.压缩数据库中大规模电子信息缓存优化方法[J].电子设计工程,2020,28(07):95-98+103.
[14]殷华英.计算机网络数据库的安全管理技术研究[J].南方农机,2020,51(06):213.
[15]郭小亮,王亮.太原市“数字城管”数据库更新关键技术探讨[J].北京测绘,2020,34(03):301-304.
[16]MahendraT.A.Sampurna,KinantiA.Ratnasari,DartoSaharso,ArendF.Bos,PieterJ.J.Sauer,PeterH.Dijk,ChristianV.Hulzebos.CurrentphototherapypracticeonJava,Indonesia[J].BioMedCentral,2019,19(1).
[17]NendenHikmahLaila,RentiMahkota,SiddharudhaShivalli,KrisnawatiBantas,TriKrianto.Factorsassociatedwithpasung(physicalrestraintandconfinement)ofschizophreniapatientsinBogorregency,WestJavaProvince,Indonesia2017[J].BioMedCentral,2019,19(1).
[18]Kusuma,Dasa,Sadat.TheDiscoveryoftheLateOligocene–EarlyMioceneofKujungCycleinJS-RidgeNEJavaBasin,Indonesia.[J].ASEGExtendedAbstracts,2019,2019(1)
[19]Kusuma,Dasa,Sadat.FaciesClassificationUsingStochasticInversionMethodforCarbonateOligo-MioceneinPangkah,NorthEastJavaBasin[J].ASEGExtendedAbstracts,2019,2019(1).
[20]HenryKusumasKaryadinata,MuhammadPudjihardjo,AsfiManzilati,WildanSyafitri.TheImpactoftheSuramaduBridgeonRuralPovertyinKabupatenBangkalan,EastJava,Indonesia[J].EconomicandRegionalStudies/StudiaEkonomiczneiRegionalne,2019,12(4).
致谢
在老师的教导和帮助下,本人完成了本篇论文,老师对论文的内容、格式都有非常严格的要求,在我写毕业论文的过程中,他多次给出了建议,并定期检查,对我们严格要求,帮助我们在文档的编写上写到极致和正确,他这种教学和工作态度,让我对他产生无限的敬佩感和尊敬感。写毕业论文的同时,作为应届生,我也忙着找工作中,遇到了很多选择,感到困惑迷茫的时候,老师给了我很多意见,感谢老师的耐心开导,跟她的聊天我明白了许多。
我还要感谢我的父母,一直以来都非常支持和相信我,在精神和经济上给了我很多力量,如今我将毕业走上工作之路,终于能报答父母的养育教导之恩。还有我大学期间所有老师和全体同学,遇到问题时,这些老师同学总是无私地帮助我,真的非常感谢,我也会加油努力成长为一个有用的人。
请关注点赞+私信博主,免费领取项目源码