X020-基于Java的校园代取快递平台的设计与实现
博主介绍:
同学们好,本人从事计算机毕业设计多年服务很多届学生,精通Java、SSM、SpringBoot、Python、微信小程序、安卓APP等。我有上千套Java项目成品,也可根据同学们的需求去按需定制
以下毕设均可提供远程部署安装服务,文末有微信联系方式有需要的可以添加
👇🏻 精彩专栏 推荐订阅👇🏻
Java毕业设计项目精品实战案例《3000套》
https://blog.csdn.net/a1g45/category_12324117.html
🌟文末有微信名片获取源码+数据库(上千套毕设+配套论文,白嫖勿扰)🌟
🌟计算机毕设定制(包加功能以及后期修改功能)🌟
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
👇🏻 毕设演示视频👇🏻
X020-基于Java的校园代取快递平台
摘 要
随着电商和快递业务的快速发展,校园内的快递取件问题逐渐成为困扰学生的一个重要难题。许多学生因课业繁忙或临时外出,无法按时领取快递,造成快递堆积和浪费。为了解决这一问题,基于Java的校园代取快递平台应运而生。该平台通过引入“跑腿员”代为取件的模式,旨在为学生提供更加便捷、高效的快递取件服务,极大地提高了快递取件的灵活性和校园生活的便利性,具有较高的实际应用价值。该平台采用了SSM框架、Java语言、Uni-app框架、Vue框架以及MySQL数据库等技术进行开发。系统主要分为学生管理、跑腿员管理、校园动态管理、任务订单管理、学生动态、发布任务及任务订单等功能模块。学生可以通过平台发布代取快递任务,跑腿员接单后代为取件并将快递交付给学生。同时,平台提供任务订单管理功能,确保服务的透明度与效率。综上所述,基于Java的校园代取快递平台不仅能有效解决学生快递取件难的问题,还通过技术手段提升了校园快递服务的整体效率。通过该平台,学生能够更好地管理和接收快递,跑腿员也能在平台上进行更高效的任务调度。
关键词:校园代取快递平台;SSM框架;Java语言;MySQL数据库
ABSTRACT
With the rapid development of e-commerce and express delivery services, the problem of picking up parcels on campus has gradually become an important challenge for students. Many students are unable to collect their parcels on time due to busy academic schedules or temporary outings, resulting in a backlog and waste of parcels. To address this issue, a Java based campus express delivery platform has emerged. The platform aims to provide students with more convenient and efficient express pickup services by introducing a "errand runner" model, greatly improving the flexibility of express pickup and the convenience of campus life, and has high practical application value. The platform is developed using technologies such as SSM framework, Java language, Uni app framework, Vue framework, and MySQL database. The system is mainly divided into functional modules such as student management, errand runner management, campus dynamic management, task order management, student dynamics, task publishing, and task orders. Students can post pick-up and delivery tasks on the platform, and the errand runner will pick up the package and deliver it to the students after receiving the order. At the same time, the platform provides task order management functionality to ensure transparency and efficiency of services. In summary, the Java based campus express delivery platform not only effectively solves the problem of difficult student express pickup, but also improves the overall efficiency of campus express delivery services through technological means. Through this platform, students can better manage and receive parcels, and runners can also perform more efficient task scheduling on the platform.
Key word: Campus pick-up and delivery platform;SSM framework;Java language;MySQL database
第1章 绪论
1.1 研究的背景和意义
随着电子商务的快速发展,快递行业迎来了前所未有的繁荣。然而,在校园这一特殊环境中,由于学生的时间和空间限制,传统的快递取件方式常常无法满足学生的需求。许多学生因为课业繁忙、临时外出或其他原因,无法按时到达快递站点取件,造成快递堆积和浪费。与此同时,随着校园内快递数量的增加,快递员往往面临着送达与取件的双重压力,导致效率低下[1]。因此,开发一款基于Java技术的校园代取快递平台,能够利用信息化手段解决当前校园快递取件中的痛点,具有十分重要的现实意义[2]。
本研究旨在通过设计与实现基于Java的校园代取快递平台,提供一种创新的解决方案,以优化校园快递服务体系。首先,平台将通过智能化的任务分配和实时动态跟踪系统,使得学生能够更加灵活高效地完成快递取件,而跑腿员则能通过平台实现更加合理的任务调度,提升工作效率。其次,系统通过SSM框架、Uni-app框架、MySQL数据库等技术手段,确保了平台的高效性和稳定性,同时实现了学生与跑腿员之间的良好互动,确保信息的实时传递和任务的精准执行。此外,该平台的设计和实现不仅能够解决校园快递取件难的问题,还能为类似的商业和社会服务模式提供有益的借鉴。
1.2 国内外研究现状
1.2.1 国外发展现状
在国外,随着电商的普及和快递需求的增加,许多国家的高校和社区也开始探索基于共享经济和物流技术的快递代取服务。例如,美国的“TaskRabbit”和英国的“Deliveroo”等平台,尽管这些平台并非专门为校园服务设计,但它们为快递代取和跑腿服务提供了良好的实践案例。这些平台通常利用移动应用和网络平台,允许用户发布任务并通过专业的跑腿员完成。技术方面,这些平台大多依赖于智能手机、GPS定位、云计算和大数据分析等技术,确保任务的精确分配和实时追踪,提高服务效率和准确性。国外的一些研究和实践表明,基于云平台的智能调度和任务管理能够有效提升资源利用率,降低运营成本。然而,这些平台在校园内的适用性存在一定局限,主要表现为服务模式与高校的实际需求存在一定差距,且部分系统对数据隐私保护和安全问题的处理不够完善。此外,虽然国外的相关研究和系统应用具有较高的智能化水平,但由于文化背景和需求差异,校园快递代取服务在国外的普及程度仍有限,无法全面满足各类高校和学生群体的需求。
1.2.2 国内发展现状
在国内,随着快递行业的快速发展,校园快递代取服务逐渐成为研究和应用的热点领域。近年来,一些高校和相关企业已开始探索和实践校园代取快递服务。诸如“跑腿宝”、“快递小哥”等系统已经在部分高校中投入使用,这些系统通常包括任务发布、跑腿员接单、订单管理、支付结算等功能,旨在提高校园内快递取件效率。这些系统大多数基于移动互联网技术,运用APP或小程序进行任务发布和管理,提供实时动态更新和快捷的取件服务[3]。此外,部分系统在跑腿员的任务调度和管理上仍然存在不足,导致资源利用率不高。尽管如此,随着大数据、云计算、人工智能等新兴技术的应用,校园快递代取系统有望实现更智能化、信息化的服务,提升服务效率和用户满意度。
1.3 论文研究内容
本文研究的内容主要围绕基于Java技术的校园代取快递平台的设计与实现展开。平台的核心目标是解决学生因时间紧张或临时外出等原因无法按时领取快递的问题。通过开发一个集学生管理、跑腿员管理、任务发布与接单、订单管理等功能于一体的系统,学生可以方便地发布快递代取任务,跑腿员可以接受任务并完成取件与配送工作[4]。系统采用SSM框架进行后端开发,前端则结合了Uni-app和Vue框架,数据库使用MySQL进行数据存储。通过这一平台,能够实现校园内快递取件流程的有效管理,提高快递取件的效率与便捷性。同时,平台还考虑了服务的可扩展性,能够根据实际需求进行功能的进一步优化与拓展。
1.4 论文组织结构
本课题主要从校园代取快递平台的相关研究背景以及技术分析、系统分析、系统设计、系统实现、系统测试、总结和展望七个方面进行分别论述。
第1章绪论,详细介绍了校园代取快递平台的研究背景和意义、国内外研究现状、论文研究的内容以及论文的组织结构。
第2章关键技术,主要介绍了校园代取快递平台在本课题所用到的关键技术。
第3章系统分析,主要从可行性分析、功能性需求分析、性能性需求分析三个方面进行介绍。
第4章系统设计,主要从校园代取快递平台的功能模块设计和数据库设计来进行。
第5章系统实现,主要从学生系统功能模块实现、跑腿员系统功能模块实现、管理员系统功能模块实现三个方面来介绍,并通过截图对系统功能进行展示。
第6章系统测试,校园代取快递平台测试与结果分析。
第7章总结与展望,主要概括了校园代取快递平台的研究内容和最终成果,指出该系统的不足以及下一步的发展方向。
第2章 关键技术
2.1 Java语言
Java是一种广泛使用的编程语言,它是一种面向对象的语言,强调跨平台兼容性,其核心理念是“一次编写,到处运行”,这意味着用Java编写的程序可以在不同操作系统上运行,只要该系统安装了Java虚拟机。Java具有强大的库支持和丰富的开发工具,适用于从桌面应用程序到大型企业级系统的开发[5]。它的语法与C++类似,但去除了指针和多重继承等复杂特性,增强了安全性和简洁性。Java在Web开发、移动应用和企业级应用等领域都有广泛应用。由于其稳定性和可扩展性,Java依然是全球最受欢迎的编程语言之一。
2.2 SSM框架
SSM框架是Java企业级开发中常用的轻量级框架组合,包含了Spring、Spring MVC和MyBatis三个核心组件。Spring负责控制反转(IoC)和面向切面编程,提供了灵活的依赖注入和事务管理功能。Spring MVC用于实现Web层的MVC设计模式,简化了Web应用的开发和配置。MyBatis则是一个优秀的持久层框架,支持自定义SQL、存储过程和高级映射,将Java对象与数据库中的数据进行映射[6]。SSM框架的组合优势在于各组件之间的高度兼容性和可配置性,适用于中小型项目的快速开发。通过使用SSM框架,开发者能够构建高效、可维护的企业级应用,享受到良好的扩展性和模块化开发的便利。
2.3 Uni-app框架
Uni-app是一款基于Vue.js的多端开发框架,允许开发者使用一套代码同时生成多平台应用,包括iOS、Android、小程序、H5和Web等,它通过支持Vue语法和组件,提供了熟悉的开发体验,并且通过统一的API接口实现跨平台兼容。Uni-app利用了自研的编译工具和插件体系,使得项目可以在不同平台上保持一致的表现和功能,其内置的丰富组件库和插件市场,方便了开发者快速构建和扩展应用功能。Uni-app还支持云开发,结合DCloud的云服务,开发者可以轻松实现服务器端的功能。由于其强大的跨平台能力和便捷的开发体验,Uni-app在移动端和多平台开发中被广泛使用,适合从简单应用到复杂项目的构建。它还提供了高效的调试和发布工具,进一步加速了开发流程。
2.4 MySQL数据库
MySQL数据库以其高性能、稳定性和易于使用而受到广泛欢迎。MySQL支持结构化查询语言于数据管理和操作,并提供了多种存储引擎,以满足不同的应用需求,它适用于从小型网站到大型企业系统的各种应用,能够处理大量数据和高并发请求。MySQL具有良好的可扩展性,并支持数据备份、恢复和安全管理功能。其强大的社区支持和广泛的文档资源使得开发和维护变得更加便捷[7]。MySQL的跨平台特性允许在不同操作系统上运行,它常被用作Web开发的数据库解决方案,尤其是在LAMP堆栈中。
2.5 Vue框架
Vue.js是一个渐进式的JavaScript框架,用于构建用户界面和单页应用程序。其核心库专注于视图层,易于上手,并且与其他库或现有项目兼容。Vue的响应式数据绑定和组件化开发模型使得开发复杂的前端应用变得高效且易于维护。它提供了丰富的功能,如模板语法、计算属性和指令,使得开发者能够快速构建动态和交互性强的用户界面。Vue还具有官方支持的路由和状态管理工具,如Vue Router和Vuex,进一步增强了框架的功能。其灵活性和易用性,使得Vue成为现代前端开发的热门选择,并得到广泛的社区支持。总的来说,Vue.js以其简洁性和高效性在前端开发领域中脱颖而出[8]。
2.6 开发环境及其应用软件
主机:Intel的CPU、内存4G及以上
硬盘:100G以上
显示器:任意显示器
操作系统:Windows 10及以上版本
软件:IDEA开发工具,能够利用该软件进行代码的编写。MySQL用于数据库管理,Navicat用于数据库可视化操作管理工具。
第3章 系统分析
3.1 可行性分析
3.1.1 经济可行性
从经济可行性角度来看,系统的开发使用了SSM框架、Java语言、Uni-app框架、Vue框架以及MySQL数据库等技术,这些都是开源且免费的技术工具,能够有效降低开发和运营成本。开发环境方面,Navicat和IDEA都是免费版的开发工具,提供了足够的功能支持,且不需要额外的许可证费用,因此系统的经济投入相对较低,有利于项目的可持续发展。
3.1.2 操作可行性
从操作可行性角度分析,平台的目标用户群体为校园内的学生和跑腿员,基于移动互联网的服务模型非常契合学生群体的使用习惯。系统的操作界面将简单直观,用户只需通过手机即可完成任务发布、接单和管理,非常符合现代人对便捷服务的需求,因此具有较高的操作可行性[9]。同时,平台能够支持多平台操作,进一步提升了其在实际应用中的可操作性和灵活性。
3.1.3 技术可行性
从技术可行性方面来看,所选技术架构稳定且成熟,SSM框架在开发过程中具有较强的可扩展性,能够应对未来功能的增加与优化。Java语言的高性能和跨平台性,配合Vue和Uni-app框架的前端开发,能够确保系统在多个平台上的流畅运行。同时,MySQL数据库的高效数据处理能力能够支持系统在高并发情况下的稳定运行,整体技术实现是可行的,能够满足系统的功能需求与发展预期[10]。
3.2 功能性需求分析
管理员系统功能模块包括个人中心、学生管理、校园动态管理、发布任务管理、任务订单管理、消息中心管理、系统管理等。管理员用例图如图3-1所示。

图3-1 管理员用例图
学生系统功能模块包括校园动态、发布任务、任务订单、我的。学生用例图如图3-2所示。

图3-2 学生用例图
3.3 性能性需求分析
稳定性:系统的稳定性是确保服务持续可靠的重要因素。由于平台涉及学生和跑腿员的任务分配和管理,系统必须能够承受较大的用户并发量和任务处理压力。采用SSM框架和MySQL数据库有助于保障系统在高并发情况下的数据一致性和稳定性[11]。
界面需求:系统的用户界面设计应以简洁、直观为主,便于学生和跑腿员快速上手操作。界面设计应避免复杂的操作流程,任务发布、接单、查询订单等功能应能够清晰地呈现给用户,且每个操作应具有明确的指引。合理的UI设计能够提升用户的体验感,增加用户粘性,促进平台的活跃度。
数据加载:数据加载的速度直接影响系统的用户体验,特别是在处理订单信息和任务管理时,学生和跑腿员希望能够快速获得反馈。通过合理设计数据库索引和优化查询语句,MySQL数据库能够在大量数据存储和检索时保证高效性。优化的数据处理将有效缩短系统的数据加载时间,提升操作流畅度。
响应时间:响应时间是评估系统性能的关键指标之一,用户对于平台的响应时间要求较高,尤其是在任务发布和接单过程中[12]。为了保证响应时间在可接受范围内,前端通过优化请求发送和数据交互流程,减少不必要的网络请求,确保用户操作能够得到快速响应。
第4章 系统设计
4.1 系统功能模块设计
系统功能结构设计根据不同用户角色进行划分,确保各个角色能够高效地完成其任务。管理员拥有全面的管理权限,包括个人中心、学生、学生动态管理、任务发布和订单管理、消息中心管理以及系统配置管理(如联系客服和轮播图管理)。学生用户可以发布代取快递任务、查看和管理任务订单、查看动态信息、使用消息中心和收藏管理功能,并可联系客服获取帮助。系统通过清晰的功能分区,确保每个角色的需求得到满足,并且操作流程简洁高效。系统功能模块图如图4-1所示。

图4-1 系统功能模块图
4.2 数据库设计
4.2.1 概念模型设计
实体E-R图是系统数据库设计的重要组成部分,它展示了各个实体之间的关系以及每个实体的关键属性。在该系统中,联系客服实体包含了提问和回复等信息,用于记录用户与客服之间的互动内容;配置文件实体包括配置参数名称和值,用于系统的配置管理;发布任务实体记录了任务的标题、类型和时间等,确保任务的完整信息存储;跑腿员实体包括姓名、年龄、性别等个人信息,用于区分不同的跑腿员;任务订单实体包含学生姓名、订单状态和订单编号等信息,用于管理任务的订单流程;收藏表实体包括收藏名称和图片等信息,用于记录用户的收藏内容;token表实体存储用户名和密码,用于用户身份验证;管理员表实体包括管理员的密码和角色信息,用于权限管理;消息中心实体包括内容、照片和学生姓名等信息,用于系统消息的管理;学生实体记录了学生的姓名、联系方式和性别等基本信息;学生动态实体包含内容、简介和信息类别等,反映学生的活动和动态。通过这些实体的设计,系统能够高效地管理各类信息,确保数据的一致性和完整性。
联系客服实体包括:主键、创建时间、用户id、管理员id、提问、回复、是否回复,联系客服实体E-R图如图4-2所示。

图4-2 联系客服实体E-R图
配置文件实体包括:主键、配置参数名称、配置参数值,配置文件实体E-R图如图4-3所示。

图4-3 配置文件实体E-R图
发布任务实体包括:主键、备注、封面、学生账号、报价、派单名字、任务标题、联系电话、任务类型、任务时间、送件地址、任务描述、学生姓名、地址、联系方式、点击次数,发布任务实体E-R图如图4-4所示。

图4-4 发布任务实体E-R图
跑腿员实体包括:主键、姓名、创建时间、年龄、账号、性别、密码、手机,跑腿员实体E-R图如图4-5所示。

图4-5 跑腿员实体E-R图
任务订单实体包括:主键、订单状态、订单编号、完成时间、任务标题、封面、任务类型、学生账号、报价、学生姓名、送件地址、联系方式、派单名字、是否审核、联系电话、是否支付,任务订单实体E-R图如图4-6所示。

图4-6 任务订单实体E-R图
收藏表实体包括:主键、表名、创建时间、收藏名称、用户id、收藏图片、收藏id,收藏表实体E-R图如图4-7所示。

图4-7 收藏表实体E-R图
token表实体包括:主键、角色、用户id、密码、用户名、新增时间、表名、过期时间,token表实体E-R图如图4-8所示。

图4-8 token表实体E-R图
管理员表实体包括:主键、密码、角色、管理员名、新增时间,管理员表实体E-R图如图4-9所示。

图4-9 管理员表实体E-R图
消息中心实体包括:主键、用户id、创建时间、照片、内容、学生姓名、学生账号,消息中心实体E-R图如图4-10所示。

图4-10 消息中心实体E-R图
学生实体包括:地址、主键、年龄、学生账号、性别、密码、联系方式、学生姓名、创建时间、照片,学生实体E-R图如图4-11所示。

图4-11 学生实体E-R图
学生动态实体包括:学生姓名、主键、学生账号、标题、封面、信息类别、发布时间、简介、创建时间、内容,学生动态实体E-R图如图4-12所示。

图4-12 学生动态实体E-R图
系统总体E-R图如图4-13所示。

图4-13 系统总体E-R图
4.2.2 逻辑设计
基于Java的校园代取快递平台的设计与实现总共由11张表组成,分别为联系客服(chat)、配置文件(config)、发布任务(faburenwu)、跑腿员(paotuiyuan)、任务订单(renwudingdan)、收藏表(storeup)、token表(token)、管理员表(users)、消息中心(xiaoxizhongxin)、 学生(xuesheng)、学生动态(xueshengdongtai)
联系客服表主要存储联系客服信息,由id、addtime、userid、adminid、ask、reply、isreply等字段组成。联系客服表如表4-1所示。
表4-1 chat 联系客服表
|
序号 |
列名 |
数据类型 |
长度 |
允许空 |
默认值 |
列说明 |
|
1 |
id |
bigint |
主键 |
|||
|
2 |
addtime |
timestamp |
current_timestamp() |
创建时间 |
||
|
3 |
userid |
bigint |
用户id |
|||
|
4 |
adminid |
bigint |
√ |
NULL |
管理员id |
|
|
5 |
ask |
longtext |
√ |
NULL |
提问 |
|
|
6 |
reply |
longtext |
√ |
NULL |
回复 |
|
|
7 |
isreply |
int |
√ |
NULL |
是否回复 |
配置文件表主要存储配置文件信息,由id、name、value等字段组成。配置文件表如表4-2所示。
表4-2 config 配置文件表
|
序号 |
列名 |
数据类型 |
长度 |
允许空 |
默认值 |
列说明 |
|
1 |
id |
bigint |
主键 |
|||
|
2 |
name |
varchar |
(100) |
配置参数名称 |
||
|
3 |
value |
varchar |
(100) |
√ |
NULL |
配置参数值 |
发布任务表主要存储发布任务信息,由id、addtime、renwubiaoti、renwuleixing、songjiandizhi、paidanmingzi、lianxidianhua、renwushijian、renwumiaoshu、fengmian、baojia、beizhu、xueshengzhanghao、xueshengxingming、lianxifangshi、dizhi、clicktime、clicknum、userid等字段组成。发布任务表如表4-3所示。
表4-3 faburenwu 发布任务表
|
序号 |
列名 |
数据类型 |
长度 |
允许空 |
默认值 |
列说明 |
|
1 |
id |
bigint |
主键 |
|||
|
2 |
addtime |
timestamp |
current_timestamp() |
创建时间 |
||
|
3 |
renwubiaoti |
varchar |
(200) |
任务标题 |
||
|
4 |
renwuleixing |
varchar |
(200) |
任务类型 |
||
|
5 |
songjiandizhi |
varchar |
(200) |
√ |
NULL |
送件地址 |
|
6 |
paidanmingzi |
varchar |
(200) |
√ |
NULL |
派单名字 |
|
7 |
lianxidianhua |
varchar |
(200) |
√ |
NULL |
联系电话 |
续表4-3 faburenwu 发布任务表
|
序号 |
列名 |
数据类型 |
长度 |
允许空 |
默认值 |
列说明 |
|
8 |
renwushijian |
varchar |
(200) |
√ |
NULL |
任务时间 |
|
9 |
renwumiaoshu |
longtext |
√ |
NULL |
任务描述 |
|
|
10 |
fengmian |
varchar |
(200) |
√ |
NULL |
封面 |
|
11 |
baojia |
float |
√ |
NULL |
报价 |
|
|
12 |
beizhu |
varchar |
(200) |
√ |
NULL |
备注 |
|
13 |
xueshengzhanghao |
varchar |
(200) |
学生账号 |
||
|
14 |
xueshengxingming |
varchar |
(200) |
学生姓名 |
||
|
15 |
lianxifangshi |
varchar |
(200) |
联系方式 |
||
|
16 |
dizhi |
varchar |
(200) |
√ |
NULL |
地址 |
|
17 |
clicktime |
datetime |
√ |
NULL |
最近点击时间 |
|
|
18 |
clicknum |
int |
√ |
0 |
点击次数 |
|
|
19 |
userid |
bigint |
√ |
NULL |
用户id |
跑腿员表主要存储跑腿员信息,由等字段组成。跑腿员表如表4-4所示。
表4-4 paotuiyuan 跑腿员表
|
序号 |
列名 |
数据类型 |
长度 |
允许空 |
默认值 |
列说明 |
|
1 |
id |
bigint |
主键 |
|||
|
2 |
addtime |
timestamp |
current_timestamp() |
创建时间 |
||
|
3 |
zhanghao |
varchar |
(200) |
账号 |
||
|
4 |
mima |
varchar |
(200) |
密码 |
||
|
5 |
xingming |
varchar |
(200) |
姓名 |
||
|
6 |
nianling |
int |
年龄 |
|||
|
7 |
xingbie |
varchar |
(200) |
√ |
NULL |
性别 |
|
8 |
shouji |
varchar |
(200) |
手机 |
||
|
9 |
zhaopian |
varchar |
(200) |
√ |
NULL |
照片 |
任务订单表主要存储任务订单信息,由id、addtime、dingdanbianhao、renwubiaoti、renwuleixing、baojia、songjiandizhi、paidanmingzi、lianxidianhua、dingdanzhuangtai、wanchengshijian、fengmian、xueshengzhanghad、xueshengxingming、lianxifangshi、dizhi、zhanghao、xingming、shouji、sfsh、shhf、ispay、userid等字段组成。任务订单表如表4-5所示。
表4-5 renwudingdan 任务订单表
|
序号 |
列名 |
数据类型 |
长度 |
允许空 |
默认值 |
列说明 |
|
1 |
id |
bigint |
主键 |
|||
|
2 |
addtime |
timestamp |
current_timestamp() |
创建时间 |
||
|
3 |
dingdanbianhao |
varchar |
(200) |
√ |
NULL |
订单编号 |
|
4 |
renwubiaoti |
varchar |
(200) |
√ |
NULL |
任务标题 |
|
5 |
renwuleixing |
varchar |
(200) |
√ |
NULL |
任务类型 |
|
6 |
baojia |
varchar |
(200) |
√ |
NULL |
报价 |
|
7 |
songjiandizhi |
varchar |
(200) |
√ |
NULL |
送件地址 |
|
8 |
paidanmingzi |
varchar |
(200) |
√ |
NULL |
派单名字 |
|
9 |
lianxidianhua |
varchar |
(200) |
√ |
NULL |
联系电话 |
|
10 |
dingdanzhuangtai |
varchar |
(200) |
√ |
NULL |
订单状态 |
|
11 |
wanchengshijian |
datetime |
√ |
NULL |
完成时间 |
|
|
12 |
fengmian |
varchar |
(200) |
√ |
NULL |
封面 |
|
13 |
xueshengzhanghao |
varchar |
(200) |
√ |
NULL |
学生账号 |
|
14 |
xueshengxingming |
varchar |
(200) |
√ |
NULL |
学生姓名 |
|
15 |
lianxifangshi |
varchar |
(200) |
√ |
NULL |
联系方式 |
|
16 |
dizhi |
varchar |
(200) |
√ |
NULL |
地址 |
|
17 |
zhanghao |
varchar |
(200) |
√ |
NULL |
账号 |
|
18 |
xingming |
varchar |
(200) |
√ |
NULL |
姓名 |
|
19 |
shouji |
varchar |
(200) |
√ |
NULL |
手机 |
|
20 |
sfsh |
varchar |
(200) |
√ |
'否' |
是否审核 |
|
21 |
shhf |
longtext |
√ |
NULL |
审核回复 |
|
|
22 |
ispay |
varchar |
(200) |
√ |
'未支付' |
是否支付 |
|
23 |
userid |
bigint |
√ |
NULL |
用户id |
收藏表主要存储收藏信息,由id、addtime、userid、refid、tablename、name、picture等字段组成。收藏表如表4-6所示。
表4-6 storeup 收藏表
|
序号 |
列名 |
数据类型 |
长度 |
允许空 |
默认值 |
列说明 |
|
1 |
id |
bigint |
主键 |
|||
|
2 |
addtime |
timestamp |
current_timestamp() |
创建时间 |
续表4-6 storeup 收藏表
|
序号 |
列名 |
数据类型 |
长度 |
允许空 |
默认值 |
列说明 |
|
3 |
userid |
bigint |
用户id |
|||
|
4 |
refid |
bigint |
√ |
NULL |
收藏id |
|
|
5 |
tablename |
varchar |
(200) |
√ |
NULL |
表名 |
|
6 |
name |
varchar |
(200) |
收藏名称 |
||
|
7 |
picture |
varchar |
(200) |
收藏图片 |
token表主要存储登录信息,由id、userid、userame、tablename、role、token、addtime、expiratedtime等字段组成。token表如表4-7所示。
表4-7 token token表
|
序号 |
列名 |
数据类型 |
长度 |
允许空 |
默认值 |
列说明 |
|
1 |
id |
bigint |
主键 |
|||
|
2 |
userid |
bigint |
用户id |
|||
|
3 |
username |
varchar |
(100) |
用户名 |
||
|
4 |
tablename |
varchar |
(100) |
√ |
NULL |
表名 |
|
5 |
role |
varchar |
(100) |
√ |
NULL |
角色 |
|
6 |
token |
varchar |
(200) |
密码 |
||
|
7 |
addtime |
timestamp |
current_timestamp() |
新增时间 |
||
|
8 |
expiratedtime |
timestamp |
current_timestamp() |
过期时间 |
管理员表主要存储管理员信息,由id、userame、password、role、addtime等字段组成。管理员表如表4-8所示。
表4-8 users 管理员表
|
序号 |
列名 |
数据类型 |
长度 |
允许空 |
默认值 |
列说明 |
|
1 |
id |
bigint |
主键 |
|||
|
2 |
username |
varchar |
(100) |
管理员名 |
||
|
3 |
password |
varchar |
(100) |
密码 |
||
|
4 |
role |
varchar |
(100) |
√ |
'管理员' |
角色 |
|
5 |
addtime |
timestamp |
current_timestamp() |
新增时间 |
消息中心表主要存储消息中心信息,由id、addtime、neirong、xueshengzhanghao、xueshengxingming、zhaopian、userid等字段组成。消息中心表如表4-9所示。
表4-9 xiaoxizhongxin 消息中心表
|
序号 |
列名 |
数据类型 |
长度 |
允许空 |
默认值 |
列说明 |
|
1 |
id |
bigint |
主键 |
|||
|
2 |
addtime |
timestamp |
current_timestamp() |
创建时间 |
||
|
3 |
neirong |
longtext |
√ |
NULL |
内容 |
|
|
4 |
xueshengzhanghao |
varchar |
(200) |
√ |
NULL |
学生账号 |
|
5 |
xueshengxingming |
varchar |
(200) |
√ |
NULL |
学生姓名 |
|
6 |
zhaopian |
varchar |
(200) |
√ |
NULL |
照片 |
|
7 |
userid |
bigint |
√ |
NULL |
用户id |
学生表主要存储学生信息,由id、addtime、xueshengzhanghao、mima、xueshengxingming、nianling、xingbie、lianxifangshi、zhaopian、dizhi等字段组成。学生表如表4-10所示。
表4-10 xuesheng 学生表
|
序号 |
列名 |
数据类型 |
长度 |
允许空 |
默认值 |
列说明 |
|
1 |
id |
bigint |
主键 |
|||
|
2 |
addtime |
timestamp |
current_timestamp() |
创建时间 |
||
|
3 |
xueshengzhanghao |
varchar |
(200) |
学生账号 |
||
|
4 |
mima |
varchar |
(200) |
密码 |
||
|
5 |
xueshengxingming |
varchar |
(200) |
学生姓名 |
||
|
6 |
nianling |
int |
年龄 |
|||
|
7 |
xingbie |
varchar |
(200) |
√ |
NULL |
性别 |
|
8 |
lianxifangshi |
varchar |
(200) |
联系方式 |
||
|
9 |
zhaopian |
varchar |
(200) |
√ |
NULL |
照片 |
|
10 |
dizhi |
varchar |
(200) |
√ |
NULL |
地址 |
学生动态表主要存储学生动态信息,由id、addtime、biaoti、xinxileibie、jianjie、neirong、fabushijian、fengmian、xueshengzhanghao、xueshengxingming、clicktime、clicknum等字段组成。学生动态表如表4-11所示。
表4-11 xueshengdongtai 学生动态表
|
序号 |
列名 |
数据类型 |
长度 |
允许空 |
默认值 |
列说明 |
|
1 |
id |
bigint |
主键 |
|||
|
2 |
addtime |
timestamp |
current_timestamp() |
创建时间 |
||
|
3 |
biaoti |
varchar |
(200) |
标题 |
续表4-11 xueshengdongtai 学生动态表
|
序号 |
列名 |
数据类型 |
长度 |
允许空 |
默认值 |
列说明 |
|
4 |
xinxileibie |
varchar |
(200) |
信息类别 |
||
|
5 |
jianjie |
longtext |
√ |
NULL |
简介 |
|
|
6 |
neirong |
longtext |
√ |
NULL |
内容 |
|
|
7 |
fabushijian |
date |
√ |
NULL |
发布时间 |
|
|
8 |
fengmian |
varchar |
(200) |
√ |
NULL |
封面 |
|
9 |
xueshengzhanghao |
varchar |
(200) |
√ |
NULL |
学生账号 |
|
10 |
xueshengxingming |
varchar |
(200) |
√ |
NULL |
学生姓名 |
|
11 |
clicktime |
datetime |
√ |
NULL |
最近点击时间 |
|
|
12 |
clicknum |
int |
√ |
0 |
点击次数 |
第5章 系统实现
5.1 管理员功能模块实现
5.1.1 学生管理
此页面管理员可以查看学生信息,包括学生账号、学生姓名、年龄、性别、联系方式、图片、地址等信息,也可通过账号、姓名进行查询学生信息,并对学生信息有修改和删除等功能。学生管理页面如图5-1所示。学生管理详情页面如图5-2所示。

图5-1 学生管理页面

图5-2 学生管理详情页面
5.1.2 跑腿员管理
此页面管理员可查看跑腿员信息,包括账号、姓名、年龄、性别、手机、图片等信息,也可通过搜索账号、姓名进行查询,并对跑腿员信息有修改和删除功能。跑腿员管理页面如图5-3所示。跑腿员管理详情页面如图5-4所示。

图5-3 跑腿员管理页面

图5-4 跑腿员管理详情页面
5.1.3 校园动态管理
此页面管理员可以查看学生动态信息、包括标题、信息类型、发布时间、封面、学生账号、学生姓名等。也可通过搜索标题、信息类型进行查询、也能对校园动态信息进行修改和删除操作。校园动态管理页面如图5-5所示。校园动态管理详情页面如图5-6所示。校园动态管理新增页面如图5-7所示。校园动态管理修改页面如图5-8所示。

图5-5 校园动态管理页面

图5-6 校园动态管理详情页面

图5-7 校园动态管理新增页面

图5-8 校园动态管理修改页面
5.1.4 发布任务管理
此页面管理员可以查看发布任务信息、包括任务标题、任务类型、任务时间、联系电话、送件地址、封面、学生账号、学生姓名等。也可通过搜索任务标题、任务类型、送件地址和学生姓名进行查询、也能对发布任务信息进行新增、修改和删除等操作。发布任务管理页面如图5-9所示。发布任务管理详情页面如图5-10所示。发布任务管理新增页面如图5-11所示。发布任务管理修改页面如图5-12所示。

图5-9 发布任务管理页面

图5-10 发布任务管理详情页面

图5-11 发布任务管理新增页面

图5-12 发布任务管理修改页面
5.1.5 任务订单管理
此页面管理员可以查看任务订单信息、包括联系电话、订单状态、封面、学生账号、学生姓名、地址、姓名、账号、手机、是否支付等。也可通过搜索任务标题、任务类型和学生姓名进行查询、也能对发布任务信息进行删除等操作。任务订单管理页面如图5-13所示。任务订单管理详情页面如图5-14所示。

图5-13 任务订单管理页面

图5-14 任务订单管理详情页面
5.1.6 消息中心管理
此页面管理员可以查看消息中心信息、包括学生账号、学生姓名、照片等。也可通过搜索内容进行查询、也能对发布任务信息进行删除等操作。消息中心管理页面如图5-15所示。消息中心管理详情页面如图5-16所示。

图5-15 消息中心管理页面

图5-16 消息中心管理详情页面
5.2 学生功能模块实现
5.2.1 学生动态
在此页面,学生可以通过输入关键字或标题,方便地搜索校园内的学生动态信息,快速找到感兴趣的内容。同时,学生还可以通过该页面进行新增学生动态消息的操作,分享个人动态、活动或其他信息,促进校园内的信息交流与互动。该功能简洁易用,旨在提升学生间的沟通效率,为校园社交提供便捷平台。学生动态页面如图5-17所示。学生动态新增页面如图5-18所示。

图5-17 学生动态页面

图5-18 学生动态新增页面
5.2.2 发布任务
学生登录后可发布任务,包括任务标题、任务类型、送件地址、派单名字、联系电话、任务时间、封面、报价、备注、学生账号、学生姓名、联系方式、地址、任务描述等信息填写完成后提交以供跑腿员进行抢单。发布任务页面如图5-19所示。发布任务新增页面如图5-20所示。

图5-19 发布任务页面

图5-20 发布任务新增页面
5.2.3 任务订单
学生登录后可查看任务订单,包括任务标题、订单编号、任务类型、报价、送件地址、派单名字、联系电话、订单状态、完成时间、学生账号、学生姓名、联系方式述等信息并对订单进行支付和审核等操作。任务订单页面如图5-21所示。任务订单详情页面如图5-22所示。

图5-21 任务订单页面

图5-22 任务订单详情页面
5.3 跑腿员功能模块实现
5.3.1 我的收藏管理
在此页面,跑腿员可以方便地查看自己的收藏信息,包括已收藏的任务、物品或其他重要内容。通过输入收藏名称,跑腿员能够快速搜索和定位到特定的收藏项,提升信息查找的效率。我的收藏管理页面如图5-23所示。

图5-23 我的收藏管理页面
5.3.2 联系客服
在此页面,跑腿员可以与客服进行交流,方便地提出问题、反馈工作中的困难或提供改进建议。此外,客服也可以及时回应跑腿员的需求,确保服务的顺畅与高效。该功能为跑腿员提供了一个便捷的沟通渠道,有助于提升整体服务质量和用户满意度。我的收藏管理页面如图5-24所示。

图5-24 联系客服页面
第6章 系统测试
6.1 测试目的
系统功能测试的主要目标是确保所有功能模块按预期工作,并满足用户需求。通过测试各个功能点,如任务发布、订单管理、消息通知等,验证系统的各项功能是否正常运行,确保没有遗漏或错误。测试还需要检查系统在不同用户角色下的操作是否流畅,包括管理员、学生和跑腿员的权限是否得到有效控制。功能测试还会关注系统的输入输出是否准确,数据是否正确传递,用户交互是否顺畅。此外,测试还需确认系统能够在不同设备和浏览器上正常运行,提供一致的使用体验[13]。最终,功能测试确保系统在上线前能够稳定可靠地服务用户,避免潜在的功能性问题影响实际使用。
6.2 测试方法
在本系统中,单元测试主要通过JUnit框架对各个模块的功能进行独立验证。通过编写测试用例,单元测试可以确保每个功能模块如任务发布、订单管理、用户登录等在代码层面上的正确性。例如,在任务发布模块中,通过单元测试可以验证输入数据的有效性、任务信息的存储是否成功,以及相关功能接口的响应是否符合预期。单元测试有助于及时发现和修复代码中的逻辑错误,保证每个模块能够单独正常运行,为系统集成打下基础。
黑盒测试则从用户的角度出发,主要关注系统功能是否符合需求规格说明书,忽略内部实现细节。通过模拟学生、跑腿员等不同角色的操作,黑盒测试可以验证系统的业务流程,如学生是否能够顺利发布任务、跑腿员是否能够正确接单和反馈等。此类测试通过人工或自动化脚本模拟实际使用场景,确保系统在不同使用条件下能提供一致的服务质量。黑盒测试的优势在于其更贴近实际应用场景,有助于发现功能实现中的潜在问题,提升用户体验[14]。
6.3 测试结果
经过测试,系统各模块的功能表现一致且符合预期。首页功能正常,学生能够顺利浏览网页并查看系统主页;在学生动态模块,学生不仅可以浏览和搜索动态信息,还能成功新增内容;发布任务模块功能完备,学生能够轻松浏览、搜索及新增任务信息;任务订单模块也能够顺利浏览和搜索订单信息。所有测试项均通过验证,系统功能稳定,用户操作流畅,符合设计要求,确保了良好的用户体验。学生测试结果表如表6-1所示。
表6-1 学生测试结果
|
预计测试功能 |
测试结果 |
|
|
首页 |
学生能够浏览网页,查看系统主页。 |
一致 |
|
学生动态 |
学生可以在系统内浏览学生动态信息并搜索和新增。 |
一致 |
|
发布任务 |
学生可以在系统内浏览发布任务信息并搜索和新增。 |
一致 |
|
任务订单 |
学生可以在系统内浏览任务订单信息并搜索。 |
一致 |
经过测试,系统的各项管理员后台功能均符合预期并正常运行。学生管理、跑腿员管理模块正常,管理员能够顺利查询和删除学生及跑腿员信息。校园动态管理、发布任务管理和任务订单管理模块功能全面,管理员可以进行信息的查询、新增、修改和删除操作。消息中心管理和轮播图管理功能也得到验证,管理员可顺利删除相关信息。所有测试结果一致,系统后台管理功能稳定且完善[15]。管理员测试结果表如表6-2所示。
表6-2 管理员测试结果
|
测试模块 |
预计测试功能 |
测试结果 |
|
登录 |
管理员需要登录才更能进入后台页面。 |
一致 |
|
学生管理 |
管理员可以查询和删除学生信息。 |
一致 |
|
跑腿员管理 |
管理员可以查询和删除跑腿员信息。 |
一致 |
|
校园动态管理 |
管理员可以查询、新增、修改和删除校园动态信息。 |
一致 |
|
发布任务管理 |
管理员可以查询、新增、修改和删除发布任务信息。 |
一致 |
|
任务订单管理 |
管理员可以删除任务订单信息。 |
一致 |
|
消息中心管理 |
管理员可以删除消息中心信息。 |
一致 |
|
轮播图管理 |
管理员可以删除轮播图信息。 |
一致 |
经过测试,系统中的跑腿员相关功能均表现一致且符合预期。在首页模块,跑腿员能够顺利浏览网页并查看系统主页;在学生动态模块,跑腿员可以浏览学生动态信息;发布任务模块中,跑腿员能够查看任务信息,进行搜索并在线接单,操作流畅;任务订单模块功能完善,跑腿员可以轻松浏览并搜索任务订单信息。跑腿员测试结果表如表6-3所示。
表6-3 跑腿员测试结果
|
测试模块 |
预计测试功能 |
测试结果 |
|
首页 |
跑腿员能够浏览网页,查看系统主页。 |
一致 |
|
学生动态 |
跑腿员可以在系统内浏览学生动态信息并搜索。 |
一致 |
|
发布任务 |
跑腿员可以在系统内浏览发布任务信息并搜索和在线接单。 |
一致 |
|
任务订单 |
跑腿员可以在系统内浏览任务订单信息并搜索。 |
一致 |
本研究设计并实现了一个基于Java的校园代取快递平台,主要解决了校园内学生和跑腿员之间任务分配、信息交流和任务管理的实际问题。通过系统的设计与开发,研究实现了任务发布、任务订单管理、学生动态浏览等功能,极大提高了学生与跑腿员之间的互动效率。系统在功能模块设计中,结合角色权限管理确保了数据安全与操作的有效性,同时也通过合理的界面设计与数据流优化提升了用户体验。在理论方面,系统的设计与实现为校园服务平台的开发提供了新的思路,尤其是在权限控制、任务调度与动态信息管理方面提供了借鉴意义。在实践层面,系统经过功能测试、单元测试和黑盒测试验证,证明了其稳定性与高效性,为校园快递代取服务的实际应用提供了技术支持与方案参考。
尽管本研究取得了一定的成果,但系统的功能和性能依然有进一步完善的空间。首先,系统的用户界面可以更加智能化,尤其是在任务推荐和信息推送方面,可以基于用户的历史行为和偏好进行个性化推荐,提高用户体验。其次,系统在高并发情况下的性能仍需优化,特别是在大量任务发布和订单管理时,可能会出现一定的响应延迟,这在后续的版本中应重点关注。另外,系统在数据分析与智能调度方面的功能还不完善,未来可以引入机器学习算法进行任务的智能匹配与优化,从而提升任务分配的效率和准确度。未来的研究可以集中在增强系统的智能化水平,提升跨平台的兼容性和稳定性,以应对不断变化的用户需求和复杂的校园环境。
参考文献
- 马新,杨春妮,李孟莹,等、大学校园微信快递代取平台设计[J]、中国储运,2024,(04):179-180.
- 孔超.快递信息管理系统中隐私保护研究[J].中国物流与采购,2024,(17):81-82.
- 熊志勇,刘诚志,朱晶,等、基于Python人脸识别校园快递的设计与实现[J]、电脑知识与技术,2022,18(28):48-49+52.
- 伏天,柴小玲、校园物流配送系统的设计与实现[J]、集成电路应用,2023,40(12):389-391.
- 狄丹.基于MySQL协议的数据库运维代理的设计与实现[D].华北电力大学(北京),2022.
- 刘广超,朱志刚,刘焕江,等.Java编程语言在高校课程网站建设中的应用[J].网络安全技术与应用,2024,(05):66-68.
- 李程,胡五音.Java编程语言在计算机软件开发中的应用[J].电子技术,2024,53(03):66-67.
- 陈沛欣,黄雅怡,黄家桢,等.基于微服务的GIS最短路径算法快递代取平台研究[J].现代信息科技,2022,6(12):27-31.
- 杨晶莹.基于区块链的物流快递代取系统研究[D].吉林大学,2022.
- 孙秀娟,董文清,梁志广.基于微信小程序的校园快递代取平台的设计与实现[J].北京工业职业技术学院学报,2022,19(04):16-19+90.
- Alzate-Espinosa A G .Applied Geomechanics for the Analysis and Optimization of Cyclic Steam Stimulation Operations in Heavy Oil Reservoirs[M].Nova Science Publishers, Inc.:2024-08-19.
- Mann T 、Improving Experiences Across College Campuses[J]、Systems Contractor News,2024,31(10):42.
- Hideki Mensch Maruyama M ,Willig Silveira L ,Da Silva Júnior E , et al、Recommender systems in smart campus: a systematic mapping[J]、Knowledge and Information Systems,2024,(prepublish):1-27.
- Houmaan G ,Ali E .Applying the integrated model to understanding online buyers’ intention to adopt delivery drones in Iran[J].Transportation Letters,2023,15(2):98-110.
- He L ,Linna J ,Fangfang W , et al.Control Optimization Design of Radio Frequency Identification Technology in IoT Express Logistics Distribution System[J].Journal of Control Science and Engineering,2022,2022.
致 谢
在此,我衷心感谢所有在本论文研究和系统开发过程中给予我帮助和支持的老师、同学和家人。
首先,我要特别感谢我的指导老师。感谢您在整个研究过程中给予我细致的指导和宝贵的意见。您的严谨学术态度、丰富的专业知识和耐心的教诲,不仅帮助我深入理解了系统设计与开发的理论与实践,还让我在面对研究中的难题时,始终保持冷静与坚定。您的指导不仅是我学术成长的重要源泉,也为我今后的学习和工作打下了坚实的基础。
我要感谢我的同学们。感谢你们在研究过程中的支持与帮助,尤其是在实验数据的收集、系统测试及功能完善等方面的建议。你们的反馈,使我在项目开发的过程中不断改进,确保了系统的高效性与稳定性。特别是在项目遇到困难时,你们的鼓励和建议为我提供了很大的动力,让我能够顺利完成论文的研究与撰写。
最后,我要感谢我的家人,特别是我的父母。感谢你们在我学习和研究期间给予我无条件的支持与理解。你们不仅为我提供了一个安稳的生活环境,也在我遇到困难时给予我温暖和力量。你们的支持和鼓励始终是我前行的动力源泉,让我在忙碌和压力中,依然能够保持坚定的信念和良好的心态。
在此,我再次向所有给予我帮助和支持的人表示最真诚的感谢。你们的关爱与帮助,使我能够顺利完成这项研究,走到了今天。
附录A 基于Java的校园代取快递平台的设计与实现主要功能实现代码
联系客服实现代码:
@RestController
@RequestMapping("/chat")
public class ChatController {
@Autowired
private ChatService chatService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,ChatEntity chat,
HttpServletRequest request){
if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
chat.setUserid((Long)request.getSession().getAttribute("userId"));
}
EntityWrapper<ChatEntity> ew = new EntityWrapper<ChatEntity>();
PageUtils page = chatService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chat), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,ChatEntity chat,
HttpServletRequest request){
if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
chat.setUserid((Long)request.getSession().getAttribute("userId"));
}
EntityWrapper<ChatEntity> ew = new EntityWrapper<ChatEntity>();
PageUtils page = chatService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chat), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( ChatEntity chat){
EntityWrapper<ChatEntity> ew = new EntityWrapper<ChatEntity>();
ew.allEq(MPUtil.allEQMapPre( chat, "chat"));
return R.ok().put("data", chatService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(ChatEntity chat){
EntityWrapper< ChatEntity> ew = new EntityWrapper< ChatEntity>();
ew.allEq(MPUtil.allEQMapPre( chat, "chat"));
ChatView chatView = chatService.selectView(ew);
return R.ok("查询联系客服成功").put("data", chatView);
}
发布任务实现代码:
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody FaburenwuEntity faburenwu, HttpServletRequest request){
faburenwu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(faburenwu);
faburenwuService.insert(faburenwu);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody FaburenwuEntity faburenwu, HttpServletRequest request){
faburenwu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(faburenwu);
faburenwu.setUserid((Long)request.getSession().getAttribute("userId"));
faburenwuService.insert(faburenwu);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody FaburenwuEntity faburenwu, HttpServletRequest request){
//ValidatorUtils.validateEntity(faburenwu);
faburenwuService.updateById(faburenwu);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
faburenwuService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
任务订单实现代码:
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody RenwudingdanEntity renwudingdan, HttpServletRequest request){
renwudingdan.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(renwudingdan);
renwudingdan.setUserid((Long)request.getSession().getAttribute("userId"));
renwudingdanService.insert(renwudingdan);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody RenwudingdanEntity renwudingdan, HttpServletRequest request){
//ValidatorUtils.validateEntity(renwudingdan);
renwudingdanService.updateById(renwudingdan);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
renwudingdanService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date remindStartDate = null;
Date remindEndDate = null;
if(map.get("remindstart")!=null) {
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}
Wrapper<RenwudingdanEntity> wrapper = new EntityWrapper<RenwudingdanEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("xiaoyou")) {
wrapper.eq("xiaoyouzhanghao", (String)request.getSession().getAttribute("username"));
}
if(tableName.equals("paotuiyuan")) {
wrapper.eq("zhanghao", (String)request.getSession().getAttribute("username"));
}
int count = renwudingdanService.selectCount(wrapper);
return R.ok().put("count", count);
}
消息中心实现代码:
@RestController
@RequestMapping("/xiaoxizhongxin")
public class XiaoxizhongxinController {
@Autowired
private XiaoxizhongxinService xiaoxizhongxinService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,XiaoxizhongxinEntity xiaoxizhongxin,
HttpServletRequest request){
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("xiaoyou")) {
xiaoxizhongxin.setXiaoyouzhanghao((String)request.getSession().getAttribute("username"));
}
EntityWrapper<XiaoxizhongxinEntity> ew = new EntityWrapper<XiaoxizhongxinEntity>();
PageUtils page = xiaoxizhongxinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xiaoxizhongxin), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,XiaoxizhongxinEntity xiaoxizhongxin,
HttpServletRequest request){
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("xiaoyou")) {
xiaoxizhongxin.setXiaoyouzhanghao((String)request.getSession().getAttribute("username"));
}
EntityWrapper<XiaoxizhongxinEntity> ew = new EntityWrapper<XiaoxizhongxinEntity>();
PageUtils page = xiaoxizhongxinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xiaoxizhongxin), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( XiaoxizhongxinEntity xiaoxizhongxin){
EntityWrapper<XiaoxizhongxinEntity> ew = new EntityWrapper<XiaoxizhongxinEntity>();
ew.allEq(MPUtil.allEQMapPre( xiaoxizhongxin, "xiaoxizhongxin"));
return R.ok().put("data", xiaoxizhongxinService.selectListView(ew));
}
更多推荐




所有评论(0)