(附源码)SSM动漫展示系统的开发-计算机毕设 25452
SSM动漫展示系统的开发
摘 要
21世纪,全球网络化,科技在突飞猛进。我们的生活也随之发生了极大的变化。随着计算机的普及,我们社会和经济生活中的各个领域也在发生改变。人们进行信息交流的深度与广度在不断增加,这使得传统的行业模式也要跟随时代的步伐,为用户提供更加便捷、个性化的服务。电子商务在此得到了极大的普及与发展。在全球网络化的浪潮之下,万事万物都在进军网络行业,特别是--些大品牌早就全面进入了网络化、全球化。而在动漫行业目前还一直处于上升趋势的如今,动漫系统网站也一定会再进一步。
本文研究开发的“SSM动漫展示系统”主要通过对平台的前台和后台管理进行了功能性需求分析,对系统的安全性和可扩展性进行了非功能性需求分析。在详细的需求分析的基础上,根据系统的功能设计确定了数据库结构,实现完整的代码编写。动漫展示系统完成了系统的主要模块的页面设计和功能实现。本文展示了首页页面的实现效果图,并通过代码和页面介绍了用户注册功能、动漫网站、动漫节日、动画展示、动漫资讯、动漫交流、周边商城和商品购买、在线支付、订单管理等功能的实现过程。
关键词:动漫展示;SSM框架;周边商城
Development of SSM animation display system
Abstract
In the 21st century, with global networking, science and technology are advancing by leaps and bounds. Our lives have also undergone great changes. With the popularity of computers, various fields of our social and economic life are also changing. The depth and breadth of people's information exchange are increasing, which makes the traditional industry model to follow the pace of the times and provide users with more convenient and personalized services. E-commerce has been greatly popularized and developed here. Under the tide of global networking, everything is entering the network industry, especially -- some big brands have already entered the network and globalization. Now that the animation industry is still on the rise, the animation system website will certainly go further.
The "SSM animation display system" researched and developed in this paper mainly analyzes the functional requirements of the platform's foreground and background management, and the non-functional requirements of the system's security and scalability. On the basis of detailed requirements analysis, the database structure is determined according to the functional design of the system to achieve complete code writing. The shopping mall around the game has completed the page design and function realization of the main modules of the system. This article shows the implementation effect of the home page, and introduces the implementation process of user registration function, animation website, animation festival, animation display, animation information, animation exchange, surrounding shopping malls and commodity purchase, online payment, order management and other functions through the code and page.
Key words:Animation display; SSM framework; Surrounding shopping malls
目 录
(二)框架介绍
在如今这个庞大的互联网市场下,网络早已深入到人们的生活的方方面面,与人们密不可分了。通过互联网这个让信息快速传递的平台,人人都可以做到足不出户而知天下事的地步。而在如今这个社会,信息就代表着价值,没有无用之物。就如同古代的牙人,现代的中介等职业者。信息就是一切的关键。而通过这个网站,不仅收获大量的动漫视频信息,还可以通过用户评论等功能获取用户的需求等。这些信息都是有价值的。如今有人说是大数据时代,许多像阿里巴巴,腾讯之类的知名公司都在制造自己的大数据库,而大数据库中所保存的就是这些信息。所以在网络.上,信息就是一切,它才是最宝贵的财富。从效益上来讲,之前就说了,爱好动漫的人是一个非常庞大的群体,数量十分巨大。如果可以把网站做大做强的话,那么用户量绝对会非常可观。在如今的互联网时代,如果拥有大量的用户的话,经济效益必然会呈直线增长,就好比抖音,快手之类的。
信息技术光速发展的今天,存在无穷的机遇,但与此同时,在现在这样的大环境之下,依靠人力的双手来进行的动漫商品在线交易模式基本已经不能够满足企业运营和管理的要求了,也就是说,传统的动漫商品交易模式不只是不能够满足企业的发展,更圆圆漫步不了现在生活和社会发展趋势的基本要求。在互联网还没有现今如此发达和普及的早期,动漫商品的交易都处理完全依靠的使人工的操作,但是在信息时代中,生活的节奏不断加快,社会的变迁使人叹为观止,传统的动漫商品交易系统已经完全跟不上步伐了,迟早被时代所淘汰。需要经过诸多手续,并且整个过程都要通过手工操作的传统的动漫商品交易信息管理效率实在太过低下,根本就满足不了企业对巨量的动漫商品交易信息的统计和处理了。同时,交易过程之中产生的关系有及其复杂,各个单位处理信息的方式方法各不相同,极容易出现信息的遗漏或是重复问题。
- 国内外动漫发展现状
日本的动漫产业蓬物发展,已成为其第三大产业。日本国内的动画市场不断扩张,规模已经突破2000亿日元,国际市场上日本动漫亦是风生水起展露异彩,2003年销往美国的日本动画片以及相关产品的总收入为43.59亿美元。日本动漫产业成功的原因是多方面的,包括动漫作品广泛的社会基础。运行良好的产品开发投资模式。拥有顶尖级的动漫大师和制作机构、政府的支持等。
在2017年时中国在线动漫用户规模就已经达到了达到1.63亿多,即使以中国那庞大的人口基数来看,基本也是每十个人中就有两个人是动漫的用户,身为其中的一员。这数量庞大的用户群体为中国的动漫产业的发展带来巨大的刺激与需求市场。而在如今的互联网时代,网络本身就是动漫的发布平台之一。
(一)开发技术
本系统前端部分基于MVVM模式进行开发,采用B/S模式,后端部分基于Java的ssm框架进行开发。
前端部分:前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型,项目前端通过栅格布局实现响应式,可适应PC端、平板端、手机端等不同屏幕大小尺寸的完美布局展示。
后端部分:采用ssm作为开发框架,同时集成MyBatis、Redis等相关技术。
(二)ssm框架介绍
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。
1.6.1 Spring
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。
1.6.2 SpringMVC
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
1.6.3 mybatis
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。
- MySQL数据库
用MySQL这个软件,是因为它能接受多个使用者访问,而且里面存在Archive等。它会先把数据进行分类,然后分别保存在表里,这样的特别操作就会提高数据管理系统自身的速度,让数据库能被灵活运用。MySQL的代码是公开的,而且允许别人二次编译升级。这个特点能够降低使用者的成本,再搭配合适的软件后形成一个良好的网站系统。虽然它有缺点,但是综合各方面来说,它是使用者的主流运用的对象。
- B/S结构
B/S(Browser/Server)比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题。
- B/S体系工作原理
B/S架构采取浏览器请求,服务器响应的工作模式。
用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;
而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;
从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。
在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式。
- ssm框架各层关系
DAO层、Service层这两个层次都可以单独开发,互相的耦合度很低,完全可以独立进行,这样的一种模式在开发大项目的过程中尤其有优势。
Controller,View层因为耦合度比较高,因而要结合在一起开发,但是也可以看作一个整体独立于前两个层进行开发。这样,在层与层之前只需要知道接口的定义,调用接口即可完成所需要的逻辑单元应用,一切显得非常清晰简单。
- JavaScript 运行模式
JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。
1.8.1是一种解释性脚本语言(代码不进行预编译)。
1.8.2主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。
1.8.3可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。
1.8.4跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
1.8.5 JavaScript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。JavaScript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。
本系统将在经济、技术、操作这三个角度上进行可行性分析。
整个系统从设计到开发以及测试过程严谨步骤齐全,所有工作任务全部由本人完成,并未获取外部技术支持,节约了一切服务成本开销以及人工成本,在硬件方面,为节约成本使用一台二手移动工作站作为项目部署服务器以及数据库服务器,成本在一万元一下,真个网络部署也是由本人独立完成不涉及到其他人工费用,整个开发过程本着低成本,低消耗的原则。
技术可行性分析的目的是确认该系统能否利用现有技术实现,并评估开发效率和完成情况。技术的可行性是指在当前的技术条件下,计算机软件和硬件的开发是否能够满足发展的要求。因为该系统的开发基于Java语言,所以开发该系统所需的软件和硬件条件可以在普通计算机上满足。因为它占用的内存相对较少,所以用Mysql数据库开发和设计软件理论上没有问题,因为它占用的内存太少。上述技术可以有效地保证系统的成功和高效开发。
动漫展示系统的使用界面简单易于操作,采用常见的界面窗口来登录界面,通过电脑进行访问操作,用户只要平时使用过电脑都能进行访问操作。此系统的开发采用Java技术开发,人性化和完善化是B/S结构开发比较显要的特点使得用户操作相比较其他更加简洁方便。易操作、易管理、交互性好在本系统操作上体现得淋漓尽致。
前台需求:
(1)用户模块:主要包括用户的注册和登陆、用户个人信息管理等功能。
(2)周边商城模块:主要包括商品信息浏览、商品信息展示、商品搜索、商品购买等功能。
(3)动漫资讯模块:主要可以进行资讯标题以及内容的浏览以及查看等功能。
(4)订单模块:主要包括生成订单、我的订单、查看订单详细信息、在线支付等功能。
(5)地址添加模块:主要包括用户的订单收货地址的添加保存等。
(6)动漫网站模块:主要是动漫网站的展示。
(7)动漫节日模块:主要用于动漫节日信息的展示。
(8)动画展示模块:主要展示动画名称、动画分类、动画作者、动画视频的观看。
后台需求:
(1)用户管理:主要包括用户列表、用户等级管理等功能。
(2)周边商城管理:主要包括商品列表、商品类目管理、商品添加、商品信息管理等功能。
(3)动漫资讯管理:主要包括动漫资讯信息的发布等功能。
(4)分类列表管理:主要包括商品分类管理。
(5)订单管理:审核用户的购买订单信息。
(6)动漫网站管理:发布动漫网站信息等。
(7)动漫节日管理:发布动漫节日介绍等。
(8)动画展示管理:对动画视频、图片等进行上传以及发布。
用户用例图如下所示。
图1 用户用例图
管理员用例图如下所示。
图2 管理员用例图
商品添加用例描述如下表所示。
表1商品添加用例描述
用例名称 |
添加新商品 |
|
参与者 |
管理员 |
|
用例概述 |
本用例用于管理员进行添加新商品操作 |
|
前置条件 |
管理员添加新商品前必须登录系统 |
|
后置条件 |
系统中添加一个新商品 |
|
基本事件流 |
参与者动作 |
系统响应 |
4、管理员填写新商品信息,点击“添加”按钮。 |
2、系统打开添加新商品界面。 3、系统检查管理员输入的商品信息是正确有效的。 5、系统将商品添加到数据库中。 6、系统提示“操作成功”。 7、系统跳转到商品管理界面。 |
|
其他事件流 |
1、系统验证管理员输入的商品名为空,则提示“*请填写商品名称!”。 2、系统验证管理员输入的价格不是数字格式,则提示“*价格必须是数字格式!” |
商品删除用例描述如下表所示。
表2商品删除用例描述
用例名称 |
删除商品 |
|
参与者 |
管理员 |
|
用例概述 |
本用例用于管理员进行删除商品操作 |
|
前置条件 |
管理员删除商品前必须登录系统 |
|
后置条件 |
系统中删除一个商品 |
|
基本事件流 |
参与者动作 |
系统响应 |
1、管理员在后台主界面选择“商品管理”。 4、管理员选择一个商品,点击“删除”按钮。 6、管理员点击“确定”按钮。 |
2、系统从数据库中获取商品信息列表 3、系统打开商品列表界面。 5、系统提示“你确定要删除吗?”。 7、系统将商品从数据库中删除。 8、系统提示“删除成功”。 9、系统跳转到商品管理界面。 |
|
其他事件流 |
无 |
用户编辑用例描述如下表所示。
表3用户编辑用例描述
用例名称 |
修改用户 |
|
参与者 |
管理员 |
|
用例概述 |
本用例用于管理员进行修改用户信息操作 |
|
前置条件 |
管理员已经登录系统 |
|
后置条件 |
系统中更新一条用户记录 |
|
基本事件流 |
参与者动作 |
系统响应 |
1、管理员在后台主界面选择“用户管理”。 4、管理员在用户列表中选择一个用户,点击“编辑”按钮。 6、管理员填写用户信息,点击“保存修改”按钮。 |
2、系统从数据库中获取用户信息。 3、系统打开用户列表界面。 5、系统打开修改用户信息界面。 7、系统将更改后的添加到数据库中。 8、系统提示“操作成功”。 9、系统跳转到用户管理界面。 |
|
其他事件流 |
无 |
商品购买用例描述如下表所示。
表4商品购买用例描述
用例名称 |
商品购买 |
|
参与者 |
用户 |
|
用例概述 |
本用例用于用户进行对商品购买操作 |
|
前置条件 |
用户已经登录系统 |
|
后置条件 |
系统中增加一条用户购买记录 |
|
基本事件流 |
参与者动作 |
系统响应 |
1、用户在前台首页选择任意一个商品分类。 4、管理员在用户列表中选择一个商品。 7、用户填写购买订单,点击“购买”按钮。 |
2、系统从数据库中获取商品列表信息。 3、系统打开商品列表界面。 5、系统从数据库中获取商品信息。 6、系统打开商品信息及购买界面。 8、系统检查用户输入的信息是正确有效的。 9、系统将购买记录添加到数据库中。 |
|
其他事件流 |
1、系统验证用户输入的字段为空,则提示“*购买数量不能为空!”。 |
随着用户量的增加,系统可能会需要同时服务上千、上万个页面,服务器需要同时响应大量用户的操作,这就要求系统需要有良好的可扩展性,否则系统会出现延迟,卡顿甚至服务器崩溃的问题。高扩展性可以使软件保持旺盛的生命力,同时也能够使系统更好的适应用户增加、提高性能需求、增加应用功能等改变。
系统中保存了大量用户和管理员的个人信息,因此,保证系统服务器和数据安全是在开发过程中需要考虑的重要问题。安全性包括服务器安全、操作系统安全、数据库安全、程序代码安全以及用户个人信息和支付安全等,系统可以通过采用防火墙技术、加密技术、认证技术等来增强其安全性,只有一个健壮安全的系统才能具有长久的生命力。
动漫展示系统的前台中,用户模块和周边商城模块、动漫网站模块进行数据交互,实现购买以及动漫展示的功能。
动漫展示系统的后台中,管理员对用户在前台提交申请产生的数据进行处理,以满足用户的需求。前台系统和后台系统有数据交互,整个系统各个部分相互独立又密不可分。
本系统的设计是基于Java技术+Mysql数据库+Tomcat服务器的方式设计,以Myeclipse10为开发工具,并运用Photoshop CS6技术美化网页,辅之以CSS技术。本系统使用的角色主要有系统管理员和普通用户,系统分为前台和后台,前台主要用于周边商城展示和商品的购买,动漫网站、动漫节日以及动画信息的展示观看,后台用于商城、资讯、订单、动漫信息的管理,首先以普通用户通过账号注册后登录系统前台,可以进行各种信息浏览和搜索,用户可以将需要的商品进行下单购买,用户可以查看动漫网站、动漫节日信息等;以管理员的身份登录系统后台可以进行商品维护、订单管理、动漫网站以及动漫节日介绍的发布等。
系统功能结构图如下所示。
图4-1系统功能结构图
1.用户登录模块:确保用户注册信息的真实度是提高系统效率和盈利的重要因素。真实的用户才能带来价值,注册是保证真实用户使用系统主要业务的第一步,通过对用户注册信息的审核,可防止机器注册。使用现如今较为流行的管理员进行账号激活的验证方式,对用户注册信息进行过滤,未激活用户信息将不能使用系统主要功能。
如下图所示为用户登录流程图。
图4-2用户登录流程图
2.动漫资讯浏览模块:没有登录的用户和登录的用户都可以在系统前台进行动漫资讯浏览,用户可以查看动漫资讯的详细信息,用户还可以通过动漫资讯名称的关键字进行搜索。
如下图所示为动漫资讯浏览流程图。
图4-3动漫资讯浏览流程图
3.订单管理模块:用户购买商品后,填写收货地址、收货人、电话等信息,生成订单信息,管理员可以审核订单,删除、修改订单,对订单信息进行相应的物流信息。
如下图所示为订单管理流程图。
图4-4订单管理流程图
4.动漫资讯管理模块
5.用户管理模块
系统管理员可以对用户信息进行增、删、改、查的操作。
用户对个人添加至购买订单里面的商品进行增删改查等操作。
3.1概念设计
本系统的E-R图表现了系统中各个实体之间的联系,经过分析,系统的实体有周边商城、动漫网站、动漫节日、动画展示、动漫资讯、我的订单等。
订单信息的实体图如下图所示。
图4-6订单信息实体图
用户信息实体图如下图所示。
图4-7用户信息实体图
动画展示的实体图如下图所示。
图4-8动画展示实体图
订单E-R图如下图所示。
图4-9订单E-R图
3.2逻辑设计
Allusers表是系统用户的信息表,存储系统用户真实姓名、性别、年龄、电话、地址、备注、编号、姓名、用户密码以及其相对应的密码等相关信息。
Dingdan表是订单信息表,存储用户的订单的相关信息,其中包括订单号、金额、订单内容、用户名、姓名、邮件地址、邮编、手机、添加时间、是否审核等相关信息。
yonghuzhuce表是用户注册信息表,存储用户的注册信息,其中包括编号、用户名、密码、姓名、性别、出生年月、QQ、邮箱、电话、身份证、头像、地址、备至、折扣等相关信息。
shangpinxinxi表是商品信息表,存储商品内容的信息,其中包括标题、类别、价格、图片、描述、添加时间等相关信息。
3.3表设计
数据库表设计:经过前期的需求分析、可执行分析、数据流分析等各个流程分析,结合软件工程的高内聚、低耦合规则,并考虑到以后的程序功能扩展,设计如下几张表。
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
address_id |
int |
10 |
0 |
N |
Y |
收货地址: |
|
2 |
name |
varchar |
32 |
0 |
Y |
N |
姓名: |
|
3 |
phone |
varchar |
13 |
0 |
Y |
N |
手机: |
|
4 |
postcode |
varchar |
8 |
0 |
Y |
N |
邮编: |
|
5 |
address |
varchar |
255 |
0 |
N |
N |
地址: |
|
6 |
user_id |
mediumint |
8 |
0 |
N |
N |
用户ID:[0,8388607]用户获取其他与用户相关的数据 |
|
7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
9 |
default |
bit |
1 |
0 |
N |
N |
0 |
默认判断 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
animation_festival_id |
int |
10 |
0 |
N |
Y |
动漫节日ID |
|
2 |
festival_name |
varchar |
64 |
0 |
Y |
N |
节日名称 |
|
3 |
types_of_festivals |
varchar |
64 |
0 |
Y |
N |
节日类型 |
|
4 |
holiday_date |
date |
10 |
0 |
Y |
N |
节日日期 |
|
5 |
holiday_days |
int |
10 |
0 |
Y |
N |
0 |
节日天数 |
6 |
festival_location |
varchar |
64 |
0 |
Y |
N |
节日地点 |
|
7 |
ticket_link |
varchar |
255 |
0 |
Y |
N |
门票链接 |
|
8 |
festival_description |
varchar |
64 |
0 |
Y |
N |
节日描述 |
|
9 |
festival_cover |
varchar |
255 |
0 |
Y |
N |
节日封面 |
|
10 |
festival_details |
longtext |
2147483647 |
0 |
Y |
N |
节日详情 |
|
11 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
12 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
13 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
14 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
animation_website_id |
int |
10 |
0 |
N |
Y |
动漫网站ID |
|
2 |
animation_name |
varchar |
64 |
0 |
Y |
N |
动漫名称 |
|
3 |
animation_classification |
varchar |
64 |
0 |
Y |
N |
动漫分类 |
|
4 |
release_date |
date |
10 |
0 |
Y |
N |
发布日期 |
|
5 |
animation_author |
varchar |
64 |
0 |
Y |
N |
动漫作者 |
|
6 |
website_link |
varchar |
255 |
0 |
Y |
N |
网站链接 |
|
7 |
video_clip |
varchar |
255 |
0 |
Y |
N |
片段视频 |
|
8 |
animation_description |
text |
65535 |
0 |
Y |
N |
动漫描述 |
|
9 |
cover_photo |
varchar |
255 |
0 |
Y |
N |
封面图片 |
|
10 |
introduction_to_animation |
longtext |
2147483647 |
0 |
Y |
N |
动漫简介 |
|
11 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
12 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
13 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
14 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
article_id |
mediumint |
8 |
0 |
N |
Y |
文章id:[0,8388607] |
|
2 |
title |
varchar |
125 |
0 |
N |
Y |
标题:[0,125]用于文章和html的title标签中 |
|
3 |
type |
varchar |
64 |
0 |
N |
N |
0 |
文章分类:[0,1000]用来搜索指定类型的文章 |
4 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数:[0,1000000000]访问这篇文章的人次 |
5 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
6 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
7 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
8 |
source |
varchar |
255 |
0 |
Y |
N |
来源:[0,255]文章的出处 |
|
9 |
url |
varchar |
255 |
0 |
Y |
N |
来源地址:[0,255]用于跳转到发布该文章的网站 |
|
10 |
tag |
varchar |
255 |
0 |
Y |
N |
标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 |
|
11 |
content |
longtext |
2147483647 |
0 |
Y |
N |
正文:文章的主体内容 |
|
12 |
img |
varchar |
255 |
0 |
Y |
N |
封面图 |
|
13 |
description |
text |
65535 |
0 |
Y |
N |
文章描述 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
type_id |
smallint |
5 |
0 |
N |
Y |
分类ID:[0,10000] |
|
2 |
display |
smallint |
5 |
0 |
N |
N |
100 |
显示顺序:[0,1000]决定分类显示的先后顺序 |
3 |
name |
varchar |
16 |
0 |
N |
N |
分类名称:[2,16] |
|
4 |
father_id |
smallint |
5 |
0 |
N |
N |
0 |
上级分类ID:[0,32767] |
5 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]描述该分类的作用 |
|
6 |
icon |
text |
65535 |
0 |
Y |
N |
分类图标: |
|
7 |
url |
varchar |
255 |
0 |
Y |
N |
外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 |
|
8 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
auth_id |
int |
10 |
0 |
N |
Y |
授权ID: |
|
2 |
user_group |
varchar |
64 |
0 |
Y |
N |
用户组: |
|
3 |
mod_name |
varchar |
64 |
0 |
Y |
N |
模块名: |
|
4 |
table_name |
varchar |
64 |
0 |
Y |
N |
表名: |
|
5 |
page_title |
varchar |
255 |
0 |
Y |
N |
页面标题: |
|
6 |
path |
varchar |
255 |
0 |
Y |
N |
路由路径: |
|
7 |
position |
varchar |
32 |
0 |
Y |
N |
位置: |
|
8 |
mode |
varchar |
32 |
0 |
N |
N |
_blank |
跳转方式: |
9 |
add |
tinyint |
3 |
0 |
N |
N |
1 |
是否可增加: |
10 |
del |
tinyint |
3 |
0 |
N |
N |
1 |
是否可删除: |
11 |
set |
tinyint |
3 |
0 |
N |
N |
1 |
是否可修改: |
12 |
get |
tinyint |
3 |
0 |
N |
N |
1 |
是否可查看: |
13 |
field_add |
text |
65535 |
0 |
Y |
N |
添加字段: |
|
14 |
field_set |
text |
65535 |
0 |
Y |
N |
修改字段: |
|
15 |
field_get |
text |
65535 |
0 |
Y |
N |
查询字段: |
|
16 |
table_nav_name |
varchar |
500 |
0 |
Y |
N |
跨表导航名称: |
|
17 |
table_nav |
varchar |
500 |
0 |
Y |
N |
跨表导航: |
|
18 |
option |
text |
65535 |
0 |
Y |
N |
配置: |
|
19 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
20 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
cart_id |
int |
10 |
0 |
N |
Y |
购物车ID: |
|
2 |
title |
varchar |
64 |
0 |
Y |
N |
标题: |
|
3 |
img |
varchar |
255 |
0 |
N |
N |
0 |
图片: |
4 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID: |
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
7 |
state |
int |
10 |
0 |
N |
N |
0 |
状态:使用中,已失效 |
8 |
price |
double |
9 |
2 |
N |
N |
0.00 |
单价: |
9 |
price_ago |
double |
9 |
2 |
N |
N |
0.00 |
原价: |
10 |
price_count |
double |
11 |
2 |
N |
N |
0.00 |
总价: |
11 |
num |
int |
10 |
0 |
N |
N |
1 |
数量: |
12 |
goods_id |
mediumint |
8 |
0 |
N |
N |
商品id:[0,8388607] |
|
13 |
type |
varchar |
64 |
0 |
N |
N |
未分类 |
商品分类: |
14 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]用于产品规格描述 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
collect_id |
int |
10 |
0 |
N |
Y |
收藏ID: |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
收藏人ID: |
3 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
4 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
5 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
6 |
title |
varchar |
255 |
0 |
Y |
N |
标题: |
|
7 |
img |
varchar |
255 |
0 |
Y |
N |
封面: |
|
8 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
comment_id |
int |
10 |
0 |
N |
Y |
评论ID: |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
评论人ID: |
3 |
reply_to_id |
int |
10 |
0 |
N |
N |
0 |
回复评论ID:空为0 |
4 |
content |
longtext |
2147483647 |
0 |
Y |
N |
内容: |
|
5 |
nickname |
varchar |
255 |
0 |
Y |
N |
昵称: |
|
6 |
avatar |
varchar |
255 |
0 |
Y |
N |
头像地址:[0,255] |
|
7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
9 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
10 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
11 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
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 |
goods_id |
mediumint |
8 |
0 |
N |
Y |
产品id:[0,8388607] |
|
2 |
title |
varchar |
125 |
0 |
Y |
N |
标题:[0,125]用于产品和html的<title>标签中 |
|
3 |
img |
text |
65535 |
0 |
Y |
N |
封面图:用于显示于产品列表页 |
|
4 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]用于产品规格描述 |
|
5 |
price_ago |
double |
8 |
2 |
N |
N |
0.00 |
原价:[1] |
6 |
price |
double |
8 |
2 |
N |
N |
0.00 |
卖价:[1] |
7 |
sales |
int |
10 |
0 |
N |
N |
0 |
销量:[0,1000000000] |
8 |
inventory |
int |
10 |
0 |
N |
N |
0 |
商品库存 |
9 |
type |
varchar |
64 |
0 |
N |
N |
商品分类: |
|
10 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击量:[0,1000000000]访问这篇产品的人次 |
11 |
content |
longtext |
2147483647 |
0 |
Y |
N |
正文:产品的主体内容 |
|
12 |
img_1 |
text |
65535 |
0 |
Y |
N |
主图1: |
|
13 |
img_2 |
text |
65535 |
0 |
Y |
N |
主图2: |
|
14 |
img_3 |
text |
65535 |
0 |
Y |
N |
主图3: |
|
15 |
img_4 |
text |
65535 |
0 |
Y |
N |
主图4: |
|
16 |
img_5 |
text |
65535 |
0 |
Y |
N |
主图5: |
|
17 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
18 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
19 |
customize_field |
text |
65535 |
0 |
Y |
N |
自定义字段 |
|
20 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
21 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
22 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
23 |
user_id |
int |
10 |
0 |
Y |
N |
0 |
添加人 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
type_id |
int |
10 |
0 |
N |
Y |
商品分类ID: |
|
2 |
father_id |
smallint |
5 |
0 |
N |
N |
0 |
上级分类ID:[0,32767] |
3 |
name |
varchar |
255 |
0 |
Y |
N |
商品名称: |
|
4 |
desc |
varchar |
255 |
0 |
Y |
N |
描述: |
|
5 |
icon |
varchar |
255 |
0 |
Y |
N |
图标: |
|
6 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
7 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
8 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
hits_id |
int |
10 |
0 |
N |
Y |
点赞ID: |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
点赞人: |
3 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
notice_id |
mediumint |
8 |
0 |
N |
Y |
公告id: |
|
2 |
title |
varchar |
125 |
0 |
N |
N |
标题: |
|
3 |
content |
longtext |
2147483647 |
0 |
Y |
N |
正文: |
|
4 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
5 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
order_id |
int |
10 |
0 |
N |
Y |
订单ID: |
|
2 |
order_number |
varchar |
64 |
0 |
Y |
N |
订单号: |
|
3 |
goods_id |
mediumint |
8 |
0 |
N |
N |
商品id:[0,8388607] |
|
4 |
title |
varchar |
32 |
0 |
Y |
N |
商品标题: |
|
5 |
img |
varchar |
255 |
0 |
Y |
N |
商品图片: |
|
6 |
price |
double |
10 |
2 |
N |
N |
0.00 |
价格: |
7 |
price_ago |
double |
10 |
2 |
N |
N |
0.00 |
原价: |
8 |
num |
int |
10 |
0 |
N |
N |
1 |
数量: |
9 |
price_count |
double |
8 |
2 |
N |
N |
0.00 |
总价: |
10 |
norms |
varchar |
255 |
0 |
Y |
N |
规格: |
|
11 |
type |
varchar |
64 |
0 |
N |
N |
未分类 |
商品分类: |
12 |
contact_name |
varchar |
32 |
0 |
Y |
N |
联系人姓名: |
|
13 |
contact_email |
varchar |
125 |
0 |
Y |
N |
联系人邮箱: |
|
14 |
contact_phone |
varchar |
11 |
0 |
Y |
N |
联系人手机: |
|
15 |
contact_address |
varchar |
255 |
0 |
Y |
N |
收件地址: |
|
16 |
postal_code |
varchar |
9 |
0 |
Y |
N |
邮政编码: |
|
17 |
user_id |
int |
10 |
0 |
N |
N |
0 |
买家ID: |
18 |
merchant_id |
mediumint |
8 |
0 |
N |
N |
0 |
商家ID: |
19 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
20 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
21 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]用于产品规格描述 |
|
22 |
state |
varchar |
16 |
0 |
N |
N |
待付款 |
订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
ordinary_users_id |
int |
10 |
0 |
N |
Y |
普通用户ID |
|
2 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 |
|
3 |
user_gender |
varchar |
64 |
0 |
Y |
N |
用户性别 |
|
4 |
user_age |
varchar |
64 |
0 |
Y |
N |
用户年龄 |
|
5 |
examine_state |
varchar |
16 |
0 |
N |
N |
已通过 |
审核状态 |
6 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
7 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID |
8 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
praise_id |
int |
10 |
0 |
N |
Y |
点赞ID: |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
点赞人: |
3 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
8 |
status |
bit |
1 |
0 |
N |
N |
1 |
点赞状态:1为点赞,0已取消 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
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 |
surrounding_shopping_malls_id |
int |
10 |
0 |
N |
Y |
周边商城ID |
|
2 |
notice |
varchar |
64 |
0 |
Y |
N |
须知 |
|
3 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
4 |
cart_title |
varchar |
125 |
0 |
Y |
N |
标题:[0,125]用于产品html的标签中 |
|
5 |
cart_img |
text |
65535 |
0 |
Y |
N |
封面图:用于显示于产品列表页 |
|
6 |
cart_description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]用于产品规格描述 |
|
7 |
cart_price_ago |
double |
8 |
2 |
N |
N |
0.00 |
原价:[1] |
8 |
cart_price |
double |
8 |
2 |
N |
N |
0.00 |
卖价:[1] |
9 |
cart_inventory |
int |
10 |
0 |
N |
N |
0 |
商品库存 |
10 |
cart_type |
varchar |
64 |
0 |
N |
N |
未分类 |
商品分类: |
11 |
cart_content |
longtext |
2147483647 |
0 |
Y |
N |
正文:产品的主体内容 |
|
12 |
cart_img_1 |
text |
65535 |
0 |
Y |
N |
主图1: |
|
13 |
cart_img_2 |
text |
65535 |
0 |
Y |
N |
主图2: |
|
14 |
cart_img_3 |
text |
65535 |
0 |
Y |
N |
主图3: |
|
15 |
cart_img_4 |
text |
65535 |
0 |
Y |
N |
主图4: |
|
16 |
cart_img_5 |
text |
65535 |
0 |
Y |
N |
主图5: |
|
17 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
18 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
- 系统实现
用户注册完成后,点击“登陆”进入到登陆页面,输入用户名和密码,点击“登陆”按钮,对用户名和密码进行验证,根据传入的用户名和密码在数据库中是否能查询到一条用户信息,若不能返回用户信息则登陆失败,页面提示用户名或密码错误。
登陆拦截管理器,在config文件夹下的WebAppConfig.java文件,代码如下:
@Configuration
@Slf4j
public class WebAppConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
//登录拦截的管理器
InterceptorRegistration registration = registry.addInterceptor(loginInterceptor());
//拦截的地址
registration.addPathPatterns("/**");
//方行的地址
//registration.excludePathPatterns("/**");
//根据需要拦截,一般设置所有地址拦截,放行公共连接
}
@Bean
public LoginInterceptor loginInterceptor(){
return new LoginInterceptor();
}
}
登录界面如下图所示。
图5-1登录界面
用户登录的关键代码如下。
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> 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;
}
用户界面要尽量简洁大方,使用户能够方便找到需要的功能入口,动漫资讯、动漫网站浏览、周边商城、商品购买,且要易于修改和维护,同时还要保证用户合法和系统安全。
首页界面如下图所示。
图5-2首页界面
用户进入系统首页后,点击“注册”链接进入到注册页面,按照页面提示输入用户名、密码和商品号,页面进行表单验证,验证输入的用户名和商品号是否合法,表单验证通过后,点击“立即注册”按钮,利用 Ajax 技术,对用户名和商品号实现页面无刷新验证,检测数据库中是否已经存在该用户名,若数据库中不存在,则注册成功,注册成功后,自动跳转到登录页面。
用户注册界面如下所示。
图5-3用户注册界面
周边商城展示页面,如下图所示。
图5-4周边商城展示页面
周边商城展示的关键代码如下。
@Transactional
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
public Map<String,Object> readBody(BufferedReader reader){
BufferedReader br = null;
StringBuilder sb = new StringBuilder("");
try{
br = reader;
String str;
while ((str = br.readLine()) != null){
sb.append(str);
}
br.close();
String json = sb.toString();
return JSONObject.parseObject(json, Map.class);
}catch (IOException e){
e.printStackTrace();
}finally{
if (null != br){
try{
br.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
return null;
}
public void insert(Map<String,Object> body){
StringBuffer sql = new StringBuffer("INSERT INTO ");
sql.append("`").append(table).append("`").append(" (");
for (Map.Entry<String,Object> entry:body.entrySet()){
sql.append("`"+humpToLine(entry.getKey())+"`").append(",");
}
sql.deleteCharAt(sql.length()-1);
sql.append(") VALUES (");
for (Map.Entry<String,Object> entry:body.entrySet()){
Object value = entry.getValue();
if (value instanceof String){
sql.append("'").append(entry.getValue()).append("'").append(",");
}else {
sql.append(entry.getValue()).append(",");
}
}
sql.deleteCharAt(sql.length() - 1);
sql.append(")");
log.info("[{}] - 插入操作:{}",table,sql);
Query query = runCountSql(sql.toString());
query.executeUpdate();
}
用户在浏览商品时,对于心仪的想要购买的商品,可以将该商品添加到购买订单中。点击“添加购买订单”按钮,页面将该商品的数据传递到后台,首先查询数据库购买订单表中是否已经存在该商品,若存在直接将商品数量加一,若不存在则创建一个新的购买订单对象,添加购买订单成功,数据库中的购买订单表添加一条信息。用户还可以点击“我的购买订单”查看添加到购买订单的商品,系统通过读取 session获取到用户 ID,将用户 ID 传递到后台,在购买订单表中查询该用户的所有购买订单信息,返回数据到我的购买订单页面。
商品购买界面如下图所示。
图5-6商品购买界面
支付界面如下图所示。
图5-7支付界面
商品购买的关键代码:
@RequestMapping("/get_list")
public Map<String, Object> getList(HttpServletRequest request) {
Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));
return success(map);
}
用户管理界面如下图所示。
图5-8用户管理界面
管理员可以获取系统中所有动漫网站的列表并对其进行编辑。管理员在添加动漫网站内容时,需要输入动漫网站名称、分类、视频等。添加动漫网站完成,数据库动漫网站表添加一条信息。
动漫网站管理界面如下图所示。
图5-9动漫网站管理界面
动漫网站管理关键代码:
@RequestMapping("/get_obj")
public Map<String, Object> obj(HttpServletRequest request) {
List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));
if (resultList.size() > 0) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("obj",resultList.get(0));
return success(jsonObject);
} else {
return success(null);
}
}
管理员在后台管理界面点击到所有动漫节日界面列表,可以搜索当前所有动漫节日信息,调用搜索全部动漫节日的请求,向数据库的动漫节日表搜索当前所有动漫节日并将动漫节日信息以对象的形式层层返回到动漫节日列表界面,显示出当前所有动漫节日信息。
动漫节日管理界面如下图所示。
图5-10动漫节日管理界面
动漫节日管理的关键代码如下。
public List selectBaseList(String select) {
List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);
List<E> list = new ArrayList<>();
for (Map<String,Object> map:mapList) {
list.add(JSON.parseObject(JSON.toJSONString(map),eClass));
}
return list;
}
以进入系统首页的访问速度为例展示系统的性能测试;系统的主要用户群体是理念较为先进的动漫爱好者,系统要在3秒钟内响应;需要完成页面的菜单栏、周边商城、动漫资讯、动漫网站、订单信息以及各功能模块入口等元素的显示。
功能性测试是指执行指定的工作流程,通过对一个系统的所有特性和功能都进行测试确保符合需求和规范。
系统功能性测试表如下表所示。
表11系统功能性测试表
编号 |
测试功能 |
测试内容 |
测试结果 |
1 |
用户登录 |
1.验证用户名与密码的正确性。 2.验证密码是否可见。 |
通过 |
2 |
首页展示 |
1.首页数据是否成功加载。 2.验证搜索功能的准确性。 3.验证是否可以异步加载。 4.验证导航栏按钮。 |
通过 |
3 |
个人信息修改 |
1.验证登录名是否可以正常更改。 2.验证联系方式是否可以更改。 3.验证收货地址可以正常修改。 4.验证密码是否可以修改。 |
通过 |
4 |
购买管理 |
1.购买订单清单是否可以生成。 2.验证消费信息是否准确。 |
通过 |
7 |
商品管理 |
1.验证类目新增是否可以成功。 2.验证类目删除是否可以成功。 |
通过 |
8 |
周边商城管理 |
1.商城信息是否与上传一致。 2.是否能完成活动修改。 3.验证活动商品信息修改。 |
通过 |
9 |
订单处理 |
1.能否正常上传单号完成发货。 2.验证数据准确性。 |
通过 |
10 |
用户管理 |
1.验证用户录入功能。 2.验证用户违规清理功能。 |
通过 |
集成测试后,所有的模块已经全部连接完毕,形成了一个完整的系统。合格性测试是在集成测试完毕后,进一步对系统进行综合性的检测。经过合格性测试,可以检查出系统是否符合系统的设计,能够完成需求的所有功能。本系统经过最后的测试,所有模块功能都能按预定要求工作。
在实际测试中,经过一系列系统性的测试,使我们能够及时发现一些系统在设计中出现的疏忽和漏洞。经过严密的测试,不仅发现了模块内部的错误,也查找到模块连接后产生的错误。经过测试,对系统产生错误的地方进行优化、修改和完善,使得系统能够实现最初设计的基本功能。
本文针对动漫展示系统的特点和用户需求,利用 Java相关技术、Springboot框架和MVVM 模式等技术,通过详细的需求分析、页面设计和功能设计,最终实现了一个基于 Java 的动漫展示系统。
系统利用JQuery 技术和 CSS 技术进行了系统页面设计,实现了包括用户模块、周边商城模块、动漫网站模块、购买订单模块、动漫节日介绍网站和前台系统以及包括用户管理模块、周边商城管理模块、订单管理、动漫网站管理、动画展示管理模块的后台系统。另外,系统还进行了数据安全设计和信息推荐模块设计,并添加了用户的访问控制,建立了一个完整、健壮、安全稳定的动漫展示系统。
由于时间限制和本人能力条件有限,该系统还存在一些不足,今后也会出现许多新的开发技术,未来还可以对系统做出如下改进:
(1)优化系统页面,使页面更加美观且方便操作;
(2)优化商品搜索功能,提供多条件选择查询搜索;
(3)优化动漫推荐功能,提高动漫推荐的精准度;
(4)优化在线支付功能,提供更多支付接口,使用户付款更加方便;
(5)进一步提高系统的安全性,使系统更加健壮;
(6)优化数据和代码,提升软件效率,方便系统维护和扩展。
参考文献
[1]薄志强. 基于SSM框架的网上商城系统的设计与实现[D].西安电子科技大学,2020.
[2]黄舒珣. 基于文本挖掘的迪卡侬网上商城顾客满意度影响因素研究[D].广西民族大学,2020.
[3]张浩. 基于网上商城服务对话系统的研究与实现[D].黑龙江大学,2020.
[4]赵浩翔. 基于SSM框架的网上商城系统的设计与实现[D].北京邮电大学,2019.
[5]徐光耀. 基于Dubbo分布式架构网上商城的研究与实现[D].沈阳师范大学,2019.
[6]郑秋锦. 消费者特征、外部情景与刺激对动漫衍生品冲动性购买的影响研究[D].华侨大学,2018.
[7]王晓晓. 关于日本动漫及其周边商品的中国消费者购买行为的研究[D].广东外语外贸大学,2018.
[8]肖斯家. 艺品文化传播公司开展影视衍生产品项目商业计划书[D].东华大学,2018.
[9]谷淞. 国际动漫市场展的理论、规律与功能分析研究[D].中国艺术研究院,2018.
[10]林泽伟. 手机应用商城智能推荐平台的研究与应用[D].中山大学,2018.
[11]归泳涛.日本的动漫外交——从文化商品到战略资源[J].外交评论(外交学院学报),2018,29(06):127-140.
致谢
时光飞逝,转眼间我在学校的这些年生活即将结束,回顾这几年的学习生活,收获良多,既有幸福也有难过,学校生活的结束对于我来说也是一个新的开始。论文即将完成,在此,我心中有许多想要感谢的人。首先感谢我的导师,不仅在学习研究方面加以指导,也在生活和为人处世上给予帮助。还要感谢授课老师,你们严谨的学术精神和积极向上的工作态度都在激励我的成长和进步。感谢多年来一直生活在一起的室友,谢谢你们多年来的陪伴和照顾。最后,要感谢各位论文评审老师,感谢您们在百忙之中抽空评阅本论文并给出宝贵的意见和建议。
请关注点赞+私信博主,免费领取项目源码