毕业设计-springboot物流管理系统 (案例分析)-附源码

06-01 1031阅读

摘要

信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对物流管理系统等问题,对物流管理系统进行研究分析,然后开发设计出物流管理系统以解决问题。

物流管理系统主要功能模块包括轮播图(轮播图管理)网站公告管理(网站公告)系统用户(管理员、会员用户、司机用户)资源管理(物流资讯、资讯分类)模块管理(订单信息、司机接单、订单投诉、车辆信息)等,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取MySQL作为后台数据的主要存储单元,采用springboot框架、java技术、Ajax技术进行业务系统的编码及其开发,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对物流管理系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现物流管理系统和部署运行使用它。

关键词:Java技术;MYSQL;物流管理系统

Abstract

In the information society, there is a need for targeted information acquisition channels, but the expansion of channels is basically the direction of people's efforts. Due to the deviation in perspective, people often can obtain different types of information, which is also the most difficult topic for technology to overcome. Conduct research and analysis on logistics management systems and other issues, and then develop and design logistics management systems to solve the problems.

The main functional modules of the logistics management system include rotation chart (rotation chart management) website announcement management (website announcement) system users (administrators, member users, driver users) resource management (logistics information, information classification) module management (order information, driver orders, order complaints, vehicle information), etc., adopting an object-oriented development model for software development and hardware installation, It can well meet the actual usage needs, improve the corresponding software installation and program coding work, adopt MySQL as the main storage unit for backend data, and use the spring boot framework, Java technology, Ajax technology for business system coding and development, achieving all the functions of this system. This report first analyzes the background, role, and significance of the research, laying the foundation for the rationality of the research work. Analyze the various requirements and technical issues of the logistics management system, prove the necessity and technical feasibility of the system, and then provide a basic introduction to the technical software and design ideas required for designing the system. Finally, implement the logistics management system and deploy it for operation.

Keywords:Java technology; MYSQL; Logistics Management System

目  录

摘要

1 绪论

1.1物流管理系统开发背景

1.2研究背景与意义

1.3国内外研究现状

1.4springboot框架介绍

1.5MySQL数据库

1.6论文结构与章节安排

2 物流管理系统系统分析

2.1 可行性分析

2.2 系统流程分析

2.2.1 数据流程

2.2.2 业务流程

2.3 系统功能分析

2.3.1 功能性分析

2.3.2 非功能性分析

2.4 系统用例分析

2.5本章小结

3 物流管理系统总体设计

3.1 系统架构设计

3.2 系统功能模块设计

3.2.1整体功能模块设计

3.2.2用户模块设计

3.2.3 评论管理模块设计

3.2.4订单信息管理模块设计

3.2.5接单管理模块设计

3.3 数据库设计

3.3.1 数据库概念结构设计

3.3.2 数据库逻辑结构设计

3.4本章小结

4 物流管理系统详细设计与实现

4.1用户功能模块

4.1.1 前台首页界面

4.1.2 用户注册界面

4.1.3 用户登录界面

4.1.4我的账户界面

4.1.5网站公告界面

4.1.6物流资讯界面

4.1.7订单信息界面

4.1.8接单界面

4.1.9车辆信息界面

4.2管理员功能模块

4.2.1网站公告管理界面

4.2.2资源管理界面

4.2.3系统用户管理界面

4.2.4订单信息管理界面

4.2.5 司机接单管理界面

4.2.6 订单投诉管理界面

4.2.7 车辆信息管理界面

5系统测试

5.1系统测试的目的

5.2 系统测试用例

5.3 系统测试结果

总结与展望

参考文献

  

1 绪论

1.1物流管理系统开发背景

伴随着信息的到来,人们生活水平不断提高,对于物质需求也越来越高。在这种情况下,传统物流业已不能满足市场需求了。随着电子商务和现代物流业发展步伐的加快,物流管理行业将迎来新的机遇与挑战,这对企业提出了更高要求,而传统的物流管理模式已经无法适应时代发展潮流了。因此,企业必须改变传统物流管理模式,构建高效的物流系统来应对这一问题。物流管理系统正是为解决此问题而设计的一个管理信息系统。它以现代化信息技术手段实现了快速、准确。低成本的运输服务以及科学的库存控制等功能,在提高企业竞争力方面发挥着重要作用。

1.2研究背景与意义

 伴随着信息时代的到来,社会的各个行业,领域都发生了巨大的变化,物流业也在时代大背景的影响之下朝着信息化方向发展。

随着信息技术的发展,企业间的竞争已突破了地域的限制。企业竞争优势的建立和保持必须以可靠,高效的物流运作为保证,采取高效的物流运作模式来增强竞争实力。提高经济效益。随着信息技术特别是计算机的不断发展,国际互联网流信息已经是信息时代到来必然要发生的结果。物流的全球化热潮使人类社会进入了一个新的信息时代因此通过计算机来获取物管理系统,为企业提供各类管理决策信息,辅助企业进行现代化的管理,提高企业的经济效益以及社会效益。

1.3国内外研究现状

从物流行业信息系统的历史角度来看,计算机信息网络持续发展是推动传统物流在不断向现代物流转变的主要原因,现代的物流信息化,已经包含了运输自动化、仓储自动化、装卸自动化以及管理自动化为一体的高度信息化,并且伴随着移动技术的逐步发展,将物流技术与物联网逐步结合已经成为未来发展的必然趋势。在世界上很多国家,利用物流信息化改善物流发展现状已经成为一一个重要途径。

美国的很多物流企业利用基于互联网的电子数据交换技术(WebEDI)实现了在物流企业内部及外部的信息交互、订单处理、库存跟踪、结算业务的处理等的无纸化办公:并广泛应用仓库管理系统(WMS) 来提升物流仓库的管理效率;以及通过使用物流行业的CRM系统来实现对供应商与客户用户的管理,结合运用CPFR、SMI 等供应链管理的技术,实现了与供应上或客户用户之间的协同办公,从而降低了整条供应链上的物流总成本,提高企业的竞争力。

在日本,自物流概念从20世纪50年代引进后,在半个多世纪的发展过程中,政府高度重视,在物流基础管理、现代化设施方面投入巨资,获得了巨大成功,如今的物流信息化发展水平已经处于世界先进水平,尤其是在物流配送中心信息化及物流企业管理信息化等方面具有独到之处。日本的物流信息系统非常突出“物流系统”的特点,重在强调从社会角度构筑人文物流环境,并实现物流业的可持续发展。日本充分利用先进的电子信息技术促进物流现代化的进程,在日本几乎所有的专门物流企业都是通过计算机信息管理系统来处理和控制物流信息,他们在订货、库存管理及配送等方面,广泛使用物流联网系统、电子数据交换系统、卫星定位导航系统、输送过程信息系统、配货配车系统等,为物流业的快速发展奠定了良好的基础。在法国,尽管其物流信息化发展的总体水平还无法和美国、日本等发达国家相比,但新世纪后的法国物流信息化的发展却是相当迅速,物流信息化发展速度年均达到10%。法国物流信息化的主要目标不是以效益为中心的,而是以提高企业效率为核心的,企业进行物流信息化的内涵是对物流的组织与管理。正因为如此,法国物流信息技术和信息系统的标准化程度起点都比较高,形成了一些成熟的物流信息管理软件,具有很强的实用性。

与国外相比,我国国内的物流信息化和信息系统建设相对落后,仍处于起步阶段。但从物流成本占GDP的比例来看,国外发达国家的比例约在10%左右,而我国却接近20%,物流成本的差距反映了我国在物流信息化方面建设的落后。不过,我国的物流信息化建设还是取得了一定的成果。如我国很多物流企业都建设了物流公共信息平台,充分利用计算机网络技术,提供物流信息、设备等资源共享的服务,同时具有整合供应链各环节物流信息、监管、技术的能力。

此外,我国的还积极引入了国外先进的物流信息技术,主要包括通信技术、网络技术、条码技术、GPS 技术、EDI技术与QP技术,这些技术的大范围实施,对于物流仓储与配送管理,运输及监控管理具有非常重要的作用,借助这些技术,还实现了整个供应链中的实际货品的身份联系,可以及时将仓储物流信息反馈到生产加工,指导生产。

在我国政府层面,近年来对物流信息化的扶持力度不断提升。2009年国务院下发了《物流调整业调整和振兴规划》的通知,《通知》中提出了振兴物流业的五大主题,其中一个便是物流信息化的建设,政府的充分重视,为物流信息化的进一步发展提供了保障。

1.4springboot框架介绍

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。

1.5MySQL数据库

数据库作为数据的存储地方是项目必须的,MySQL是一款非常优秀的关系型数据库,早期的MySQL并不是甲骨文公司的,后来才被他收购的。MySQL非常的小巧,安装包才几兆,sql语言的书写也比较容易学习,最重要的是MySQL同时也是一款开源的软件,所以不需要额外进行付费,本系统本身也是以学习总结所学知识为主,在系统的开发上最好尽量使用免费的软件,所以选用MySQL进行数据库管理。MySQL的容量也是非常大的,同时支持分库分表的操作,支持分布式,所以越来越多的中小企业选择该款数据库管理工具。另外值得一提的是,开源也有一个不好的地方,就是容易遭到破解和黑客攻击,所以MySQL在使用上还是更多的使用在中小项目中。

MySQL不会对平台有需求,所以任何一个程序员都可以通过 MySQL数据库来完成自己的系统开发,并且还可以节约大量的资源。因为它具有强大功能,所以可以用来储存这个系统的数据。

MySQL适合于各种应用,我们在运行数据库的时候,也很容易上手,我们只要编写一段代码,就可以完成相应的功能,并且可以在任何的平台上使用,而不需要再进行第二次的编译。MySQL数据库还具备在本地存储数据和允许结构化查询以方便管理的优势;MySQL是一个完全网络化的系统,它的数据库可以在互联网的任何位置被访问,它可以在任何地点与任何人分享;此外,MySQL也提供了存取控制的能力,可以阻止数据被非法使用,MySQL服务稳定,开发成本低,所以在开发过程中,MySQL数据库是最受欢迎的。

1.6论文结构与章节安排

论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对网站需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:

第一章:引言。第一章主要介绍了课题研究的背景,系统开发的现状和本文的研究内容与主要工作。

第二章:系统需求分析。第二章主要从系统的用户、功能等方面进行需求分析。

第三章:系统设计。第三章主要对系统框架、系统功能模块、数据库进行功能设计。

第四章:系统实现。第四章主要介绍了系统框架搭建、系统界面的实现。

第五章:系统测试。第五章主要对系统的部分界面进行测试并对主要功能进行测试

第六章:总结。

2 物流管理系统系统分析

系统分析是开发一个项目的先决条件,通过系统分析可以很好的了解系统的主体用户的基本需求情况,同时这也是项目的开发的原因。进而对系统开发进行可行性分析,通常包括技术可行性、经济可行性等,可行性分析同时也是从项目整体角度进行的分析。然后就是对项目的具体需求进行分析,分析的手段一般都是通过用户的用例图来实现。下面是详细的介绍。

2.1 可行性分析

(1)操作可行性:

此次项目设计的时候我参考了很多类似系统的成功案例,对它们的操作界面以及功能都进行了系统的分析,将众多案例结合在一起,突出以人为本简化操作,所以具有基本计算机知识的人都会操作本项目。因此操作可行性也没有问题。

(2)技术可行性:

物流管理系统存储所使用的是mysql数据库以及开发中所使用的是IDEA、Tomcat这些开发工具的使用,能够给我们的编写工作带来许多的便利。系统使用springboot框架进行开发,使系统的可扩展性和维护性更佳,减少java配置代码,简化编程代码,目前springboot框架也是很多企业选择的框架之一。

(3)经济可行性:

在开发物流管理系统中所使用的开发软件像IDEA开发工具、Tomcat8.0服务器、MySQL5.7数据库、Photoshop图片处理软件等,这些都是开源免费的,这些环境在学校都进行了系统的学习,自己能够独立操作完成,不需要额外花费,而且系统的开发工具从网上都可以直接下载,因此在经济方面是可行的。

2.2 系统流程分析

2.2.1 数据流程

物流管理系统主要的目的就是实现对订单信息的在线接单,图2-1就是系统的数据流图。

毕业设计-springboot物流管理系统 (案例分析)-附源码

图2-1订单信息在线接单操作展开图

3.3.2 业务流程

分析完系统的数据流,接下来我们来看系统的业务流程,图2-2就是业务流程图:

毕业设计-springboot物流管理系统 (案例分析)-附源码

图2-2业务流程图

2.3 系统功能分析

2.3.1 功能性分析

按照物流管理系统的角色,我划分为了会员用户、司机用户和管理员这三大部分。

司机用户管理模块:

(1)用户注册登录:用户注册为用户并登录物流管理系统;用户对个人信息的增删改查,比如个人资料,密码修改。

(2)网站公告:用户点击“网站公告”菜单显示管理员在后台发布的所有的网站公告,可以查看网站公告详情。

(3)物流资讯:用户点击“物流资讯”菜单显示所有的物流资讯信息,可以按照条件进行物流资讯的筛选或者输入关键词进行局部搜索,点击可以进入物流资讯详细展示界面,在此界面用户可以收藏、点赞和评论。

(4)订单信息:当用户点击“订单信息”这一菜单按钮,会显示管理员在后台发布的所有的订单信息,支持通过关键词对订单信息进行搜索,选择需要的订单信息点击可以进入到订单信息详细的介绍界面,在详细界面可以查看到订单的订单号、寄件人姓名、寄件人电话、重量、收件人地址、货品尺寸、用户、寄件人地址、物品名称、收件人姓名、收件人电话、是否易碎品等信息,同时可以进行接单、评论操作;

(5)接单:当用户在订单信息详情界面想要进行接单,点击下方的“接单”按钮,就会跳转到接单信息填写界面,根据界面提示输入接单信息,点击“提交”按钮,接单就完成了;

(6)我的账户:当用户点击右上角“我的”这个按钮,会出现子菜单,点击“我的账户”可以对个人的资料、登录系统的密码以及自己收藏的信息进行设置管理;

(7)车辆信息:用户在后台点击“车辆信息”可以查看自己提交的司机接单的车辆信息,可以查看车辆信息的详细信息;

管理员管理模块:

(1)登录:管理员在后台可以输入用户名+密码进行登录,管理员的用户名和密码是在数据库中直接设定好的。

(2)轮播图:管理员点击“轮播图”菜单可以对首页展示的轮播图进行增删改查。

(3)网站公告:管理员点击“网站公告”菜单可以查看到系统中的所有网站公告,对已经存在的网站公告,管理员可以修改,也可以添加新的网站公告或者删除网站公告。

(4)系统用户:管理员点击“系统用户”菜单可以对系统中存在的用户进行管理,包含了管理员用户、司机用户和会员用户。

(5)资源管理:管理员点击“资源管理”菜单能够对其下子菜单物流资讯和资讯的分类进行增删改查。

(6)订单信息:管理员点击“订单信息”会显示出所有的订单信息,支持输入订单号或者物品名称或者用户对订单信息进行查询,如果想要添加新的订单信息,点击“添加”按钮,输入 订单号、寄件人姓名、寄件人电话、重量、收件人地址、货品尺寸、用户、寄件人地址、物品名称、收件人姓名、收件人电话、是否易碎品、订单备注等信息,点击“提交”按钮就可以添加了,同时可以选择某一条订单信息,点击“删除”进行删除,也可以对用户提交的订单信息评论的信息进行管控;

(7)司机接单:管理员点击“司机接单”会显示出所有的司机接单信息,支持输入订单号或者用户或者物品名称对司机接单信息进行查询,如果想要添加新的司机接单信息,点击“添加”按钮,输入相关信息,点击“提交”按钮就可以添加了,同时可以选择某一条司机接单信息,点击“删除”进行删除,也可以点击后面的“订单投诉”按钮对司机接单的订单投诉信息进行更新维护;

(8)车辆信息:管理员点击“车辆信息”会显示出所有的车辆信息,支持通过车辆信息状态或者输入车辆型号或者司机对车辆信息进行查询,如果想要添加新的车辆信息,点击“添加”按钮,输入相关信息,点击“提交”按钮就可以添加了,同时可以选择某一条车辆信息,点击“删除”进行删除。

2.3.2 非功能性分析

物流管理系统的非功能性需求比如物流管理系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:

表3-1物流管理系统非功能需求表

安全性

主要指物流管理系统数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指物流管理系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响物流管理系统占据市场的必要条件,所以性能最好要佳才好。

可扩展性

比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。

易用性

用户只要跟着物流管理系统的页面展示内容进行操作,就可以了。

可维护性

物流管理系统开发的可维护性是非常重要的,经过测试,可维护性没有问题

2.4 系统用例分析

通过2.3功能的分析,得出了本物流管理系统的用例图:

司机用户角色用例如图2-3所示。

毕业设计-springboot物流管理系统 (案例分析)-附源码

图2-3 物流管理系统司机用户角色用例图

web后台管理上的管理员是维护整个物流管理系统中所有数据信息的。管理员角色用例如图2-4所示。

毕业设计-springboot物流管理系统 (案例分析)-附源码

图2-4 物流管理系统管理员角色用例图

2.5本章小结

本章主要通过对物流管理系统的可行性分析、流程分析、功能需求分析、系统用例分析,确定整个物流管理系统要实现的功能。同时也为物流管理系统的代码实现和测试提供了标准。

3 物流管理系统总体设计

本章主要讨论的内容包括物流管理系统的功能模块设计、数据库系统设计。

3.1 系统架构设计

本物流管理系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。

毕业设计-springboot物流管理系统 (案例分析)-附源码

图3-1物流管理系统系统架构设计图

表现层(UI):又称UI层,主要完成本物流管理系统的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本物流管理系统时的舒适度。UI的界面设计也要适应不同版本的物流管理系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。

业务逻辑层(BLL):主要完成本物流管理系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。

数据层(DL):由于本物流管理系统的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本物流管理系统的数据存储和管理功能。

3.2 系统功能模块设计

3.2.1整体功能模块设计

在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本物流管理系统中的用例。那么接下来就要开始对本物流管理系统的架构、主要功能和数据库开始进行设计。物流管理系统根据前面章节的需求分析得出,其总体设计模块图如图3-2所示。

毕业设计-springboot物流管理系统 (案例分析)-附源码

图3-2 物流管理系统功能模块图

3.2.2用户模块设计

后台管理者能够实现对前台注册的用户增删改查操作,用户模块结构图如下图:

毕业设计-springboot物流管理系统 (案例分析)-附源码

图3-3用户模块结构图

3.2.3 评论管理模块设计

物流管理系统是一个交流性质的公开平台,用户用户可以在平台上交流,增加用户之间的互动性。但是同时也为了更好的规范评论的内容,给予管理员删除不合适的言论的功能,所以需要专门设计一个评论管理模块,具体的结构图如下:

毕业设计-springboot物流管理系统 (案例分析)-附源码

图3-4评论模块结构图

3.2.4订单信息管理模块设计

物流管理系统是中需要存储不少订单信息,其模块功能结构,具体的结构图如下:

毕业设计-springboot物流管理系统 (案例分析)-附源码

图3-5订单信息模块结构图

3.1.5接单管理模块设计

物流管理系统最重要的一个功能就是接单,其模块功能结构,具体的结构图如下:

毕业设计-springboot物流管理系统 (案例分析)-附源码

图3-6接单信息模块结构图

3.3 数据库设计

数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。

3.3.1 数据库概念结构设计

下面是整个物流管理系统中主要的数据库表总E-R实体关系图。

毕业设计-springboot物流管理系统 (案例分析)-附源码

图3-7 物流管理系统总E-R关系图

3.3.2 数据库逻辑结构设计

通过上一小节中物流管理系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。

(1)表comment实体用来存放系统中用户提交的评论信息以及回复评论信息;

表3.1comment (评论)表

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

(2)表driver_takes_orders实体用来存用户提交的司机接单信息,司机接单信息表包含了订单号、寄件人姓名、寄件人电话、重量、收件人地址、用户、寄件人地址、物品名称、收件人姓名、收件人电话、司机、司机姓名、联系电话等;

表3.2driver_takes_orders (司机接单)表

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

driver_takes_orders_id

int

10

0

N

Y

司机接单ID

2

order_number

varchar

64

0

Y

N

订单号

3

user

int

10

0

Y

N

0

用户

4

name_of_sender

varchar

64

0

Y

N

寄件人姓名

5

return_address

varchar

64

0

Y

N

寄件人地址

6

senders_phone_number

varchar

64

0

Y

N

寄件人电话

7

item_name

varchar

64

0

Y

N

物品名称

8

weight

varchar

64

0

Y

N

重量

9

recipient_name

varchar

64

0

Y

N

收件人姓名

10

recipient_address

varchar

64

0

Y

N

收件人地址

11

recipients_phone_number

varchar

64

0

Y

N

收件人电话

12

driver

int

10

0

Y

N

0

司机

13

drivers_name

varchar

64

0

Y

N

司机姓名

14

contact_number

varchar

64

0

Y

N

联系电话

15

state

varchar

64

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

更新时间

(3)表driver_user实体用来存注册司机用户提交的注册信息;

表3.3driver_user (司机用户)表

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

driver_user_id

int

10

0

N

Y

司机用户ID

2

drivers_name

varchar

64

0

Y

N

司机姓名

3

id

varchar

64

0

Y

N

身份证

4

type_of_drivers_license

varchar

64

0

Y

N

驾照类型

5

home_address

varchar

64

0

Y

N

家庭地址

6

license_plate_number

varchar

64

0

Y

N

车牌号

7

vehicle_photos

varchar

255

0

Y

N

车辆照片

8

examine_state

varchar

16

0

N

N

未审核

审核状态

9

recommend

int

10

0

N

N

0

智能推荐

10

user_id

int

10

0

N

N

0

用户ID

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

(4)表member_users实体用来存注册会员用户提交的注册信息;

表3.4member_users (会员用户)表

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

member_users_id

int

10

0

N

Y

会员用户ID

2

full_name

varchar

64

0

Y

N

姓名

3

gender

varchar

64

0

Y

N

性别

4

examine_state

varchar

16

0

N

N

已通过

审核状态

5

recommend

int

10

0

N

N

0

智能推荐

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

更新时间

(5)表notice实体用来存放系统中用户提交的评论信息以及回复评论信息;

表3.5公告信息notice表

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

(6)表order_complaints实体用来存管理员添加的订单投诉信息,订单投诉包含了订单号、用户、寄件人姓名、寄件人地址、寄件人电话、物品名称、司机、司机姓名、投诉内容、相关图片等;

表3.6order_complaints (订单投诉)表

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

order_complaints_id

int

10

0

N

Y

订单投诉ID

2

order_number

varchar

64

0

Y

N

订单号

3

user

int

10

0

Y

N

0

用户

4

name_of_sender

varchar

64

0

Y

N

寄件人姓名

5

return_address

varchar

64

0

Y

N

寄件人地址

6

senders_phone_number

varchar

64

0

Y

N

寄件人电话

7

item_name

varchar

64

0

Y

N

物品名称

8

driver

int

10

0

Y

N

0

司机

9

drivers_name

varchar

64

0

Y

N

司机姓名

10

complaint_content

text

65535

0

Y

N

投诉内容

11

related_images

varchar

255

0

Y

N

相关图片

12

examine_state

varchar

16

0

N

N

未审核

审核状态

13

examine_reply

varchar

16

0

Y

N

审核回复

14

recommend

int

10

0

N

N

0

智能推荐

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

(7)表order_information实体用来存放系统中管理员添加的订单信息,用户查看自己的订单信息,订单信息表包含了 订单号、寄件人姓名、寄件人电话、重量、收件人地址、货品尺寸、用户、寄件人地址、物品名称、收件人姓名、收件人电话、是否易碎品、订单备注等;

表3.7order_information (订单信息)表

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

order_information_id

int

10

0

N

Y

订单信息ID

2

order_number

varchar

64

0

Y

N

订单号

3

user

int

10

0

Y

N

0

用户

4

name_of_sender

varchar

64

0

Y

N

寄件人姓名

5

return_address

varchar

64

0

Y

N

寄件人地址

6

senders_phone_number

varchar

64

0

Y

N

寄件人电话

7

item_name

varchar

64

0

Y

N

物品名称

8

weight

varchar

64

0

Y

N

重量

9

recipient_name

varchar

64

0

Y

N

收件人姓名

10

recipient_address

varchar

64

0

Y

N

收件人地址

11

recipients_phone_number

varchar

64

0

Y

N

收件人电话

12

item_size

varchar

64

0

Y

N

货品尺寸

13

is_it_fragile

varchar

64

0

Y

N

是否易碎品

14

order_remarks

text

65535

0

Y

N

订单备注

15

hits

int

10

0

N

N

0

点击数

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

更新时间

(8)表slides实体用来存放系统中管理员添加的轮播图在首页展示,供用户查看;

表3.8轮播图信息slides表

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

(9)表vehicle_information实体用来存放系统中管理员添加的车辆信息,车辆信息表包含了车辆型号、状态、车牌号、可载人数、备注、司机、购买时间等;

表3.9vehicle_information (车辆信息)表

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

vehicle_information_id

int

10

0

N

Y

车辆信息ID

2

vehicle_model

varchar

64

0

Y

N

车辆型号

3

license_plate_number

varchar

64

0

Y

N

车牌号

4

state

varchar

64

0

Y

N

状态

5

number_of_passengers_available

varchar

64

0

Y

N

可载人数

6

carrying_capacity

varchar

64

0

Y

N

可载重量

7

remarks

text

65535

0

Y

N

备注

8

driver

int

10

0

Y

N

0

司机

9

purchase_time

date

10

0

Y

N

购买时间

10

recommend

int

10

0

N

N

0

智能推荐

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

3.4本章小结

整个物流管理系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。

4 物流管理系统详细设计与实现

物流管理系统的详细设计与实现主要是根据前面的物流管理系统的需求分析和物流管理系统的总体设计来设计页面并实现业务逻辑。主要从物流管理系统界面实现、业务逻辑实现这两部分进行介绍。

4.1用户功能模块

4.1.1 前台首页界面

当进入物流管理系统的时候,首先映入眼帘的是系统的导航栏,下面是轮播图以及系统内容,其主界面展示如下图4-1所示。

毕业设计-springboot物流管理系统 (案例分析)-附源码

图4-1 前台首页界面图

4.1.2 用户注册界面

不是物流管理系统中正式用户的是可以在线进行注册的,如果你没有本物流管理系统的账号的话,添加“注册”,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号等后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。其用用户注册界面展示如下图4-2所示。

毕业设计-springboot物流管理系统 (案例分析)-附源码

图4-2 前台用户注册界面图

注册关键代码如下所示。

/**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map signUp(@RequestBody User user) {

        // 查询用户

        Map query = new HashMap();

        query.put("username",user.getUsername());

        List list = service.select(query, new HashMap()).getResultList();

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        user.setUserId(null);

        user.setPassword(service.encryption(user.getPassword()));

        service.save(user);

        return success(1);

}

/**

     * 用户ID:[0,8388607]用户获取其他与用户相关的数据

     */

    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    @Column(name = "user_id")

    private Integer userId;

    /**

     * 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

     */

    @Basic

    @Column(name = "state")

    private Integer state;

    /**

     * 所在用户组:[0,32767]决定用户身份和权限

     */

    @Basic

    @Column(name = "user_group")

    private String userGroup;

    /**

     * 上次登录时间:

     */

    @Basic

    @Column(name = "login_time")

    private Timestamp loginTime;

    /**

     * 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "phone")

    private String phone;

    /**

     * 手机认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "phone_state")

    private Integer phoneState;

    /**

     * 用户名:[0,16]用户登录时所用的账户名称

     */

    @Basic

    @Column(name = "username")

    private String username;

    /**

     * 昵称:[0,16]

     */

    @Basic

    @Column(name = "nickname")

    private String nickname;

    /**

     * 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

     */

    @Basic

    @Column(name = "password")

    private String password;

    /**

     * 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "email")

    private String email;

    /**

     * 邮箱认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "email_state")

    private Integer emailState;

    /**

     * 头像地址:[0,255]

     */

    @Basic

    @Column(name = "avatar")

    private String avatar;

    /**

     * 创建时间:

     */

    @Basic

    @Column(name = "create_time")

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

    private Timestamp createTime;

    @Basic

    @Transient

    private String code;

}

4.1.3 用户登录界面

物流管理系统中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到物流管理系统的首页中;否则将会提示相应错误信息,用户登录界面如下图4-3所示。

毕业设计-springboot物流管理系统 (案例分析)-附源码

图4-3用户登录界面图

登录关键代码如下所示。

 /**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map login(@RequestBody Map 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;

        Map map = new HashMap();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.select(map, new HashMap()).getResultList();

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.select(map, new HashMap()).getResultList();

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.select(map, new HashMap()).getResultList();

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码