摘 要
本项目旨在利用SpringBoot框架开发一个沧州交通学院大学生校内兼职系统,为学生提供便捷的校内兼职信息发布和申请服务。通过该系统,沧州交通学院的学生可以浏览并搜索各类校内兼职工作,并进行在线申请。同时,校内雇主也可以在系统中发布兼职招聘信息,并筛选合适的学生进行面试和录用。该系统将采用数据库设计、用户认证与授权、前后端交互、兼职信息管理以及面试与录用流程等步骤来实现。基于SpringBoot的沧州交通学院大学生校内兼职系统有助于解决传统校内兼职方式存在的问题,提供便捷、高效的兼职信息获取和申请服务,促进学生就业能力的提升和校内雇主的招聘效率。
关键词:沧州交通学院大学生校内兼职系统;JAVA语言;SpringBoot框架;MYSQL数据库
Design and implementation of a part-time job system for college students in Cangzhou Jiaotong University based on Springboot
Abstract
This project aims to develop an on campus part-time job system for college students at Cangzhou Jiaotong University using the SpringBoot framework, providing convenient on campus part-time job information publishing and application services for students. Through this system, students from Cangzhou Jiaotong University can browse and search for various part-time jobs on campus, and apply online. At the same time, employers on campus can also publish part-time job recruitment information in the system and screen suitable students for interviews and hiring. The system will adopt steps such as database design, user authentication and authorization, front-end and back-end interaction, part-time information management, and interview and employment processes. The part-time job system for college students at Cangzhou Jiaotong University based on Spring Boot can help solve the problems of traditional part-time job methods, provide convenient and efficient part-time information acquisition and application services, promote the improvement of student employment ability and the recruitment efficiency of employers on campus.
Keywords: On campus part-time job system for college students at Cangzhou Jiaotong University; JAVA language; SpringBoot framework; MYSQL database
随着高校学生就业压力的增大和求职意识的提升,校园内兼职成为许多大学生获取实践经验和经济收入的重要途径。沧州交通学院作为一所重点高校,拥有众多优秀的学生群体,他们渴望通过校内兼职机会锻炼自己、提升就业竞争力。然而,传统的校内兼职信息发布方式存在信息不透明、匹配度低、申请流程繁琐等问题,学生和雇主之间的信息交流和匹配不够高效。
因此,开发沧州交通学院大学生校内兼职系统具有重要意义。该系统旨在为学生提供便捷的校内兼职信息发布和申请服务,同时为校内雇主提供高效的招聘渠道,促进校内兼职信息的透明化和匹配度提升。通过借助现代化技术手段,如Spring Boot框架、数据库设计和前后端交互,该系统将实现兼职信息管理、面试录用流程等关键功能,为沧州交通学院大学生和校内雇主提供一个便捷、高效的校园兼职平台。这一项目旨在促进学生就业能力的提升、实践经验的积累,同时提升校内兼职管理的效率和质量,为校园就业生态的健康发展做出贡献。
目前,沧州交通学院大学生校内兼职系统的研究和应用在国内外得到了广泛关注和探索。许多高校和企业已经开始开展相关项目,以提供更便捷、高效的兼职服务。
国外方面,一些大学和社区网站已经建立了在线兼职平台,为学生提供兼职信息发布、申请和管理的功能。这些平台通常基于现有的技术框架和云计算服务,实现了用户认证、兼职搜索、预约面试等功能,并结合移动应用程序提供更好的用户体验。
国内方面,随着大学生就业观念的转变和创新创业教育的推进,校内学生兼职也逐渐受到重视。一些高校和创业孵化中心已经开始开发自己的兼职平台,为学生提供实习、兼职和创业项目的机会。这些平台通常与校内资源和社会企业进行合作,实现了兼职信息的发布、匹配和管理。
然而,尽管已经取得了一定的成果,沧州交通学院大学生校内兼职系统仍面临一些挑战和改进空间。例如,信息的及时性和准确性、兼职招聘流程的繁琐性等问题仍然存在。此外,随着技术的发展和用户需求的变化,人工智能、大数据分析等新技术的引入也将成为未来发展的趋势。
因此,基于Spring Boot的沧州交通学院大学生校内兼职系统在国内外的研究和应用还有进一步发展的空间。通过不断优化系统设计和功能实现,提高用户体验和信息的可靠性,将为学生和雇主提供更便捷、高效的兼职服务,促进校园就业市场的发展。
论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对系统需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:
第1章 交代项目的背景、开发这个系统的现状以及论文的章节安排情况。
第2章 对系统的具体需求展开分析。
第3章 阐述了系统的设计,其中涵盖了功能设计以及数据库的设计。
第4章 阐明了沧州交通学院大学生校内兼职系统各个功能模块的实现,以图文的形式进行展示。
第5章 罗列了部分系统调试与测试的记录。
需求分析是开发一个系统之前首先要做的,如果一个系统不值得开发或者违反了相关法律法规,那么开发出来的系统将一文不值,所以在开发之前,我们首先要对系统的需求进行分析,分析系统开发是否可行,如果可行的话,再具体分析企业对商品仓库管理的管理方面的需求,分析出系统的功能以及对系统的性能进行分析。
技术方面的可行性主要是考虑开发沧州交通学院大学生校内兼职系统的时候采用的开发语言、数据库等是否可行,本沧州交通学院大学生校内兼职系统在语言上选择JAVA,采用的是SpringBoot框架以及MYSQL数据库,这些技术目前都很成熟,而且JAVA语言不仅仅支持面向过程,而且还支持面向对象,所以在使用的时候会更加的灵活,在技术选择上完全没有问题。
经济方面的可行性主要考虑的是成本以及效益,从成本方面看,开发过程中使用的JAVA、SpringBoot、MYSQL等都可以通过网上搜索下载,没有任何费用,开发的成本几乎不存在;从效益方面看,系统的完成能够给商品仓库管理方面提供支持,降低企业的成本,提高管理的效率,因此在经济上也是没有问题的。
法律方面主要考虑的是系统的开发是否违法,开发的沧州交通学院大学生校内兼职系统严格按照《中华人民共和国计算机软件保护条例》、《中华人民共和国著作权法》等法律法规,系统的开发可以为企业带来效益,不存在违法行为,因此在法律上是可行的。
操作方面主要考虑的是用户在使用以及管理人员在管理的时候,是否简单可行,没有任何计算机基础的用户能否使用,开发的沧州交通学院大学生校内兼职系统在设计的时候秉承简单易学的理念,在用户进入系统后都会有固定的导航按钮,只要认字就可以操作完成,而且管理员在管理方面也只需简单的增删改查即可完成,因此在操作上也是可行的。
总的来看,开发的沧州交通学院大学生校内兼职系统在可行性方面是没有问题的,值得开发,而且其他的完成对行业发展来说具有重大意义。
校园学生招聘系统提供了管理员、雇主用户和学生用户三个角色的功能模块。管理员可以管理系统用户兼职任务活动等;雇主用户可以发布兼职信息,查看学生发出的接单申请;学生用户可以浏览兼职招聘、投递兼职申请、收藏兼职岗位、获取活动信息、查看学习资源和平台广告等。 通过该系统,学生和雇主之间实现了便捷的沟通与交流,提供了丰富的兼职信息和服务,校内学生招聘系统为提供全面、高效的就业服务搭建了一个可靠的平台。
学生用户主要功能如下:
- 注册登录:学生用户通过注册登录系统,可通过点击头像中我的账户,对个人信息进行增删改查。比如个人资料、头像和密码修改。
(2)社交互动:注册用户可以查看社交互动列表信息,对内容进行点赞、收藏,发布自己的内容,并与其他用户互动,包括回复评论等功能。
(3)岗位信息:用户可查看雇主信息、店铺名称、联系电话、地址、岗位名称、招聘需求等详细信息,并进行点赞、收藏,填写申请原因进行在线申请和发表评论。
(4)活动信息:用户可以浏览活动名称、类型、时间、地点、参与人数等活动详情,进行收藏、点赞,填写相关资料参与活动,并发表评论。
(5)学习资源:用户可以查看学生账号、姓名、课程名称、内容、发布时间等学习资源详情,进行点赞、收藏,发表评论,提高学习效率。
(6)平台广告:用户可以查看广告详情,包括雇主信息、店铺名称、联系电话、地址、招聘信息等,进行收藏、点赞,发表评论,促进平台信息传播。
(7)我的账户:用户可管理个人账户信息,包括个人资料、订单记录、学习资源、志愿服务等内容,保持账户信息的完整和准确性。
(8)个人中心:个人中心提供个性化的管理界面,包括订单管理、学习资源管理、志愿服务管理等,方便用户查看和管理个人信息。
(9)个人首页:展示个人信息概览、最新订单状态、学习资源、活动参与等内容,方便用户快速了解个人活动和收藏内容。
(10)岗位申请::用户可以查看审核状态、查询、重置、查看详情、填写申请记录,管理岗位申请过程,提高申请效率。
(11)学生评价:用户可查询、重置、查看详情学生评价,了解自身表现和改进方向。
(12)工时记录:用户可以查看工时记录详情,包括工作时间、工作内容等,方便用户管理工作时长和记录。
(13)薪资发放:用户可以查看薪资发放详情,查询、重置薪资信息,保障薪资发放准确性。
(14)活动参与:用户可以查看活动参与详情、查询、重置、删除活动记录,管理个人活动参与情况。
(15)学习资源:用户可以增删改查学习资源信息,查看资源详情,方便学习资源管理和学习内容浏览。
(16)志愿服务:用户可查看志愿服务详情、增删改查志愿服务信息,管理个人志愿服务记录。
(17)互动列表:用户可以查看互动列表详情、评论内容、查询、重置、删除互动记录,维护互动内容和用户交流。
(18)收藏:用户可以管理个人收藏内容,包括岗位信息、活动信息、学习资源等内容,方便快速查找喜爱的内容。
雇主用户:
(1)注册登录:雇主用户通过注册登录系统,可通过点击头像中我的账户,对个人信息进行增删改查。比如个人资料、头像和密码修改。
(2)社交互动:雇主用户可以与学生用户进行社交互动,包括点赞、收藏和发布内容,以展示对学生的认可和支持。
(3)岗位信息::雇主用户可以查看学生用户发布的岗位信息,对感兴趣的岗位进行点赞、收藏,并发表评论,以提供反馈和互动。
(4)活动信息::雇主用户可以浏览学生用户发布的活动信息,对感兴趣的活动进行点赞、收藏,并发表评论,以参与互动和交流。
(5)平台广告::雇主用户可以查看学生用户发布的平台广告详情,对感兴趣的广告进行点赞、收藏,并发表评论,以表达看法和意见。
(6)我的账户::雇主用户可以在个人中心管理自己的账户信息,包括个人资料和账户安全。
(7)个人中心:雇主用户可以在个人中心管理自己的账户信息,包括个人资料、账户安全等。
(8)个人首页:个人首页展示个人信息概览等内容,方便用户快速了解个人活动和收藏内容。
(9)岗位信息:雇主用户可以对学生发布的岗位信息进行增删改查操作,查看详情和评论,以更好地了解学生提供的岗位信息。
(10)岗位申请:雇主用户可以查询、重置学生的岗位申请,查看详情进行审核和评价,以决定是否录用学生。
(11)学生评论:雇主用户可以对学生评论进行增删改查操作,查看评论的详情,以了解其他雇主对学生的评价。
(12)工时记录:雇主用户可以查询、重置和导出学生的工时记录,查看详情以监控学生的工作表现。
(13)薪资发放:雇主用户可以对学生的薪资信息进行增删改查操作,导出薪资数据,查看详情以确保薪资的准确发放。
(14)平台广告:雇主用户可以查询、重置和查看学生发布的平台广告详情,以了解学生在平台上的宣传情况。薪资发放:
(15)收藏:雇主用户可以收藏感兴趣的内容,方便日后查看和管理。
管理员端:
(1)登录:管理员的账号是在数据列表中直接设置生成的,不需要进行注册,可直接输入账号密码登录,同时可对管理员资料进行增删改查。
(2)系统用户:当管理员点击“系统用户”时,可管理管理员、学生用户和雇主用户,同时可对系统用户进行增删改查。
(3)岗位信息管理:管理员可以对岗位信息进行全面管理,包括列出所有岗位、添加新岗位、查询特定岗位、重置信息、删除岗位、查看详细信息和评论。
(4)岗位申请管理::管理员可以管理岗位申请情况,包括列出所有申请、查询特定申请、重置申请状态、删除申请记录、查看申请详情、评价申请质量和查看申请记录。
(5)学生评价管理;管理员可以管理学生评价信息,包括列出所有评价、查询特定评价、重置评价、删除评价、查看评价详情。
(6)工时记录管理:管理员可以管理工时记录,包括查询工时情况、重置记录、删除记录和导出工时数据。
(7)薪资发放管理:管理员可以管理薪资发放情况,包括列出所有发放记录、添加新发放记录、查询特定记录、重置发放状态、导出薪资数据和删除发放记录。
(8)活动类型管理:管理员可以管理活动类型,包括列出所有类型、添加新类型、查询特定类型、重置类型信息、删除类型和查看类型详情。
(9)活动信息管理:管理员可以管理活动信息,包括列出所有活动、添加新活动、查询特定活动、重置信息、删除活动、查看详细信息和评论。
(10)活动参与管理:管理员可以管理活动参与情况,包括列出所有参与者、查询特定参与者、重置参与状态、删除参与记录、查看参与详情。
(11)学习资源管理;管理员可以管理学习资源,包括列出所有资源、添加新资源、查询特定资源、重置信息、删除资源、查看详细信息和评论。
(12)志愿服务管理:管理员可以管理志愿服务信息,包括列出所有服务、添加新服务、查询特定服务、重置服务信息、删除服务。
(13)平台广告管理:管理员可以管理平台广告,包括列出所有广告、添加新广告、查询特定广告、重置广告信息、删除广告、查看广告详情。。
(10)系统管理:当管理员点击“系统管理”时,可查看轮播图; 如需添加新的轮播图,点击右侧“添加”按钮,上传图片,输入标题,点击“确认”按钮进行添加;同时可对轮播图进行增删改查。
(12)资源管理:管理员点击可查看互动列表和互动分类。如需添加新的互动分类,点击“添加”按钮,上传封面图,输入标题,选择分类,输入标签、描述和正文,点击“提交”按钮进行添加。同时可对互动进行增删改查。
沧州交通学院大学生校内兼职系统的性能性需求分析主要是分析本系统的安全性怎么样(是否会泄露用户个人信息),可靠性怎么样(用户操作的时候是不是能够根据实际操作显示信息),性能怎么样(运行是否操作流畅),可拓展性怎么样(功能能否继续拓展)等。具体可以表示在如下2.1表格中:
表2.1 沧州交通学院大学生校内兼职系统非功能需求表
安全性 | 主要指沧州交通学院大学生校内兼职系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指沧州交通学院大学生校内兼职系统能够按照用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响沧州交通学院大学生校内兼职系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着沧州交通学院大学生校内兼职系统的页面展示内容进行操作,就可以了。 |
可维护性 | 沧州交通学院大学生校内兼职系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
学生用户和雇主用户的用例图如图2.1所示:
图2.1 学生/雇主用户角色用例图
管理员的用例图如图2.2所示:
图2.2 管理员角色用例图
系统中的所有用户(管理员和用户)都可以实现增加数据功能,图2.3显示的就是在增加数据时的流程。
图2.3增加数据流程图
人无完人,每个人都有出错的时候,在录入系统信息的时候如果信息有错,可以对系统中的数据进行编辑。图2.4显示的就是修改数据的流程。
图2.4修改数据流程图
在系统中经常会出现一些过期的数据,比如用户注销等,那就可以直接删除这些数据,图2.5就是删除数据时的流程图。
图2.5删除数据流程图
分析完系统的可行性以及功能,接下来就是对系统具体的设计,通过可行性分析我们得出系统是值得开发的,通过功能分析我们可以得出系统具体实现了哪些功能,然后根据功能需求完成系统的功能设计,本章从功能模块以及系统的数据库两个方面进行介绍。
通过上一章节的功能需求分析,可以得出本沧州交通学院大学生校内兼职系统的功能结构图,图3.1就是系统的功能模块图。
图3.1 沧州交通学院大学生校内兼职系统功能模块图
数据库的设计是一个系统的基础,不管什么系统,界面设计的再美观,如果没有一个强大的数据库进行支撑,那也没有办法运行,在设计数据库的时候我们首先对数据库进行分析,然后进行概念模型设计,最后建立数据库表,具体展示如下。
在数据库概念模型设计的时候,一般都采用E-R实体图进行展示,在实体图中可以展示出数据库表中的所有字段名称,本系统中的总体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 | 用户编号: |
表activity_participation (活动参与)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | activity_participation_id | int | 10 | 0 | N | Y | 活动参与ID | |
2 | student_account | int | 10 | 0 | Y | N | 0 | 学生账号 |
3 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
4 | activity_name | varchar | 64 | 0 | Y | N | 活动名称 | |
5 | activity_type | varchar | 64 | 0 | Y | N | 活动类型 | |
6 | activity_time | datetime | 19 | 0 | Y | N | 活动时间 | |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | activity_type_id | int | 10 | 0 | N | Y | 活动类型ID | |
2 | activity_type | varchar | 64 | 0 | Y | N | 活动类型 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | 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 | 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 | employer_users_id | int | 10 | 0 | N | Y | 雇主用户ID | |
2 | store_name | varchar | 64 | 0 | Y | N | 店铺名称 | |
3 | store_phone | varchar | 16 | 0 | Y | N | 店铺电话 | |
4 | store_address | varchar | 64 | 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 | event_information_id | int | 10 | 0 | N | Y | 活动信息ID | |
2 | activity_name | varchar | 64 | 0 | Y | N | 活动名称 | |
3 | activity_images | varchar | 255 | 0 | Y | N | 活动图片 | |
4 | activity_type | varchar | 64 | 0 | Y | N | 活动类型 | |
5 | activity_time | datetime | 19 | 0 | Y | N | 活动时间 | |
6 | event_location | varchar | 64 | 0 | Y | N | 活动地点 | |
7 | participants | varchar | 64 | 0 | Y | N | 参与人群 | |
8 | event_details | text | 65535 | 0 | Y | N | 活动详情 | |
9 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
10 | praise_len | 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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | forum_id | mediumint | 8 | 0 | N | Y | 论坛id | |
2 | display | smallint | 5 | 0 | N | N | 100 | 排序 |
3 | user_id | mediumint | 8 | 0 | N | N | 0 | 用户ID |
4 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
5 | praise_len | int | 10 | 0 | Y | N | 0 | 点赞数 |
6 | hits | int | 10 | 0 | N | N | 0 | 访问数 |
7 | title | varchar | 125 | 0 | N | N | 标题 | |
8 | keywords | varchar | 125 | 0 | Y | N | 关键词 | |
9 | description | varchar | 255 | 0 | Y | N | 描述 | |
10 | url | varchar | 255 | 0 | Y | N | 来源地址 | |
11 | tag | varchar | 255 | 0 | Y | N | 标签 | |
12 | img | text | 65535 | 0 | Y | N | 封面图 | |
13 | content | longtext | 2147483647 | 0 | Y | N | 正文 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
16 | avatar | varchar | 255 | 0 | Y | N | 发帖人头像: | |
17 | type | varchar | 64 | 0 | N | N | 0 | 论坛分类:[0,1000]用来搜索指定类型的论坛帖 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
3 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
4 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
5 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
6 | icon | varchar | 255 | 0 | Y | N | 分类图标: | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | 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 | job_application_id | int | 10 | 0 | N | Y | 岗位申请ID | |
2 | student_account | int | 10 | 0 | Y | N | 0 | 学生账号 |
3 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
4 | student_phone_number | varchar | 64 | 0 | Y | N | 学生电话 | |
5 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
6 | employer_account | int | 10 | 0 | Y | N | 0 | 雇主账号 |
7 | store_name | varchar | 64 | 0 | Y | N | 店铺名称 | |
8 | job_title | varchar | 64 | 0 | Y | N | 岗位名称 | |
9 | hourly_unit_price | int | 10 | 0 | Y | N | 0 | 小时单价 |
10 | application_time | datetime | 19 | 0 | Y | N | 申请时间 | |
11 | reason_for_application | text | 65535 | 0 | Y | N | 申请原因 | |
12 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
13 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | job_information_id | int | 10 | 0 | N | Y | 岗位信息ID | |
2 | employer_account | int | 10 | 0 | Y | N | 0 | 雇主账号 |
3 | store_name | varchar | 64 | 0 | Y | N | 店铺名称 | |
4 | store_image | varchar | 255 | 0 | Y | N | 店铺图片 | |
5 | store_phone | varchar | 64 | 0 | Y | N | 店铺电话 | |
6 | store_address | varchar | 64 | 0 | Y | N | 店铺地址 | |
7 | job_title | varchar | 64 | 0 | Y | N | 岗位名称 | |
8 | recruitment_number | int | 10 | 0 | Y | N | 0 | 招聘人数 |
9 | hourly_unit_price | int | 10 | 0 | Y | N | 0 | 小时单价 |
10 | job_requirements | text | 65535 | 0 | Y | N | 岗位要求 | |
11 | recruitment_details | text | 65535 | 0 | Y | N | 招聘详情 | |
12 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
13 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | learning_resource_id | int | 10 | 0 | N | Y | 学习资源ID | |
2 | student_account | int | 10 | 0 | Y | N | 0 | 学生账号 |
3 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
4 | course_name | varchar | 64 | 0 | Y | N | 课程名称 | |
5 | course_images | varchar | 255 | 0 | Y | N | 课程图片 | |
6 | course_content | varchar | 64 | 0 | Y | N | 课程内容 | |
7 | release_time | date | 10 | 0 | Y | N | 发布时间 | |
8 | share_files | varchar | 255 | 0 | Y | N | 分享文件 | |
9 | share_details | text | 65535 | 0 | Y | N | 分享详情 | |
10 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
11 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | platform_advertising_id | int | 10 | 0 | N | Y | 平台广告ID | |
2 | employer_account | int | 10 | 0 | Y | N | 0 | 雇主账号 |
3 | store_name | varchar | 64 | 0 | Y | N | 店铺名称 | |
4 | store_image | varchar | 255 | 0 | Y | N | 店铺图片 | |
5 | store_phone | varchar | 64 | 0 | Y | N | 店铺电话 | |
6 | store_address | varchar | 64 | 0 | Y | N | 店铺地址 | |
7 | job_title | varchar | 64 | 0 | Y | N | 岗位名称 | |
8 | recruitment_number | int | 10 | 0 | Y | N | 0 | 招聘人数 |
9 | hourly_unit_price | int | 10 | 0 | Y | N | 0 | 小时单价 |
10 | job_requirements | text | 65535 | 0 | Y | N | 岗位要求 | |
11 | recruitment_details | text | 65535 | 0 | Y | N | 招聘详情 | |
12 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
13 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
15 | 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 | salary_distribution_id | int | 10 | 0 | N | Y | 薪资发放ID | |
2 | employer_account | int | 10 | 0 | Y | N | 0 | 雇主账号 |
3 | store_name | varchar | 64 | 0 | Y | N | 店铺名称 | |
4 | student_account | int | 10 | 0 | Y | N | 0 | 学生账号 |
5 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
6 | salary_month | varchar | 64 | 0 | Y | N | 发薪月份 | |
7 | hourly_unit_price | int | 10 | 0 | Y | N | 0 | 小时单价 |
8 | number_of_working_hours | int | 10 | 0 | Y | N | 0 | 工时数量 |
9 | net_salary | varchar | 64 | 0 | Y | N | 实发工资 | |
10 | other_remarks | text | 65535 | 0 | Y | N | 其他备注 | |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | 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 | student_evaluation_id | int | 10 | 0 | N | Y | 学生评价ID | |
2 | employer_account | int | 10 | 0 | Y | N | 0 | 雇主账号 |
3 | store_name | varchar | 64 | 0 | Y | N | 店铺名称 | |
4 | student_account | int | 10 | 0 | Y | N | 0 | 学生账号 |
5 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
6 | evaluation_time | date | 10 | 0 | Y | N | 评价时间 | |
7 | evaluation_content | text | 65535 | 0 | Y | N | 评价内容 | |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | student_users_id | int | 10 | 0 | N | Y | 学生用户ID | |
2 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
3 | student_phone_number | varchar | 16 | 0 | Y | N | 学生电话 | |
4 | student_id | varchar | 64 | 0 | N | 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 | 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 | 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 | 会员折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | volunteer_service_id | int | 10 | 0 | N | Y | 志愿服务ID | |
2 | student_account | int | 10 | 0 | Y | N | 0 | 学生账号 |
3 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
4 | service_name | varchar | 64 | 0 | Y | N | 服务名称 | |
5 | service_time | datetime | 19 | 0 | Y | N | 服务时间 | |
6 | service_content | varchar | 64 | 0 | Y | N | 服务内容 | |
7 | service_experience | text | 65535 | 0 | Y | N | 服务经历 | |
8 | service_details | text | 65535 | 0 | Y | N | 服务详情 | |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | work_hour_records_id | int | 10 | 0 | N | Y | 工时记录ID | |
2 | student_account | int | 10 | 0 | Y | N | 0 | 学生账号 |
3 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
4 | employer_account | int | 10 | 0 | Y | N | 0 | 雇主账号 |
5 | store_name | varchar | 64 | 0 | Y | N | 店铺名称 | |
6 | hourly_unit_price | int | 10 | 0 | Y | N | 0 | 小时单价 |
7 | record_time | date | 10 | 0 | Y | N | 记录时间 | |
8 | number_of_working_hours | int | 10 | 0 | Y | N | 0 | 工时数量 |
9 | amount_quantity | varchar | 64 | 0 | Y | N | 金额数量 | |
10 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
11 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
- 4 章 关键模块的设计与实现
- 登录模块
管理员、用户在登录界面输入账号+密码,完成验证,点击“登录”按钮,系统在用户数据库表中会对管理员、用户的账号进行匹配,账号+密码正确的话,就会登录到系统中各个用户的主管理界面,否则提示对应的信息,返回到登录的界面,其主界面展示如下图4.1所示。
图4.1 登录界面图
登录代码如下:
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@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;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
Duration duration = Duration.ofSeconds(7200L);
redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
管理员、用户在登录界面输入账号+密码,完成验证,点击“登录”按钮,系统在用户数据库表中会对管理员、用户的账号进行匹配,账号+密码正确的话,就会登录到系统中各个用户的主管理界面,否则提示对应的信息,返回到登录的界面,其主界面展示如下图4.2所示。
图4.2 注册界面图
注册代码如下:
/**
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));
query.put("username",user.getUsername());
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);
}
4.3雇主用户功能模块
岗位信息:雇主点击可查看岗位信息列表,同时可对感兴趣的岗位资讯进行点赞收藏。界面如下图所示。
图4.3 岗位信息界面图
活动信息:雇主点击可查看活动信息列表,同时可对喜欢的活动信息进行点赞收藏。界面图如下。
图4.4 活动信息界面图
个人中心:雇主点击头像可查看“个人中心”,包括个人首页、岗位申请、学生评价、工时记录、薪资发放、活动参与、学习资源、志愿服务、互动列表和收藏。如需添加新的岗位申请,点击“岗位申请”下方添加按钮,选择雇主账号,输入岗位名称、岗位要求、小时单价、招聘人数,上传店铺图片,输入招聘详情内容,点击提交按钮进行添加,雇主用户并可对学生用户前台的岗位申请信息进行审核。界面图如下。
图4.5 个人中心界面图
个人中心:学生点击头像和查看“个人中心”,包括个人首页、岗位申请、学生评价、工时记录、薪资发放、活动参与、学习资源、志愿服务、互动列表和收藏。界面如下图所示。
图4.6 个人中心界面图
岗位信息::学生点击可查看岗位信息列表详情,同时可对感兴趣岗位进行点赞收藏、发表评论和进行在线申请。界面图如下。
图4.7 岗位信息界面图
活动信息:学生用户点击可查看活动信息列表,同时可对喜欢的活动信息进行点赞收藏、发表评论和在线参与申请。界面图如下。
图4.8 活动信息界面图
岗位信息管理:管理员可以对岗位信息进行全面管理,包括列出所有岗位、添加新岗位、查询特定岗位、重置信息、删除岗位、查看详细信息和评论。界面如下图所示。
图4.9 岗位信息管理界面图
岗位申请管理:管理员可以管理岗位申请情况,包括列出所有申请、查询特定申请、重置申请状态、删除申请记录、查看申请详情、评价申请质量和查看申请记录。界面图如下。
图4.10 岗位申请管理界面图
活动信息管理:管理员可以管理活动信息,包括列出所有活动、添加新活动、查询特定活动、重置信息、删除活动、查看详细信息和评论。界面图如下。
图4.11 活动信息管理界面图
交流管理:管理员可以管理平台用户之间的交流互动,包括列出互动列表、管理互动分类、进行增删改查操作、查看互动详情。界面图如下。
图4.12 交流管理界面
到此,系统的开发基本完成,接下来我们对系统的实验与结果进行分析,确保系统能够正常运行,进而投入使用,对系统的实验与结果分析的检测方法就是对系统的测试,测试是系统完成的最后一步,没有测试过的系统是不能进行投入使用的,否则一旦发生bug就会造成损失,下面我们从测试的方法以及测试的用例两部分进行分析,最后给出系统的测试结果。
系统的测试方面有两种,一种是黑盒测试,另一种则为白盒测试,黑盒测试通俗来说就是功能方面的测试,我们也称之为需求测试,在黑盒测试的过程中,我们是不知道其开发原理的,只是作为一名使用者对系统进行测试,我们主要是凭借之前的测试经验,取一些临界值,然后通过测试用例来对其进行测试,这种测试方法是最快的查找问题方法,其次我们可以找一些具有代表性的数据,对系统进行用例测试,在黑盒测试的过程中常用的测试工具是winrunner和AutoRunner;白盒测试我们称之为结果测试,也就是逻辑驱动测试,在白盒测试的过程中,我们主要是根据系统开发的原理进行测试的,主要是以开发者的身份去测试这个代码是不是完成了其具体的功能,实现的具体路径对不对,当然这种测试方法是费时费力的,因为每个功能,他的运行路径不止一条,通过对程序当中运行的路径进行测试,检测开发的代码是不是存在bug,有没有实现预期,在白盒测试的过程中常用的测试工具为Jcontract、C++ Test以及CodeWizard等。
登录模块的功能测试:
表5.1 登录模块功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
登录模块测试 | 登录成功的情况 | 使用者可以通过浏览器进入到沧州交通学院大学生校内兼职系统登录界面,输入用户名:admin和密码admin,完成滑动拼图验证后,点击“登录”按钮。 | 成功登录到管理员管理的界面 | 正确 |
登录模块测试 | 登录失败的情况 | 使用者可以通过浏览器进入到沧州交通学院大学生校内兼职系统登录界面,输入用户名:admin和密码111,完成滑动拼图验证后,点击“登录”按钮。 | 系统提示“用户名和密码不匹配” | 正确 |
用户信息添加功能测试:
表5.2 用户信息添加功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
用户信息添加模块测试 | 用户信息添加成功的情况 | 管理员在“系统用户”菜单中点击“用户信息”会显示出所有的用户信息,点击“添加”按钮,输入账号、密码、昵称、手机号码、邮箱等,输入正确的信息后,点击“提交”按钮。 | 提示添加成功 | 正确 |
用户信息添加模块测试 | 用户信息添加失败的情况 | 管理员在“系统用户”菜单中点击“用户信息”会显示出所有的用户信息,点击“添加”按钮,不输入账号,其他信息正常填写后,点击“提交”按钮。 | 提示“添加失败,账号不能为空” | 正确 |
查询岗位信息功能模块测试:
表5.3 查询岗位信息功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
查询岗位信息功能测试 | 查询成功的情况 | 用户在岗位信息列表菜单栏中点击关键字搜索“店铺名称”“店铺地址”“岗位名称”搜索,然后会出现系统中所搜索的所有岗位信息 | 查询成功 | 正确 |
活动信息添加功能模块测试:
表5.4 添加活动类型功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
活动信息添加模块测试 | 活动信息添加成功的情况 | 点击 “活动信息”这个菜单,可以查看到系统中所有添加的活动类型信息,即可提交信息。 | 提示添加成功 | 正确 |
活动信息添加模块测试 | 活动信息添加失败的情况 | 提交活动信息时,不选择活动名称,其他信息正常填写后,点击“提交”按钮。 | 提示“添加失败,名称不能为空” | 正确 |
在本章节对沧州交通学院大学生校内兼职系统进行了黑白盒测试,并对系统中的部分功能进行了用例分析,能够发现系统还是比较稳定的,系统的所有功能基本可以实现,能够满足管理员和用户对活动信息、岗位信息的需求。通过测试可以看出在系统的运行过程中,其功能完整,对于输入的错误信息,能够把错误信息提示出来,方便用户操作的时候发现自己输入的信息哪里有错误,进而进行改正,而且系统界面都设有导航栏,操作非常便捷,不需要对使用者进行任何培训,对于企业来说是一个很有价值的系统。
经过数月的不懈努力,沧州交通学院大学生校内兼职系统终于圆满完成。相较于以往在校期间开发的小型系统,此次项目具有更为深远的意义。过去的项目多是在老师的指导下完成,从系统设计开始,并未涉及需求分析和系统分析的关键环节。而此次开发的兼职系统,从需求分析、系统分析到设计实现,全程由我独立完成,不仅锻炼了我的专业技能,也提升了我的项目管理能力。
在系统开发的初期,我深入调研了各商品仓库管理的需求,仔细分析了企业应如何通过系统实现有效管理。在此基础上,我选择了熟悉的JAVA语言和MYSQL数据库,运用SpringBoot框架进行系统开发。通过知网库、学校图书馆等渠道,我深入学习了相关技术,掌握了编程的核心思想和方法。
随后,我对整个系统进行了全面的分析,从开发可行性、功能实现、性能要求到操作流程,确保了系统的科学性和实用性。在此基础上,我精心设计了系统的功能和数据库结构。经过反复调试和测试,最终确保了系统的稳定运行。
在开发过程中,我也遇到了不少挑战。前期准备不足、JAVA编程技能不够熟练以及系统环境配置问题等都曾让我陷入困境。但正是这些困难,促使我不断学习、请教,最终成功解决问题。这次经历让我深刻体会到学无止境的道理,也使我更加严谨、务实。我相信,通过这次项目的锻炼,我将受益终身,为未来的学习和工作奠定坚实基础。
参考文献
[1]Prabawani B ,Hadi P S ,Fisher R M , et al. Socioeconomic perspective of agroforestry development in Central Java [J]. Environmental and Sustainability Indicators, 2024, 22 100354-.
[2]刘畅,王陈. MySQL数据库课程的教学评价体系设计 [J]. 电子技术, 2024, 53 (01): 393-395.
[3]杨芬,宋晓燕. MySQL数据库应用的课程教学分析 [J]. 电子技术, 2023, 52 (10): 180-181.
[4]杨华,徐扬. MySQL数据库对中文编码支持的探讨 [J]. 网络安全和信息化, 2023, (10): 157-160.
[5]马文新,刘百韬,侯冠麒等. 基于SpringBoot的三维数字化设备运维管理系统的设计与实现 [J]. 中国建设信息化, 2023, (18): 66-69.
[6]陈蓓蕾,洪年松. 基于SpringBoot的数据库接口设计 [J]. 信息与电脑(理论版), 2023, 35 (16): 181-183.
[7]沧州交通学院(原北京交通大学海滨学院) [J]. 招生考试通讯(高考版), 2023, (Z1): 146.
[8]祝洪珍,吕旋,乔守明. 校园兼职软件一掌通平台的设计与实现 [J]. 软件, 2023, 44 (07): 26-28.
[9]Karthik G ,Debashish M ,Jagoda C , et al. Developing a MySQL Database for the Provenance of Black Tiger Prawns (Penaeus monodon). [J]. Foods (Basel, Switzerland), 2023, 12 (14):
[10]Yang Y . Design and Implementation of Student Information Management System Based on Springboot [J]. Advances in Computer, Signals and Systems, 2022, 6 (6):
[11]尹迪. 建筑工程施工组织管理课程实践教学研究——以沧州交通学院为例 [J]. 科技风, 2022, (12): 88-90.
[12]刘娜,刘丽华,宋立华. “大思政”教育格局下民办高校思想政治理论课实践教学模式改革与实践探索——以沧州交通学院为例 [J]. 大学, 2022, (12): 189-192.
[13]周渠岸. 校园兼职平台的设计与实现 [J]. 电子技术, 2021, 50 (10): 70-71.
[14]李威,胡惠影. 地方校园兼职微信公众号平台设计与运营分析 [J]. 电脑知识与技术, 2021, 17 (22): 198-199+205.
[15]刘娜,刘宝元,刘晓飞等. 民办应用型本科高校通识教育课程体系建设与实践——以沧州交通学院为例 [J]. 中国多媒体与网络教学学报(上旬刊), 2021, (08): 116-118.
[16]张莹. 以专业需求为导向的大学数学教学改革研究——以沧州交通学院为例 [J]. 科教文汇(中旬刊), 2021, (20): 72-74.
[17]朱秀娟,马艳丽. 市场需求导向下校企合作综合外贸型英语人才培养模式研究与实践——以沧州交通学院为例 [J]. 现代英语, 2021, (06): 124-126.
[18]周可,芦明. 移动端校园兼职平台的设计与实现 [J]. 福建电脑, 2020, 36 (09): 96-98. [19]石海芹. 劳模、大国工匠将进校园担任兼职辅导员 [J]. 工会博览, 2020, (24): 8-9.
[20]李方良,郝雨萱,温雅欣等. 双创背景下校园兼职平台模式的优化研究 [J]. 农家参谋, 2020, (04): 290.
致 谢
在论文即将画上句号之际,我深感自己的毕业设计已圆满完成,这标志着我的大学生活即将告一段落。在即将告别敬爱的老师和亲爱的同学们之际,我想借此机会向他们表达我由衷的感谢。
首先,我要向所有老师致以崇高的敬意。他们不仅在学业上给予我无私的指导,还在生活中给予我无微不至的关怀。他们的教诲如同春风拂面,使我在知识的海洋中茁壮成长。正是他们的辛勤付出,才有了我今天的成就。
其次,我要特别感谢我的指导老师。在整个毕业设计过程中,他始终发挥着引领作用,每当我遇到困难时,他总是第一时间伸出援手,引导我寻找解决问题的方法,而不是简单地给出答案。这种“授人以渔”的教学方式让我受益匪浅,也让我学会了许多实用的开发技巧和检验方法,为今后的开发工作奠定了坚实的基础。
此外,我还要感谢我的同学们和室友们。他们在我毕业设计的过程中提供了许多宝贵的建议,同时也在大学四年中给予了我无数的帮助和支持。我对他们的感激之情溢于言表,这份深厚的友谊将成为我人生中最宝贵的财富。
最后,我要感谢我的家人和自己。感谢家人对我无条件的支持和鼓励,让我能够勇往直前地追求自己的梦想。同时,也要感谢自己在学业上的坚持和努力,正是这份不懈的奋斗才让我走到了今天。
展望未来,我相信自己的道路会越走越宽广。我会继续努力学习、不断进取,以更加优异的成绩回报所有关心和支持我的人。
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~