随着互联网的快速发展和普及,传统的线下写真馆逐渐面临数字时代的挑战。为了更好地满足用户的需求和提升写真馆的服务质量,写真馆在线管理系统逐渐兴起并与传统写真馆形成了良好的互补关系。网上预约变得越来越日常,出于对企业发展的考虑,诸多写真馆都希望搭建集预约、交流和摄影资源一体的网站。我们找到更优的技术和方法,来降低网站的反应时间和做到提高系统高并发性性能,提升用户的使用体验,降低硬件需求度,能够使用更便宜的硬件进行部署,从而降低网站建设的成本。此写真馆在线管理系统的开发项目是基于SSM框架,数据使用的是MySQL,系统就论题的各类需求分析说明做出解释,然后再就系统的总体设计和详细设计做出论述,给出了系统总体结构的搭建方法,从而满足大部分写真馆在线管理系统的需求。
关键词:写真馆在线管理系统;SSM;MySQL;Java
Abstract
With the rapid development and popularization of the Internet, the traditional offline photo gallery is gradually facing the challenges of the digital era. In order to better meet the needs of users and improve the service quality of photo galleries, the online management system of photo galleries has gradually emerged and formed a good complementary relationship with traditional photo galleries. Online booking has become increasingly routine, and many photo galleries hope to build websites that integrate booking, communication, and photography resources for the sake of business development. We have found better technologies and methods to reduce website response time and improve system high concurrency performance, enhance user experience, reduce hardware requirements, and enable deployment with cheaper hardware, thereby reducing website construction costs. The development project of this photo gallery online management system is based on the SSM framework, using MySQL for data. The system provides explanations for various requirements analysis of the topic, and then discusses the overall and detailed design of the system. The construction method of the system's overall structure is provided to meet the needs of most photo gallery online management systems.
Keywords: Online management system for photo gallery; SSM; MySQL; Java
1 绪论
1.1 研究背景
现下大多数行业都在逐步的将电商信息化带入到自己企业中,其中主要是以电商服务为主导的互联网平台。通过互联网平台的赋能,能够给写真馆行业提供智能化的服务,在为用户提供实质性摄影项目预约帮助的同时,提高自己摄影的服务质量。所以写真馆数字化更加符合时下写真馆行业的需求,更加能适应写真馆行业目前的竞争压力。
在摄影领域,传统的写真馆面临着新的挑战。传统的写真馆通常需要租赁较大的场地,购买各种设备,同时还需要雇佣摄影师和化妆师等人员。这些成本以及运营成本经常是许多小型写真馆难以承担的。与此同时,许多人通过互联网进行摄影师的预约已成为常态。借助互联网平台,摄影师可以更容易地接触到更多的潜在客户,而消费者也可以方便地选择他们需要的摄影师。
针对传统写真馆的困境和互联网摄影服务的兴起,开发一种基于SSM的写真馆在线管理系统应用程序具有很大的潜力。该系统将提供一种全新的方式来运营和管理写真馆,以及与客户进行在线预约和沟通。该系统以“互联网+”服务为模式,在为用户提供在线浏览摄影项目,预约下单的同时,可以帮助写真馆实现销量的突破,同样也可以为写真馆行业的智能化发展做出努力。
研究SSM写真馆在线管理系统的应用具有重要的意义。写真馆是摄影师和客户之间的中介,帮助摄影师展示作品和吸引客户,同时帮助客户寻找合适的摄影师。而SSM是一种用于快速开发的Java框架,可以帮助开发人员快速搭建稳定和可靠的Web应用。
首先,系统将传统手工处理的各项工作流程自动化,如客户信息管理、排期管理、财务管理等,可以节省人力和时间成本,提高工作效率。通过在线平台,客户可以随时随地进行预约和报名,避免了客户需亲自到工作室进行操作的不便,提升用户体验。
系统还可以提供专业的拍摄规划建议和个性化定制服务,通过对客户需求的深入了解,提供更精准、满意的服务。通过系统的资源管理功能,可以实时了解工作室的设备、场地和人员等资源的使用情况,合理分配资源,提高利用率,降低成本。研究本系统还可以对各项数据进行采集和分析,如客户数量、销售额、拍摄类型和风格的偏好等,为工作室的经营决策提供参考依据。
1.3论文结构与章节安排
本文共分为六章,章节内容安排如下:
第一章:引言。第一章主要介绍了课题研究的背景和意义,以及本文的研究内容与主要工作。
第二章:系统需求分析。第而章主要从系统的用户、功能等方面进行需求分析。
第三章:系统设计。第三章主要对系统框架、系统功能模块、数据库进行功能设计。
第四章:系统实现。第四章主要介绍了系统框架搭建、系统界面的实现。
第五章:系统测试。第五章主要对系统的部分界面进行测试并对主要功能进行测试
2 写真馆在线管理系统系统分析
系统需求分析是系统开发的一个关键环节,它在系统的设计和实现上起到了一个承上启下的位置。系统需求分析是对所需要做的系统进行一个需求的挖掘,如果分析的准确可以精准的解决现实中碰到的问题。如果分析不到位会影响后期系统的实现。一个系统的优秀程度需求分析也是占据了非常大的比例,如果需求分析不到位,后面的系统设计要实现就是一个偏离导航的设计。
2.1 可行性分析
2.1.1 技术可行性分析
基于SSM的写真馆在线管理系统存储所使用的是MySQL数据库以及开发中所使用的是IDEA、Tomcat这些开发工具的使用,能够给我们的编写工作带来许多的便利。用JSP技术来实现动态的页面,嵌入低依赖性的设计模式,灵活的数据库,配合稳定的服务器,整个系统的运行效率大大提升。由此可见,在技术层面达成目标不是问题。目前SSM框架也是很多用户选择的框架之一。
2.1.2 经济可行性分析
从经济可行性上看项目在开发阶段需要一台开发PC,在生产阶段需要web服务器和数据库服务器。一台个人PC从经济上来看也不是太多问题,在后期的系统部署生产上来说,服务器的投入也不会过高,在经济层面上是一个比较可行的。
此次项目设计的时候我参考了很多类似系统的成功案例,对它们的操作界面以及功能都进行了系统的分析,将众多案例结合在一起,突出以人为本简化操作,所以具有基本计算机知识的人都会操作本项目。因此操作可行性也没有问题。
2.2 系统功能分析
写真馆在线管理系统我划分为了用户管理模块和管理员模块两大部分。
普通用户管理模块:
(1)用户注册登录:用户注册为正式用户并登录写真馆在线管理系统。
(2)查看写真馆在线管理系统的首页信息:写真馆在线管理系统的首页信息包含了首页、通知公告、套餐资讯、摄影项目、留言反馈、我的账户、个人中心等。
(3)通知公告:在前台点击“通知公告”这一菜单按钮以后就会进入到通知公告界面。
(4)套餐资讯:在前台点击“套餐资讯”按钮进入套餐资讯列表,可以输入关键词进行查询套餐资讯信息,并且可以对查看的套餐资讯进行评论、收藏、点赞操作。
(5)摄影项目:用户可以查看摄影项目,支持通过搜索关键词的方式对摄影项目进行查询,在查询到自己想要了解的摄影项目的时候,可以进入查看详细的介绍,可以查看到项目名称、项目类型、项目价格、介绍视频、项目介绍等信息,并且可以对查看的摄影师进行预约下单、点赞、收藏和评论操作。
(6)留言反馈:用户点击留言反馈菜单可以进入到留言信息填写页面,根据页面提示输入留言内容点击提交即可。
(7)我的账户:在前台点击“用户名称”下面的“我的账户”可以对个人资料+密码修改进行管控。
(8)个人中心:当用户点击右上角“个人中心”这个按钮,就会进入到对应的后台进行信息的管理了。用户在前台点击“个人中心”可以对个人首页、订单信息、成品信息、留言反馈、收藏进行管理。
后台管理员管理模块:
(1)登录:管理员在后台可以输入用户名+密码进行登录,管理员的用户名和密码是在数据库中直接设定好的。
(2)系统用户:管理员可以对写真馆在线管理系统平台中的管理员和普通用户进行增删改查。
(3)摄影项目管理:管理员可以对写真馆在线管理系统平台中的摄影项目进行发布和维护,也可以管理用户提交的评论信息。
(4)项目类型管理:点击“项目类型管理”系统会把写真馆在线管理系统当中所有的项目类型信息都显示出来,管理员可进行添加项目类型和类型描述管理,并可进行查询、重置或删除等相应操作。
(5)订单信息管理:管理员点击“订单信息管理”菜单可以查看前台用户提交的所有的摄影预约订单信息列表,可以进行审核回复。
(6)成品信息管理:管理员点击“成品信息管理”菜单可以对用户的成品照片信息进行上传,发送至用户处。
(7)留言反馈管理:管理员点击“留言反馈管理”可以对用户在前台提交的留言反馈信息进行回复。
(8)系统管理:管理员点击“系统管理”菜单可以对首页展示的轮播图进行增删改查。
(9)通知公告管理:管理员点击“通知公告管理”菜单可以查看到系统中的所有通知公告信息,对已经存在的通知公告,管理员可以修改,也可以添加新的通知公告或者删除通知公告。
(10)资源管理:管理员可以对写真馆在线管理系统前台展示的套餐资讯以及套餐资讯所属的分类进行管控。
(11)权限管理:管理员可以对系统所有用户的使用权限进行用户组设置。
写真馆在线管理系统的非功能性需求比如写真馆在线管理系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下2-1表格中:
表2-1写真馆在线管理系统非功能需求表
安全性 | 主要指写真馆在线管理系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指写真馆在线管理系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响写真馆在线管理系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着写真馆在线管理系统的页面展示内容进行操作,就可以了。 |
可维护性 | 写真馆在线管理系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
2.3 系统用例分析
写真馆在线管理系统的完整UML用例图分别是图2-1和图2-2。
普通用户角色用例如图2-1所示。
图2-1 写真馆在线管理系统普通用户角色用例图
管理员角色用例如图2-2所示。
2.4.1 数据流程
开发写真馆在线管理系统最主要的一个目的就是实现用户对摄影项目的预约下单,图2-3就是系统的数据流图。
图2-3预约下单操作展开图
2.4.2 业务流程
分析完写真馆在线管理系统的数据流,那么接下来我们来看系统的业务流程,图2-4就是业务流程图:
2.5本章小结
本章主要通过对写真馆在线管理系统的可行性分析、功能需求分析、系统用例分析、系统流程分析,确定整个写真馆在线管理系统要实现的功能。同时也为写真馆在线管理系统的代码实现和测试提供了标准。
本章主要讨论的内容包括写真馆在线管理系统的功能模块设计、数据库系统设计。
3.1 系统模块设计
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本写真馆在线管理系统中的用例。那么接下来就要开始对本写真馆在线管理系统的架构、主要功能和数据库开始进行设计。写真馆在线管理系统根据前面章节的需求分析得出,其总体设计模块图如图3-1所示。
图3-1 写真馆在线管理系统功能模块图
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
3.2.1 数据库概念结构设计
下面是整个写真馆在线管理系统平台中主要的数据库表总E-R实体关系图。
![](https://i-blog.csdnimg.cn/direct/1ecdfd8e541548e899f749776a3a9351.png)
图3-2 写真馆在线管理系统总E-R关系图
通过上一小节中写真馆在线管理系统平台中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 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 | 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: |
表finished_product_information (成品信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | finished_product_information_id | int | 10 | 0 | N | Y | 成品信息ID | |
2 | order_number | varchar | 64 | 0 | Y | N | 订单编号 | |
3 | entry_name | varchar | 64 | 0 | Y | N | 项目名称 | |
4 | project_type | varchar | 64 | 0 | Y | N | 项目类型 | |
5 | user_information | int | 10 | 0 | Y | N | 0 | 用户信息 |
6 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
7 | contact_phone_number | varchar | 64 | 0 | Y | N | 联系电话 | |
8 | finished_accessories | varchar | 255 | 0 | Y | N | 成品附件 | |
9 | finished_product_remarks | text | 65535 | 0 | Y | N | 成品备注 | |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | 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 | message_feedback_id | int | 10 | 0 | N | Y | 留言反馈ID | |
2 | feedback_title | varchar | 64 | 0 | Y | N | 反馈标题 | |
3 | user_information | int | 10 | 0 | Y | N | 0 | 用户信息 |
4 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
5 | feedback_content | text | 65535 | 0 | Y | N | 反馈内容 | |
6 | manage_replies | text | 65535 | 0 | Y | N | 管理回复 | |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | order_information_id | int | 10 | 0 | N | Y | 订单信息ID | |
2 | order_number | varchar | 64 | 0 | Y | N | 订单编号 | |
3 | entry_name | varchar | 64 | 0 | Y | N | 项目名称 | |
4 | project_type | varchar | 64 | 0 | Y | N | 项目类型 | |
5 | project_price | varchar | 64 | 0 | Y | N | 项目价格 | |
6 | user_information | int | 10 | 0 | Y | N | 0 | 用户信息 |
7 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
8 | contact_phone_number | varchar | 64 | 0 | Y | N | 联系电话 | |
9 | appointment_date | date | 10 | 0 | Y | N | 预约日期 | |
10 | appointment_remarks | text | 65535 | 0 | Y | N | 预约备注 | |
11 | order_status | varchar | 64 | 0 | Y | N | 订单状态 | |
12 | order_reply | text | 65535 | 0 | Y | N | 订单回复 | |
13 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
14 | pay_type | varchar | 16 | 0 | Y | N | 支付类型: 微信、支付宝、网银 | |
15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | photography_project_id | int | 10 | 0 | N | Y | 摄影项目ID | |
2 | entry_name | varchar | 64 | 0 | Y | N | 项目名称 | |
3 | project_type | varchar | 64 | 0 | Y | N | 项目类型 | |
4 | project_price | varchar | 64 | 0 | Y | N | 项目价格 | |
5 | introduction_video | varchar | 255 | 0 | Y | N | 介绍视频 | |
6 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
7 | project_introduction | longtext | 2147483647 | 0 | Y | N | 项目介绍 | |
8 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
9 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | project_type_id | int | 10 | 0 | N | Y | 项目类型ID | |
2 | project_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 | regular_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | contact_phone_number | varchar | 16 | 0 | Y | N | 联系电话 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
整个写真馆在线管理系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
4 写真馆在线管理系统详细设计与实现
写真馆在线管理系统的详细设计与实现主要是根据前面的写真馆在线管理系统的需求分析和写真馆在线管理系统的总体设计来设计页面并实现业务逻辑。主要从写真馆在线管理系统界面实现、业务逻辑实现这两部分进行介绍。
4.1前台用户功能模块
4.1.1 前台首页界面
在写真馆在线管理系统的前台首页界面上采用了上+中+下的方式来布局界面,上面是导航栏,下面是轮播图,下面依次是套餐资讯和摄影项目推荐,其主界面展示如下图4-1所示。
图4-1 前台首页界面图
4.1.2 用户注册界面
不是写真馆在线管理系统平台中正式用户的是可以在线进行注册的,当填写上自己的账号+密码+用户姓名+年龄再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可会员注册成功。其用会员注册界面展示如下图4-2所示。
图4-2 前台用户注册界面图
注册关键代码如下所示。
@PostMapping("register")
public Map<String, Object> signUp(HttpServletRequest request) throws IOException {
Map<String, String> query = new HashMap<>();
Map<String,Object> map = service.readBody(request.getReader());
query.put("username",String.valueOf(map.get("username")));
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, "用户已存在");
}
map.put("password",service.encryption(String.valueOf(map.get("password"))));
service.insert(map);
return success(1);
}
4.1.3 用户登录界面
写真馆在线管理系统平台中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当会员输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到写真馆在线管理系统的首页中;否则将会提示相应错误信息,用户登录界面如下图4-3所示。
图4-3用户登录界面图
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
QueryWrapper wrapper = new QueryWrapper<User>();
Map<String, String> map = new HashMap<>();
当用户点击写真馆在线管理系统平台中导航栏上的“套餐资讯”后将会进入到该“套餐资讯”列表的界面,然后选择想要看的套餐资讯,点击进入到详细界面,在详细界面可以收藏+赞+评论等操作。套餐资讯界面如下图所示。
图4-4套餐资讯界面图
4.1.5 摄影项目界面
当访客在摄影项目列表点击任意摄影项目后将会进入该摄影项目的详情界面,可以了解到该摄影项目的项目名称、项目类型、项目价格、介绍视频、项目介绍等,同时可以对该摄影师进行预约下单、点赞、收藏、评论,摄影项目展示页面如下图所示。
图4-5 摄影项目界面图
当访客在摄影项目详情点击“预约下单”按钮,将会进入到预约信息填写界面,填写提交之后完成对摄影项目的预约,生成订单信息单。预约下单页面如下图所示。
图4-6预约下单界面图
4.1.7 留言反馈界面
当用户点击前台“留言反馈”按钮后可以按提示发布留言内容信息,填写完后点击提交按钮,管理员会在后台对留言内容进行审核回复。留言反馈填写界面如下图4-7所示。
图4-7 留言反馈界面图
4.1.8 普通用户个人中心界面
当用户点击右上角“我的”这个按钮,会出现子菜单,点击“个人中心”可以对个人首页、订单信息、成品信息、留言反馈、收藏进行设置管理。用户个人中心界面如下图所示。
![](https://i-blog.csdnimg.cn/direct/055da67686d94768b68bc16b4ecda111.png)
图4-8用户个人中心界面图
4.2管理员功能模块
4.2.1 系统用户界面
写真馆在线管理系统平台中的管理人员是可以对前台注册的用户和管理员进行管理。系统用户管理界面如下图所示。
图4-9系统用户管理界面图
4.2.2 摄影项目管理界面
写真馆在线管理系统平台中的管理人员是可以对写真馆在线管理系统内的不同项目分类下的摄影项目进行维护和管理的,支持查看到各个摄影项目的评论情况以及添加+删除摄影项目。摄影项目管理界面如下图所示。
图4-10摄影项目管理界面图
写真馆在线管理系统平台中的管理人员在“系统管理”这一菜单下是可以对写真馆在线管理系统内的轮播图进行添加修改的,其管理界面如下图所示。
图4-11系统管理界面图
4.2.4通知公告管理界面
在主页左侧菜单栏中点击“通知公告管理”按钮,点击“新增公告”按钮,进入到新增公告界面。在此处公告可以添加公告的名称、内容方式。通知公告管理界面如下图所示。
图4-12通知公告管理界面图
4.2.5资源管理界面
管理员点击“资源管理”菜单能够对其下子菜单套餐资讯和套餐资讯的分类进行增删改查。资源管理界面如下图所示。
图4-13资源管理界面图
5系统测试
5.1 系统测试用例
系统测试包括:用户登录功能测试、用户注册功能测试、摄影项目展示功能测试、摄影项目添加功能测试,如表5-1、5-2、5-3、5-4所示:
表5-1 用户登录功能测试表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
用户登录模块测试 | 正确输入用户信息,用户成功登录 | 输入用户的信息 | 1.在密码框输入用户密码。2.点击登录 | 跳转到首页 | 正确 |
用户注册功能测试:
表5-2 用户注册功能测试表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
用户注册模块测试 | 正确输入用户星系,完成用户注册 | 输入用户的基本信息 | 在注册页面填写用户相应的信息,然后点击“注册”按钮。 | 提示成功并跳转到登录界面 | 正确 |
用户注册模块测试 | 用户注册失败 | 用户两次输入密码不一致 | 用户在注册页面填写信息时不填写用户名然后点击“注册”按钮。 | 注册失败提示用户名不能为空 | 正确 |
摄影信息展示界面测试:
表5-3 摄影项目展示界面测试表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
摄影项目功能模块测试 | 摄影项目正常的显示 | 浏览摄影项目 | 在前台首页选择一个写真馆进入分类列表,然后选择一个摄影师 | 进入该摄影师的详细信息界面 | 正确 |
管理员添加摄影项目功能测试:
表5-4 管理员添加摄影项目功能测试表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
管理员添加摄影项目功能测试 | 添加摄影项目成功的情况 | 输入新摄影师的基本信息 | 后台选择“发布摄影师”选项,然后填写新摄影师基本信息点击“添加”按钮 | 新摄影师添加成功 | 正确 |
管理员添加摄影项目功能测试 | 添加摄影项目失败的情况 | 输入摄影师基本信息不完全 | 后台选择“发布摄影师”选项,然后不完全填写摄影项目,点击“添加”按钮。 | 对应信息框后出现提示请输入XXXX信息 | 正确 |
管理员添加摄影项目功能测试 | 添加摄影项目失败的情况 | 管理员在价格框输入非数字字符 | 后台选择“发布摄影师”选项然后再价格框输入非数字字符,点击“添加”按钮。 | 添加失败,提示“价格必须时货币格式!” | 正确 |
通过编写写真馆在线管理系统的测试用例,已经检测完毕用户登录模块、用户注册模块、摄影项目展示模块、摄影项目添加模块功能测试,通过这4大模块为写真馆在线管理系统的后期推广运营提供了强力的技术支撑。
本文总结了写真馆在线管理系统实现背景与现状,然后阐述了系统的具体业务需求,并根据系统需求对系统结构以及功能模块等进行了详细地设计,将整个系统划分为多个不同的功能模块。在分析系统功能需求时,对整个系统的总体架构以及功能模块等进行了分析,并选择合适的系统开发技术完成了对各个模块的开发工作。系统开发完成之后进行了部署,同时进行了系统的测试过程,通过测试证明了系统在功能以及性能等方面都达到了预期的要求,具有较高的稳定性与可靠性。
在本次开发写真馆在线管理系统平台中,利用了JavaScript前端页面技术,以及数据库管理功能MySQL,最后配合使用到SSM框架进行系统界面的布置,以现实生活的写真馆摄影服务管理过程为标准,设计实现了首页、通知公告、套餐资讯、摄影项目、留言反馈等功能,并维护好后台的信息和整体系统的稳定性。
但是由于作者受到了技术水平的限制,在有限的时间,只能够将系统功能模拟时的功能实现,在许多功能方面仍然存在很大的弊端,而这些弊端需要不断的测试,不断的总结,不断的改进。例如本次系统设计中,在数据储存的方面并不够全面,很容易出现信息泄露的风险;例如针对用户权限的设置同样不够全面完整,没有考虑权限在实际情况的运用是否能够完美执行。而在这之后的日子里,作者将会继续学习SSM和相关的信息技术,对系统功能进行更加完整的,详细的分析,将系统功能一一进行完善,帮助使用者完成相应的操作。
[1]韩小龙,司珍,吕晓峰等.基于面向对象编程的Java语言程序设计方法分析[J].集成电路应用,2024,41(01):228-229.DOI:10.19339/j.issn.1674-2583.2024.01.103.
[2]郭佳宁,周伟.面向“互联网+”的旅游景区智能预约系统设计与实现[J].智能计算机与应用,2024,14(01):106-111.
[3]袁琳琳.计算机软件Java编程特点及技术分析[J].数字通信世界,2023,(12):87-89.
[4]马庆.计算机软件开发中JAVA编程语言的应用[J].山西电子技术,2023,(06):84-86+98.
[5]Photo Property offers top-quality property photography services for over a decade[J].M2 Presswire,2023,
[6]尚休新,李长瑞.统一预约管理系统的设计[J].自动化应用,2023,64(08):21-23.
[7]张浩.SSM框架在Web应用开发中的设计与实现研究[J].电脑知识与技术,2023,19(08):52-54.DOI:10.14004/j.cnki.ckt.2023.0353.
[8]Aura Photo Pros Launches Innovative Aura Photography Services for Event Planners Nationwide[J].M2 Presswire,2023,
[9]王棋.基于SSM框架的网上摄影系统设计与实现[J].电子质量,2022,(10):89-93.
[10]林加论,万正鑫,李晓玲等.院外医护服务预约平台设计及实现[J].软件工程,2022,25(05):50-55.DOI:10.19644/j.cnki.issn2096-1472.2022.005.012.
[11]S L C K ,Mira D ,Gabriella G , et al.Creating a secure clinical 'Bring Your Own Device' BYOD photography service to document and monitor suspicious lesions in the lid oncology clinic.[J].Eye (London, England),2022,37(4):744-750.
[12]许跃颖.基于敏捷开发的SSM Web应用开发措施[J].电子制作,2021,(16):45-46+22.DOI:10.16589/j.cnki.cn11-3571/tn.2021.16.016.
[13]金馨.基于SSM的宠物店线上运营系统的设计与实现[D].首都经济贸易大学,2021.DOI:10.27338/d.cnki.gsjmu.2021.000769.
[14]Starts360 Introduces Top-notch Professional Photography Service for Chennai Area[J].M2 Presswire,2021,
[15]戴素素.婚礼定制化旅拍摄影艺术发展现状探究[J].当代旅游,2021,19(09):51-53.
[16]任方针,王秀友.基于SSM的体检预约系统设计与实现[J].电脑知识与技术,2020,16(34):10-13.DOI:10.14004/j.cnki.ckt.2020.3865.
[17]李步官,潘志宏,张东源等.基于微服务架构的预约摄影平台的设计与实现[J].电脑知识与技术,2020,16(31):26-30.DOI:10.14004/j.cnki.ckt.2020.3562.
[18]杨泽平,梁伟,陈浩等.基于SSM的实验课程预约管理系统[J].物联网技术,2020,10(09):106-108+110.DOI:10.16667/j.issn.2095-1302.2020.09.031.
[19]邱丹萍.Web开发中SSM框架的分析[J].电脑知识与技术,2020,16(17):81-82.DOI:10.14004/j.cnki.ckt.2020.2080.
[20]Research and Markets; Global Photographic Services Market Insights and COVID-19 Impact Recovery 2020-2030 - ResearchAndMarkets.com[J].Medical Letter on the CDC FDA,2020,
写真馆在线管理系统系统的完成,标志着我即将结束在学院的校园生活并跨入社会。在即将毕业的此刻,我想对所有帮助过我的师长、同学和亲人表达我发自内心的谢意。
感谢学校这个大家庭,在这里我们总能找到自己的归属。学校始终在向我们传达着温暖和关怀,接纳和包容我们的缺点。学校给我最大的感受便是要将自己的专业知识与实践相结合,而我也正在努力的成为学校所要求的应用型人才。
感谢各位老师,学院使我从懵懂一步步走向成熟。在这里每个老师都拥有着最大的善意和耐心,来教育我们这群大孩子。学院举办的各类活动是给予我锻炼自己的机会,正是这些机会让我成为了更好的自己,提升了自己各方面的能力。
其次我要感谢我的论文指导老师。我之所以被老师所吸引,是因为老师对于学生友爱和对于工作认真的态度。从选题到开题到论文的撰写,老师一直都在悉心的指导,在指出存在的问题后会与我们探讨解决方法。
最后,我要对即将参与本篇论文审阅和答辩的各位老师表示感谢。
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~