admin管理员组

文章数量:1597475

QQ 1958333590

  1. Gitee 地址

    • 前端:前端项目gitee地址(未开放)
    • 后端:后端项目gitee地址(未开放)
    • 前端授权
  2. 项目所有文件(前后端代码、数据库、毕业设计)
    资源文件地址

  3. 项目授权
    前端:
    后端

一、系统功能模块


二、论文部分目录

三、项目部分功能截图












四、部分论文

某某学院本科毕业设计(论文)

基于WEB的在线书店系统

的设计与实现

学生姓名: 张三


学生学号: 20191
院(系): 数学与计算机学院(大数据学院)
年级专业: 2019级-------
指导教师: 张三
助理指导教师: 张三

二〇二三年六月

摘 要

Intranet/Internet技术的飞速发展,使得Web技术得以普及,从而使得传统的纸质出版物的管理模式无法满足消费者的快速变化的信息需求,因此,网络书店的出现,正是这股信息革命的洪流之下的必然结果。人们不再满足以前的线下交易、线下书籍管理形式,由此急需一款能满足人们线上购书等相关功能的书店系统。在线书店是人们随时随地可以查看、购买所需要的书籍,大大节约了人们的时间,同时对书店也减轻了一定的工作压力,使买家和卖家同时享受到了更好的体验。

本文对在线书店系统的背景和国内外现状进行了分析,明确了系统的可行性和需求,通过需求分析后,详细的设计了系统功能及数据库。在线书店系统采用前后端分离的设计模式,前台主要负责展示书籍信息、进行书籍购买等相关操作,后台主要对书籍相关信息管理、订单管理等相关操作,使用Spring Boot与Mybatis-Plus等后端开发技术,Vue和Element-UI为前端开发技术,MySQL作为数据库。系统选择VSCode和IDEA作为开发工具,实现系统书籍管理、书籍分类管理、出版社管理、订单管理、系统管理等功能。

本系统能满足小型书店的日常销售及管理,节约了人力资源和工资成本,保证了数据更新的及时性,提高了员工的办事效率。

关键词 Spring Boot,Vue,Element-UI,书店

ABSTRACT

The rapid development of Intranet/Internet technology enables the popularization of Web technology, which makes the management mode of traditional paper publications unable to meet the rapidly changing information needs of consumers. Therefore, the emergence of online bookstore is the inevitable result of the flood of information revolution. People are no longer satisfied with the previous offline transaction, offline book management form, so there is an urgent need for a bookstore system that can meet people’s online book purchase and other related functions. Online bookstore allows people to view and buy the books they need anytime and anywhere, which greatly saves people’s time and reduces the working pressure of the bookstore, so that both buyers and sellers enjoy a better experience.

This paper analyzes the background of the online bookstore system and the current situation at home and abroad, and makes clear the feasibility and demand of the system. After the demand analysis, the system database is designed in detail. The online bookstore system adopts the design mode of separating the front and the back ends. The front end is mainly responsible for the display of book information, book purchase and other related operations, while the back end is mainly responsible for book information management, order management and other related operations, using Spring Boot and Mybatis-Plus and other back-end development technologies. Vue and Element-UI are the front-end development technologies, and MySQL is the database. The system chooses VSCode and IDEA as development tools to realize the system book management, book classification management, publishing house management, order management, system management and other functions.

This system can meet the daily sales and management of small bookstore, save human resources and wage costs, ensure the timeliness of data update, improve the efficiency of employees.

Keywords Spring Boot,Vue,Element-UI,Bookstore

目 录

摘 要 I

ABSTRACT II

1 绪论 1

1.1 课题背景 1

1.2 系统开发的意义 1

2 相关技术介绍及技术选型 2

2.1 前端技术 2

2.1.1 Vue.js 2

2.1.2 Element-UI 2

2.2 后端技术 2

2.2.1 Java 2

2.2.2 Spring Boot 3

2.2.3 Spring Security 3

2.2.4 Mybatis-Plus 3

2.3 数据库 4

2.3.1 MySQL 4

2.3.2 Redis 5

2.4 技术选型 5

3 系统分析 6

3.1 系统建设目标 6

3.2 可行性分析 6

3.2.1 技术可行性分析 6

3.2.2 经济可行性分析 6

3.2.3 法律可行性分析 6

3.3 需求用例分析 6

3.3.1 游客 6

3.3.2 普通用户 7

3.3.3 管理员 7

3.4 功能需求分析 8

3.4.1 游客的功能需求 8

3.4.2 普通用户的功能需求 9

3.4.3 管理员的功能需求 9

3.5系统性能需求 9

4 系统设计 11

4.1 系统整体模式构思 11

4.1.1 B/S结构 11

4.1.2 MVC 12

4.2 系统代码结构设计 13

4.2.1 前端系统 13

4.2.2 后端系统 14

4.3 系统功能模块设计 14

4.4 系统主要功能模块 15

4.4.1 书籍查看 15

4.4.2 购物车管理 16

4.4.3 个人订单管理 16

4.4.4 个人信息管理 16

4.4.5 书籍管理 16

4.4.6 书籍分类管理 16

4.4.7 出版社管理 16

4.4.8 订单管理 16

4.4.9 用户管理 16

4.5 数据库设计 17

4.5.1 数据库概要结构设计 17

4.5.2 数据库逻辑结构设计 22

5 系统实现 32

5.1 游客模块 32

5.1.1 查看首页 32

5.1.2 搜索书籍 33

5.2 普通用户模块 34

5.2.1 用户注册 34

5.2.2 用户登录 36

5.2.3 个人中心 37

5.2.4 账户管理 38

5.2.5 订单中心 39

5.2.6 购物车 41

5.3 管理员模块 43

5.3.1 首页 43

5.3.2 书籍管理 44

5.3.3 书籍分类管理 46

5.3.4 出版社管理 47

5.3.5 订单管理 48

5.3.6 用户管理 49

5.3.7 系统管理 50

6 系统测试与运行 51

6.1 测试目的 51

6.2 系统测试 51

6.2.1 注册功能 51

6.2.2 书籍管理功能 51

6.2.3 分类管理功能 52

6.2.4 订单管理功能 53

6.2.5 用户管理功能 53

6.3 测试结论 54

6.4 系统运行 54

总 结

参 考 文 献 57

致 谢 58

56

1 绪论

1.1 课题背景

随着互联网的普及,网上书店已经开始取代传统的书籍发行渠道[1]。与以往不同的是,它们拥有更加灵活的组织架构、更加高效的库存控制、更加创新的营销策略[2],使得它们能够更好地满足消费者的需求。通过在线购书,人们可以获取大量书籍信息,这种购书方式不仅提供优质的内容,而且还能够在短时间内完成书籍挑选,这无疑是一种创造性的购书体验[3]。

近年来,由于互联网的快速普及,网上购买早已变得非常流行,甚至变成一种时髦的消费。而书本则是一种传承文明的重要媒介,它蕴含着丰富的知识与思想。因此,许多网络书店应运而生,蓬勃发展。由于当今社会的发展,人们日益依赖IT,因此,他们的消费时间变得更加有限。为了满足这一需求,本系统提供了一种新的渠道,让人们无需离开家门,即可轻松地从互联网上获取所需的书籍,从而实现轻松自如的购书体验[4]。

1.2 系统开发的意义

在线书店系统主要用于小型书店进行书籍的销售、书籍信息的统一管理和销售数据的浏览,按照系统主要的权限信息将系统角色分为游客、普通用户和管理员三大类。游客具有在未登录系统的情况下浏览书籍信息。普通用户则可以在登录系统后对书籍进行购买、查看订单以及个人信息等相关操作。管理员则是系统中权限最大的角色,能够控制系统的所有功能,拥有创建角色且分配权限的权力。该系统主要解决了传统的线下书籍销售需要大量人力,顾客无法随时查看书店书籍情况等问题。

本课题主要是设计一个基于WEB的在线书店系统,使用在线书店系统对书店所销售的书籍进行统一管理,方便顾客购买书籍,在满足顾客基本使用的同时让系统管理人员更方便的管理书籍相关信息和书籍销售情况等信息,提升了管理人员的工作效率,节省了大量的时间和人力资源。顾客可以快捷的在系统中查看及购买书籍,同时也可以管理自己的相关信息。管理人员可以更简便的管理书店书籍,同时还可以同通过系统的统计功能查看书籍的销售情况等信息,提高了办事效率。

2 相关技术介绍及技术选型

2.1 前端技术

2.1.1 Vue.js

Vue.js作为前端开发的渐进式框架,严格遵循CMD标准。同时提供了MVVM前端架构模式和Vue全家桶用于系统的前端开发。不同于其他的前端开发框架,Vue是能够从底层组件到上层框架分层次应用,充分体现了Vue的渐进式原理,Vue的优势主要在于运行速度快、将视图、数据、结构分离并且作为一个轻量型的框架,使得开发人员更易学习与理解[5]。

目前Vue的出现,使得它成为一种新型的前端开发框架,它可以有效地减少前后端之间的耦合,使得用户可以专心致志地完成界面的开发,而不必再花费太多时间和精力去完成复杂的数据处理,这也使得它成为全球范围内最热门的编程语言之一。尽管Vue和HTML在数据接口方面存在一定的共性,但它们在界面设计中的应用却是十分广泛的。HTML的出现为界面的搭建提供了一种新的方式,而Vue的组件化开发则让界面的架构变得更为精简、功能更为丰富,从而提升界面的整体效果[5]。

2.1.2 Element-UI

Element-UI是一套基于Vue2.0的桌面端组件库。它由饿了么前端团队开发,并且已经在日常大量的业务中使用和验证,具有良好的稳定性和可用性。Element致力于提供漂亮、可靠的桌面端组件,它实现了完整的设计规范,并注重具有强烈的用户体验。

Element-UI采用模块化的设计理念,非常灵活,可以轻松的集成在你的项目中,它包含了诸如表单、日期、导航、布局等常用的组件,也有像提示框、弹窗、菜单、分页等更为复杂的组件。Element-UI的官方文档详细而清晰,它为每一种组件都提供了丰富的例子和API文档,帮助你快速上手和深入使用。

2.2 后端技术 {#后端技术 .02二级标题}

2.2.1 Java

Java是由美国Sun Microsystems公司在1995年推出的一种编程语言。Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言[6]。由于其出色的功能和可靠的语言结构,许多软件公司已经将其作为首选的编写语言,并且这种语言已经迅速地被全球的程序员所接受和广泛应用。

2.2.2 Spring Boot

Spring Boot是一个重大的改进,它基于Spring4.0框架,大大简化了开发者的安装,大大降低了研发复杂性。此外,它还提供了许多集成框架,可以有效地解决不同版本之间的依赖关系,并且可以有效地防止引用错误的出现。Spring Boot框架的两个重要特点是开箱即用和约定大于配置,这也是它受到广泛欢迎的原因之一。通过安装pom文件,用户可以轻松实现预期的功能,进而提升系统的工作效率和性能。Spring Boot的出现极大减轻了程序技术人员的安装负担,让他们可以更加专注于项目的功能开发。它的默认配置文件比逻辑更加强大,因此,只要它自带的安装满足编程人员的需求,就不必须做出任何改动,比如,在项目管理中,如果一个实体类名为user,它的相应数据库系统中就会产生一个表users,而如果它不合开发者的需求,Spring Boot就会自动生成一个新的表,以便开发者做出更加有效的选择,进而大大提高项目管理的效率和质量。通过对其加以重新设计,项目管理开发者可以获得极大的便利[7]。

Spring Boot作为Java Web开发环境中不可缺少的一部分,它可以有效地协调Spring与"简化"之间的协作,并且可以根据Spring自带的默认处理,以及Spring自带的快捷方式,大大减少Java Web开发时需要添加或启动Spring功能所需要做出的操作,从而极大地降低Java Web开发时所需要做出的操作量。Spring Boot的出现大大减少了开发者的负担,他们能够将大量的资源投入到Java的Spring Boot应用程序中,从而提高效率。此外,由于它的灵活性,它已经被证明是一款非常适合用户的Java Web应用程序[7]。

2.2.3 Spring Security

J2EE企业级应用系统的B/S结构对客户的登录、访问以及授权管理起着至关重要的作用,Spring Security成为Acegi Security的延伸,其框架可以根据"验证"和"授权访问"。"验证"的规定,帮助用户定义自己的信息,从而实现B/S结构的J2EE企业级使用的安全性。"许可"和Spring Securitv都可以为用户和任何正在使用的设备和系统获得许可,这些许可包括对特定的用户和任何可以实施的操作的审核,以及对多种第三方验证模型的检测。Spring Security利用Servlet的过滤技术,有效地阻止Web的恶意攻击,并且能够有效地传输到认证授权的机构,以确保网络系统的安全性[8]。

2.2.4 Mybatis-Plus

MyBatis-Plus(MP)作为一款全新的增强工具,它以MyBatis的原有功能为核心,通过对其进行升级,实现了更加精细的编程,大大降低了编程的复杂度和成本。

特性:

① 采用无侵入技术,可以保证不受任何外部干扰,使得现有工程更加流畅、稳定。

② 使用这种方法可以大大降低损耗:一旦启动,系统就会自动注入基本 CURD,并且性能几乎没有损失。

③ CRUD操作功能强大,内置多种通用Mapper和Service,只需简单配置就能完成大多数CRUD任务,而且还拥有强大的条件构建器,能够满足多种应用场景的需求。

④ 使用Lambda表达式可以轻松地构建多种查询条件,而不必担心字段的正确性。

⑤ 提供了一种强大的工具,能够自动生成4种不同的主键生成策略,并能够有效地解决主键问题。

⑥ ActiveRecord模型允许使用者以ActiveRecord的方式访问数据,而且通过将Model类传递给其他类,就能够执行高效的CRUD任务。

⑦ 提供了一种可以根据需要进行全局化调整的功能。

⑧ 通过Maven插件和本地的代码编辑工具,我们能够轻松创建Mapper、Model、Service和Controller层的程序,并且拥有强大的模板引擎,还提供了丰富的个性化设计。

⑨ MyBatis提供了一种物理分页功能,使得开发者不必担心具体的操作,只要将插件配置好,就可以轻松实现与传统List查询相似的功能。

2.3 数据库 {#数据库 .02二级标题}

2.3.1 MySQL

MySQL是一款由瑞典Oracle公司开发的关系型DBMS,它在Web应用领域表现出色,已变成受欢迎的关系数据库管理软件之一。它不仅可以有效地管理大量的数据,而且还可以提供高效、可靠的服务,从而满足企业的需求。MySQL是一种强大的关系型DBMS,它可以将数据分布式存储,从而极大地提升了数据处理的效率和灵活性。为了实现数据的访问,SQL语言被广泛应用,它可以帮助用户快速访问数据库,从而实现数据的可靠性和可扩展性。MySQL程序拥有双重许可策略,可以分为社会版和商业版,它的优点在于容量小、运行迅速、总体成本低,尤其是它的开放式源码,使得它变成许多中小规模和大型网站的选用数据库系统[9]。

2.3.2 Redis

Redis是一个开源,遵守BSD协议,使用AN-SIC语言编写、支持网络、可基于内存,可被用于数据缓存、数据库或消息队列等,并提供多种语言的AP支持,是现在最受欢迎的No SQL数据库之一[10]。

Redis的一个重要应用是其作为数据缓存以加快系统响应时间,提高系统吞吐量,例如,当有大量用户访问时,用户每次访问页面都需要向数据库发送请求,在很多情况下,从数据库请求的数据相对固定,针对这种情况可使用Redis作为缓存,即每次以数据库请求数据前,先判断缓存中是否存在所请求的数据,.如果存在就缓存中读取数据,如果不存在则去请求数据库,并将数据加入缓存,这样大大提高系统访问效率[10]。

2.4 技术选型 {#技术选型 .02二级标题}

该在线书店系统的技术选型中,主要考虑的因素有:使用场景、开发人员开发能力水平,开发周期等。基于这些因素,本系统最后技术选型为Java、Spring Boot、Spring Security、Mybatis-Plus、Maven、Vue.js和Element-UI整合的前后端分离的B/S系统架构。考虑到本系统使用用户相对较广泛,访问量相对较大,所在选用MySQL数据库进行数据存储,Redis数据库进行热点数据缓存。

3 系统分析

3.1 系统建设目标

本在线书店系统主要分为三个角色:游客、普通用户、管理员。游客可以查看前台系统书籍信息、书籍分类信息、搜索书籍等功能。普通用户拥有游客所有功能,同时可以在前台系统中查看、修改个人基本信息及账号密码,将书籍添加进购物车。创建订单、管理订单、购买书籍,查看、修改收货地址等功能。作为一名管理员,不仅拥有普通用户的所有权限,还可以在后台系统中管理书籍的分类、出版社、订单、用户等信息,从而更好地满足用户需求。

3.2 可行性分析

3.2.1 技术可行性分析

系统应用了Java、Spring Boot和Mybatis-Plus,而前台则应用了Vue.js和Element-UI框架。为了方便访问和管理,系统选择MySQL作为数据库,并使用Redis减轻MySQL压力。我们将利用我们在大学四年中的专业背景,为这款软件的开发提供支持,假如开发中遇到困难会尽快查阅资料解决或请教老师解决。

3.2.2 经济可行性分析

开发系统的所使用的技术都是免费开源的框架,部署系统需要用到一台服务器,腾讯,阿里云等商家都有学生套餐,价格相对亲民,经济方面要求合适,具备较高的经济可行性。

3.2.3 法律可行性分析

本系统主要结合县城某书店实情进行实际开发,其目的主要是为了解决书籍的销售和订单的管理。该系统从需求分析到详细功能实现均为个人完成,所用技术也为公开的技术,未侵犯他人利益。在法律上与社会条件相适应。本系统应用于在线书籍销售,未存在任何侵犯、妨碍等问题。

3.3 需求用例分析

3.3.1 游客

根据对游客的需求分析可知,游客的功能主要有:书籍查看、关键字搜索书籍、分类查找书籍、用户注册等,游客用例图如图3.1所示:

{width=“4.03583552055993in” height=“2.75in”}

图3.1 游客用例图

3.3.2 普通用户

根据对普通用户的需求分析可知,管理员的功能主要有:个人中心、个人管理、收货地址管理、购物车、订单管理、用户注册、用户登录等,普通用户用例图如图3.2所示。

{width=“4.427083333333333in” height=“3.84375in”}

图3.2 普通用户用例图

3.3.3 管理员

根据对管理员的需求分析可知,管理员的功能主要有:个人中心、个人管理、收货地址管理、购物车、订单管理、用户注册、用户登录等,管理员用例图如图3.3所示。

{width=“3.844438976377953in” height=“4.025in”}

图3.3 管理员用例图

3.4 功能需求分析

该系统设计了三种不同的权限用户,分别为游客、普通用户和管理员。

游客:该用户不需要登录网站,因为我们的在线书店属于一个书籍销售网站,因此游客可以在未登录的情况下查看书籍相关信息。主要功能包括:分页查看所有的书籍、畅销书籍、系统推荐书籍、最新上架书籍,查看书籍详情、搜索书籍等功能。

普通用户:在游客的功能基础上如果用户想要将书籍添加进购物车或者购买书籍,此时则需要游客进行登录才能实现相应功能。主要功能有:添加购物车、添加订单、订单管理、地址管理、个人信息管理等功能。

管理员:该用户可以登陆在线书店的管理后台页面,可以管理维护本系统的所有业务。主要功能有:出版社管理、书籍分类管理、订单管理、用户管理、系统管理等相关功能。

3.4.1 游客的功能需求

① 书籍查看:游客进入在线书店前台展示页面,可以根据精品推荐、最新上架、畅销书籍、全部数据,选择自己喜欢的书籍,点击书籍的封面进入到书籍详情页面,可以查看书籍基本信息及书籍简介。

② 书籍模糊搜索:游客在顶部搜索框中输入书籍名称、作者或出版社模糊搜索需要查找的书籍信息。

③ 分类查找书籍:在书籍列表左侧有书籍的分类信息,游客可以点击书籍分类搜索出对应分类下的书籍信息。

3.4.2 普通用户的功能需求

① 个人中心:显示用户基本信息和不同阶段订单的数量信息等功能。

② 个人管理:修改用户基本信息,如修改用户头像、密码和签名等功能。

③ 个人收货地址:显示个人的收货地址信息,并拥有添加、修改和删除等一系列功能。

④ 购物车:显示用户的购物车信息,勾选购物车对应商品后结算生成订单初始化信息,确认订单后生成订单相关信息,同时进行订单支付或稍后支付。

⑤ 通过使用订单管理功能,您能够实时监控并更新您的所有订单,包括但不限于:完成了所有的交易、正在接受款项、正在准备交易、正在接受未接受款项、正在取消交易。同时可以对未支付的订单发起支付功能,并且还拥有取消订单、订单收货等功能。

3.4.3 管理员的功能需求

① 首页查看:显示系统书籍总览、用户总览,同时按照指定的时间范围显示定单相关信息(如日下单量、日营收、日发货数量等信息)。

② 书籍管理:查看系统书籍列表、查看推荐书籍列表、条件查询书籍、查看书籍详情、添加书籍、编辑书籍、删除书籍、上下架书籍和是否推荐书籍等功能。

③ 书籍分类管理:查看书籍分类列表、查看书籍分类详情、添加书籍分类、编辑书籍分类、删除书籍分类和停用书籍分类等功能。

④ 出版社管理:查看书籍出版社列表、查看出版社详情、添加出版社、编辑出版社、删除出版社和停用出版社等功能。

⑤ 订单管理:您可以轻松访问书籍的订单列表信息、包括但不限于:查看订单详情、订单取消、订单发货等功能。

⑥ 用户管理:查看用户列表、条件查询用户、对用户进行密码初始化、是否禁用和对用户赋予角色等功能。

⑦ 系统管理:可以查看系统中的各种角色,包括条件查询、添加、更新、删除、授予权限(菜单),以及查看系统菜单列表,以及其他各种功能。

3.5系统性能需求

基于WEB的在线书店系统的性能分析主要有以下几个方面:

① 系统安全性:用户的登录、注册都需要验证验证码,登录时密码采用了BCryptPasswordEncoder加密,防止传输过程中被拦截从而破解,对于游客来说,只有浏览功能,不提供任何操作数据库的权限操作。

② 数据有效性:系统的数据录入会严格遵循规定好的格式,如果数据出现任何格式问题,系统都将会给出友好提示。只有当数据完全符合数据规范时,才会添加到数据库中。

③ 简单易用性:系统的主要用途还是作为小型书店线上书籍交易,并不会有很多负责的操作,可能稍微复杂的地方就是书籍简介编辑器操作了,对此操作者稍加研究就能解决,系统整体操作对管理员和用户都是十分友好地。

④ 可拓展性:系统代码都是采用面向对象设计、各功能模块分离的方式编写的,所以系统本身具备很好的可扩展性,便于后期系统的二次开发。

4 系统设计

4.1 系统整体模式构思 {#系统整体模式构思 .02二级标题}

4.1.1 B/S结构

基于WEB的在线书店管理系统运用了B/S(Brower/Server,基浏览器/服务器)模式,这种模式不用安装客户端,只需要Web浏览器就可以,就是把前端的一些事情的逻辑交给后台去实现。

B/S架构分为三层,其示意图如图4.1所示**。**

{width=“3.2708333333333335in” height=“2.4375in”}

图4.1 B/S模式三层架构示意图

B/S架构采取浏览器请求,服务器响应的工作模式。B/S模式的工作原理:

① 客户端发送一个请求。

② 服务器端处理这个请求。

③ 服务器端发送响应。

④ 浏览器获取响应并进行页面渲染。

具体如图4.2所示。

{width=“3.816666666666667in” height=“3.4in”}

图4.2 B/S模式工作原理示意图

系统总的功能主要包括书籍展示、添加购物车、创建订单、个人信息管理、数据统计、书籍管理、分类管理、出版社管理、订单管理、用户管理、角色管理和菜单管理等功能。

4.1.2 MVC {#mvc .03三级标题}

MVC是一种常用的架构设计模式。为了让我们的成千上万行代码和各种复杂的业务逻辑更加清晰明了,便于维护和代码的复用,可以达到分层设计的目的,于是使用MVC体系结构,它把相同类型的代码放在一起,再分出了层次,从而达到分层解耦复用、测试和维护的目的[11]。

它是一种采用基于MVC(Model-View-Controller,模型-视图-控制器)的设计模式,即MVC模式。该模式将WEB应用的功能分为三个层次:Model(模型)层、View(视图)层和Controller(控制层)[12]。Model模型是指模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性;View视图是指用户看到并与之交互的界面。比如由html元素组成的网页界面,或者软件的客户端界面。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操作的方式;Controller控制器是指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据[13]。

MVC模式详细结构图如图4.3所示。

{width=“4.444555993000875in” height=“2.613636264216973in”}

图4.3 MVC模式结构图

本系统直接使用了Spring Boot来实现MVC,简化了开发难度,快捷、省时、省事、而且质量好。

4.2 系统代码结构设计 {#系统代码结构设计 .02二级标题}

4.2.1 前端系统

前端项目名称为:Lqs_BookMall_client。前端系统为了代码和各种复杂的业务逻辑更加清晰明了,也为了便于维护和代码的复用,于是本系统把代码分为了多个层次,主要有api(后端统一接口)、assets(静态资源)、components(组件)、route(路由)、pages(页面vue文件)五个部分。

前端项目包结构如图4.4所示。

{width=“3.0873862642169727in” height=“3.5454549431321083in”}

图4.4 前端项目包结构图

4.2.2 后端系统

本系统的后台项目名称为Lqs_BookMall_service后台系统为了代码和各种复杂的业务逻辑更加清晰明了,也为了便于维护和代码的复用,于是本系统使用MVC体系结构,把代码分为了多个层次。分别是controller(控制层)、mapper(数据层)、entity(实体层)、service(业务层)四个部分。

后端项目结构如图4.5所示。

{width=“3.319336176727909in” height=“3.689394138232721in”}

图4.5 后端项目结构图

4.3 系统功能模块设计

本在线书店系统主要分为游客模块、普通用户模块、管理员模块。

游客模块主要实现的是系统书籍相关信息的展示功能,游客自身不具备任何操作系统数据库的权限。首页主要展示精品推荐、新书上架、畅销书籍、全部书籍,同时游客可以关键字搜索书籍或者通过书籍分类搜索书籍。

普通用户模块主要实现用户个人信息的查看、编辑,收货地址的查看、增加和编辑,将书籍添加进购物车,初始化用户订单、创建订单并付款,对用户订单数据进行管理(如付款、取消订单、收货等一系列操作)。

管理员模块主要实现订单数据的统计,书籍信息查看、添加、编辑和删除,书籍分类信息的查看、添加、编辑和删除,出版社信息的查看、添加、编辑和删除,订单信息列表查看、取消订单、订单发货等一系列操作,用户的密码初始化、角色赋予等操作,系统角色的查看、创建、编辑和删除等操作。

基于WEB的在线书店系统功能模块图如图4.6所示。

{width=“5.768055555555556in” height=“7.217361111111111in”}

图4.6 系统功能模块图

4.4 系统主要功能模块

4.4.1 书籍查看

书籍查看是游客、普通用户和管理员角色的功能,此功能可以实现用户查看书店系统中所销售的书籍相关信息,同时还可以模糊查询书籍或根据书籍分类查询书籍。

4.4.2 购物车管理

购物车管理是普通用户和管理员角色的功能,此功能可以实现用户将待购买的书籍进行统一管理,如购买书籍数量等信息,在购物车中选中对应购物项可以发起订单预加载,查看此次待发起订单信息,确认无误后发起创建订单操作。

4.4.3 个人订单管理 {#个人订单管理 .03三级标题}

个人订单管理是普通用户和管理员角色的功能,此功能可以实现用户查看自己的订单信息,同时还可已对未付款的订单发起订单付款操作,对未发货的订单发起订单退款等操作。

4.4.4 个人信息管理

个人信息管理是普通用户和管理员角色的功能,此功能可以实现用户查看自己的个人信息,同时还可以对自己个人信息进行修改等操作(如密码修改、收货地址修改、添加收货地址和电话修改等)。

4.4.5 书籍管理

书籍管理是管理员角色的功能,此功能可以实现管理员用户查看系统中所有的书籍信息、向系统中添加书籍、上下架书籍和是否推荐书籍等功能。

4.4.6 书籍分类管理

书籍分类管理是管理员角色的功能,此功能可以实现管理员用户查看系统中所有的分类信息、向系统中添加分类和是否启用分类等功能。

4.4.7 出版社管理

出版社管理是管理员角色的功能,此功能可以实现管理员用户查看系统中所有的出版社信息、向系统中添加出版社、是否启用出版社和系统中出版社下的书籍数量等功能。

4.4.8 订单管理

订单管理是管理员角色的功能,此功能可以实现管理员用户查看系统中所有的订单信息、对用户订单进行发货或者取消订单和根据订单的不同状态进行分类查看(如未付款、已付款、已发货等)等功能。

4.4.9 用户管理

用户管理是管理员角色的功能,此功能可以实现管理员用户对系统用户进行密码初始化和赋予角色等功能。

4.5 数据库设计

4.5.1 数据库概要结构设计

在数据库设计阶段,我们首先要对系统分析中获取的数据进行处理,以确定它们之间的关系模式。为了更好地描述这些关系,我们可以使用E-R图来表示它们。这种图由属性、实体和联系三部分组成。

经过深入研究,该系统主要有以下多个不同的实体,如:用户实体,角色实体,权限实体,用户角色实体,角色权限实体,收货地址实体,书籍基本信息实体,书籍数据实体,书籍图片实体,推荐书籍实体,书籍分类实体,出版社实体,购物车实体,用户订单实体,订单详情实体。

系统的所有实体中均包含一些公共字段,其中包括主键ID、创建人ID、创建人账号、创建时间、更新人ID,更新人账号、更新时间、删除人ID、删除人账号、删除时间、逻辑删除和删除原因,对于这些公共字段以下将不再过多阐述。确定了实体、实体的属性和实体间的联系类型。

通过E-R图描述实体间的关系,并对E-R图进行优化即得到数据库概念模型。其中核心E-R图如图4.7所示。

{width=“5.768055555555556in” height=“3.1638888888888888in”}

图4.7 核心E-R图

各个实体具体属性如下:

用户实体主要是存储系统用户的一些基本信息以及账号和密码。该实体包括账号、密码、昵称、手机号、邮箱、性别、头像、签名、用户类型、账号状态、账户余额,用户实体如图4.8所示。

{width=“5.46875in” height=“2.4479166666666665in”}

图4.8 用户实体图

角色实体主要是存储系统角色的基本信息。该实体包括角色名称、角色编码、状态、备注,角色实体如图4.9所示。

{width=“3.96875in” height=“1.2604166666666667in”}

图4.9 角色实体图

权限实体是用来记录系统权限的重要数据,它们包含了权限的名称、类别、所属层级、权限值、访问范围、组件路径、图标和状态,权限实体如图4.10所示。

{width=“5.364583333333333in” height=“2.03125in”}

图4.10 权限实体图

用户角色实体主要是用户和角色的关联实体。该实体包括用户ID、角色ID,用户角色实体如图4.11所示。

{width=“4.283333333333333in” height=“1.3605883639545058in”}

图4.11 用户角色实体图

角色权限实体是一个由角色ID和相应的权限组成的关联实体。角色权限实体如图4.12所示。

{width=“4.175in” height=“1.3261767279090113in”}

图4.12 角色权限实体图

收货地址实体主要是存储个人的收货地址相关信息。该实体包括个人用户ID、收件人姓名、收件人电话、收件人地址、排序,收货地址实体如图4.13所示。

{width=“4.941666666666666in” height=“1.447557961504812in”}

图4.13 收货地址实体图

书籍基本信息实体主要是存储书籍的基本信息。该实体包括书籍名称、作者、介绍、出版社、出版时间、封面、分类ID、封面、定价、是否推荐、状态,书籍基本信息实体如图4.14所示。

{width=“5.283333333333333in” height=“2.086999125109361in”}

图4.14 书籍基本信息实体图

书籍数据实体主要是存储书籍销售情况等相关信息。该实体包括书籍ID、售价、库存数量、销售数量、浏览数量,书籍数据实体如图4.15所示。

{width=“5.768055555555556in” height=“1.2993055555555555in”}

图4.15 书籍数据实体图

书籍图片实体主要是存储书籍的图片相关信息。该实体包括书籍ID、图片地址,书籍图片实体如图4.16所示。

{width=“2.65625in” height=“1.3020833333333333in”}

图4.16 书籍图片实体图

推荐书籍实体主要是存储系统需要推荐展示的书籍信息。该实体包括书籍ID、排序,推荐书籍实体如图4.17所示。

{width=“2.96875in” height=“1.3020833333333333in”}

图4.17 推荐书籍实体图

书籍分类实体主要是书籍分类情况的相关信息。该实体包括分类名称、分类父ID、排序、状态,书籍分类实体如图4.18所示。

{width=“4.572916666666667in” height=“1.40625in”}

图4.18 书籍分类实体图

出版社实体主要是书籍出版社的相关信息。该实体包括出版社名称、出版社下书籍数量、排序、状态,出版社实体如图4.19所示。

{width=“4.510416666666667in” height=“1.28125in”}

图4.19 出版社实体图

购物车实体是一种记录用户购物行为的重要实体,它可以提供用户的ID、书籍的ID、书籍的名称以及添加的数量相关数据。购物车实体如图4.20所示。

{width=“4.53125in” height=“1.3020833333333333in”}

图4.20 购物车实体图

用户订单实体主要是存储用户每次订单的订单主要数据信息。该实体包括用户ID、订单号、订单总金额、订单状态、支付类型、支付时间、货物状态、发货时间、物流公司、物流单号、收货人姓名、收货人电话、收货地址、签收时间,用户订单实体如图4.21所示。

{width=“5.768055555555556in” height=“2.770138888888889in”}

图4.21 用户订单实体图

订单详情实体主要是存储用户每次的订单详细数据相关信息。该实体包括订单ID、书籍ID、书籍名称、书籍作者、书籍单价、购买数量、当前书籍总价,订单详情实体如图4.22所示。

{width=“5.46875in” height=“2.1354166666666665in”}

图4.22 订单详情实体图

4.5.2 数据库逻辑结构设计

本系统的数据库基本表结构设计如下各表所示。

① sys_user用户信息表涵盖了多个关键数据,从帐号、登录密码、昵称、手机号、邮箱、性别、头像、签名到账号状态、账户余额。用户类型用于表示该个人用户是否是系统管理员,其中0代表一般使用者,1代表特定的系统管理者。账号状态表示该用户是否被禁用,0表示启用,1表示禁用。用户信息表如表4.1所示。

表4.1 用户信息表

字段名 数据类型 长度 是否为空 备注


id bigint 否 用户id
username varchar 16 否 账号
password varchar 18 否 密码
nick_name varchar 8 是 昵称
phonenumber varchar 11 是 手机号
email varchar 32 是 邮箱
sex char 1 是 性别
avater varchar 128 是 头像
purse decimal 是 账户余额
sign varchar 128 是 用户签名
user_type tinyint 是 用户类型(0:普通用户,1:管理员)
status tinyint 是 账号状态(0:正常,1:禁用)
creator bigint 是 创建人id
create_date datetime 是 创建时间
create_name varchar 8 是 创建人姓名
updater bigint 是 更新人id
update_date datetime 是 更新时间
update_name varchar 8 是 更新人姓名
deleter bigint 是 删除人id
delete_time datetime 是 删除时间
delete_name varchar 8 是 删除人姓名
is_deleted tinyint 是 是否删除
delete_reason varchar 128 是 删除原因

② sys_role角色表:存储系统中的角色信息,主要包括角色的名称、角色的编码、角色的状态、角色的备注。角色的状态表示该角色是否被禁用,0表示已激活,1表示禁用。角色表如表4.2所示。

表4.2 角色表

字段名 数据类型 长度 是否为空 备注


id bigint 否 角色id
role_name varchar 8 否 角色名称
role_code varchar 5 是 角色编码
remark varchar 128 是 备注
status tinyint 是 状态(禁用1,启用0)
creator bigint 是 创建人id
create_date datetime 是 创建时间
create_name varchar 8 是 创建人姓名
updater bigint 是 更新人id
update_date datetime 是 更新时间
update_name varchar 8 是 更新人姓名
deleter bigint 是 删除人id
delete_time datetime 是 删除时间
delete_name varchar 8 是 删除人姓名
is_deleted tinyint 是 是否删除
delete_reason varchar 128 是 删除原因

③ sys_permission权限表是一个完整的记录系统所有权限的数据表,其中包含了用户的身份、权限类型、上级、访问路径、组件路径、图标以及状态等多种信息。状态表示该权限是否被禁用,0表示启用,1表示禁用。权限表如表4.3所示。

表4.3 权限表

字段名 数据类型 长度 是否为空 备注


id bigint 否 权限id
pid bigint 否 所属上级
name varchar 8 否 名称
type tinyint 是 类型(1:菜单,2:按钮)
permission_value varchar 16 是 权限值
path varchar 36 是 访问路径
component varchar 36 是 组件路径
icon varchar 128 是 图标
status tinyint 是 状态(1:禁止,0:正常)
creator bigint 是 创建人id
create_date datetime 是 创建时间
create_name varchar 8 是 创建人姓名
updater bigint 是 更新人id
update_date datetime 是 更新时间
update_name varchar 8 是 更新人姓名
deleter bigint 是 删除人id
delete_time datetime 是 删除时间
delete_name varchar 8 是 删除人姓名
is_deleted tinyint 是 是否删除
delete_reason varchar 128 是 删除原因

④ sys_user_role用户角色表是一个完整的系统角色表,它汇集了用户ID、角色ID以及其他相关信息,详细信息可以在表4.4中查看。

表4.4 用户角色表

字段名 数据类型 长度 是否为空 备注


id bigint 否 主键id
role_id bigint 否 角色id
user_id bigint 否 用户id
creator bigint 是 创建人id
create_date datetime 是 创建时间
create_name varchar 8 是 创建人姓名
updater bigint 是 更新人id
update_date datetime 是 更新时间
update_name varchar 8 是 更新人姓名
deleter bigint 是 删除人id
delete_time datetime 是 删除时间
delete_name varchar 8 是 删除人姓名
is_deleted tinyint 是 是否删除
delete_reason varchar 128 是 删除原因

⑤ sys_role_permission是一个用于记录系统中角色和权限的表,它包含了所有角色的ID和权限的信息。角色权限表如表4.5所示。

表4.5 角色权限表

字段名 数据类型 长度 是否为空 备注


id bigint 否 主键id
role_id bigint 否 角色id
permission_id bigint 否 权限id
creator bigint 是 创建人id
create_date datetime 是 创建时间
create_name varchar 8 是 创建人姓名
updater bigint 是 更新人id
update_date datetime 是 更新时间
update_name varchar 8 是 更新人姓名
deleter bigint 是 删除人id
delete_time datetime 是 删除时间
delete_name varchar 8 是 删除人姓名
is_deleted tinyint 是 是否删除
delete_reason varchar 128 是 删除原因

⑥ mall_address用户个人收货地址表:主要包括用户ID、收件人姓名、收件人电话、收件人地址、排序。收货地址表如表4.6所示。

表4.6 收货地址表

字段名 数据类型 长度 是否为空 备注


id bigint 否 主键id
user_id bigint 否 账号id
name varchar 8 是 收货人姓名
phone varchar 11 是 收件人电话
addr varchar 128 是 收件人地址
sort int 是 排序
creator bigint 是 创建人id
create_date datetime 是 创建时间
create_name varchar 8 是 创建人姓名
updater bigint 是 更新人id
update_date datetime 是 更新时间
update_name varchar 8 是 更新人姓名
deleter bigint 是 删除人id
delete_time datetime 是 删除时间
delete_name varchar 8 是 删除人姓名
is_deleted tinyint 是 是否删除
delete_reason varchar 128 是 删除原因

⑦ mall_book书籍基本信息表:主要包括书籍名称、作者、介绍、出版社、出版时间、封面、分类ID、封面、定价、是否推荐、状态。状态表示该书籍是否上架,0表示下架,1表示上架。是否推荐表示该书及是否推荐展示,0表示不推荐,1表示推荐。书籍基本信息表如表4.7所示。

表4.7 书籍基本信息表

字段名 数据类型 长度 是否为空 备注


id bigint 否 书籍id
name varchar 16 否 书籍名称
author varchar 8 是 作者
introduce longtext 是 介绍
publisher varchar 10 是 出版社
pubdate datetime 是 出版时间
cover varchar 128 是 封面
price decimal 是 定价
booktype_id varchar 36 是 图书类分类id
show_status tinyint 是 推荐图书(0:不推荐,1推荐)
status tinyint 是 状态(0:未上架,1:已上架)
creator bigint 是 创建人id
create_date datetime 是 创建时间
create_name varchar 8 是 创建人姓名
updater bigint 是 更新人id
update_date datetime 是 更新时间
update_name varchar 8 是 更新人姓名
deleter bigint 是 删除人id
delete_time datetime 是 删除时间
delete_name varchar 8 是 删除人姓名
is_deleted tinyint 是 是否删除
delete_reason varchar 128 是 删除原因

⑧ mall_bookinfo书籍数据表:主要包括书籍ID、售价、库存数量、销售数量、浏览数量。书籍数据表如表4.8所示。

表4.8 书籍数据表

字段名 数据类型 长度 是否为空 备注


id bigint 否 主键id
book_id bigint 否 bookid
sell_price decimal 是 售卖价格
stock int 是 库存数量
sell_num int 是 销售数量
view_num int 是 浏览数量
collect_num int 是 收藏数量
creator bigint 是 创建人id
create_date datetime 是 创建时间
create_name varchar 8 是 创建人姓名
updater bigint 是 更新人id
update_date datetime 是 更新时间
update_name varchar 8 是 更新人姓名
deleter bigint 是 删除人id
delete_time datetime 是 删除时间
delete_name varchar 8 是 删除人姓名
is_deleted tinyint 是 是否删除
delete_reason varchar 128 是 删除原因

⑨ mall_bookimgs书籍图片表:主要包括书籍ID、图片地址。书籍图片表如表4.9所示。

表4.9 书籍图片表

字段名 数据类型 长度 是否为空 备注


id bigint 否 主键id
book_id bigint 否 bookId
img_url varchar 128 是 图片地址
creator bigint 是 创建人id
create_date datetime 是 创建时间
create_name varchar 8 是 创建人姓名
updater bigint 是 更新人id
update_date datetime 是 更新时间
update_name varchar 8 是 更新人姓名
deleter bigint 是 删除人id
delete_time datetime 是 删除时间
delete_name varchar 8 是 删除人姓名
is_deleted tinyint 是 是否删除
delete_reason varchar 128 是 删除原因

⑩ mall_recommend推荐书籍表:主要包括书籍ID、排序。推荐书籍表如表4.10所示。

表4.10 推荐书籍表

字段名 数据类型 长度 是否为空 备注


id bigint 否 ID
book_id bigint 否 图书id
sort int 是 排序
creator bigint 是 创建人id
create_date datetime 是 创建时间
create_name varchar 8 是 创建人姓名
updater bigint 是 更新人id
update_date datetime 是 更新时间
update_name varchar 8 是 更新人姓名
deleter bigint 是 删除人id
delete_time datetime 是 删除时间
delete_name varchar 8 是 删除人姓名
is_deleted tinyint 是 是否删除
delete_reason varchar 128 是 删除原因

⑪ mall_booktype系统书籍分类表:主要包括书籍分类名称、书籍分类父ID、排序和状态。状态表示该分类是否被禁用,0表示禁用,1表示启用。书籍分类表如表4.11所示。

表4.11 书籍分类表

字段名 数据类型 长度 是否为空 备注


id bigint 否 分类id
pid bigint 否 父级分类id
name varchar 6 否 分类名称
sort int 是 显示排序
status tinyint 是 禁用状态(0:禁用,1:启用)
creator bigint 是 创建人id
create_date datetime 是 创建时间
create_name varchar 8 是 创建人姓名
updater bigint 是 更新人id
update_date datetime 是 更新时间
update_name varchar 8 是 更新人姓名
deleter bigint 是 删除人id
delete_time datetime 是 删除时间
delete_name varchar 8 是 删除人姓名
is_deleted tinyint 是 是否删除
delete_reason varchar 128 是 删除原因

⑫ mall_publish出版社表:主要包括出版社名称、出版社下书籍数量、排序、状态。状态表示该出版社是否被禁用,0表示禁用,1表示启用。出版社表如表4.12所示。

表4.12 出版社表

字段名 数据类型 长度 是否为空 备注


id bigint 否 出版社id
publish_name varchar 10 否 出版社名称
sort int 是 排序
number int 是 该出版社下书籍数量
status tinyint 是 出版社状态 (0:正常,1启用
creator bigint 是 创建人id
create_date datetime 是 创建时间
create_name varchar 8 是 创建人姓名
updater bigint 是 更新人id
update_date datetime 是 更新时间
update_name varchar 8 是 更新人姓名
deleter bigint 是 删除人id
delete_time datetime 是 删除时间
delete_name varchar 8 是 删除人姓名
is_deleted tinyint 是 是否删除
delete_reason varchar 128 是 删除原因

⑬ mall_cart购物车表:主要包括用户ID、书籍ID、书籍名称、添加数量。购物车表如表4.13所示。

表4.13 购物车表

字段名 数据类型 长度 是否为空 备注


id bigint 否 购物车id
user_id bigint 否 用户id
book_id bigint 否 图书id
book_name varchar 16 是 图书名称
quantity int 是 数量
selected int 是 是否选中
creator bigint 是 创建人id
create_date datetime 是 创建时间
create_name varchar 8 是 创建人姓名
updater bigint 是 更新人id
update_date datetime 是 更新时间
update_name varchar 8 是 更新人姓名
deleter bigint 是 删除人id
delete_time datetime 是 删除时间
delete_name varchar 8 是 删除人姓名
is_deleted tinyint 是 是否删除
delete_reason varchar 128 是 删除原因

⑭ mall_order用户订单表:主要包括用户ID、订单号、订单总金额、订单状态、支付类型、支付时间、货物状态、发货时间、物流公司、物流单号、收货人姓名、收货人电话、收货地址、签收时间。订单状态表示该笔订单目前处于阶段,0表示未付款,1表示已付款,2表示已取消。货物状态表示该订单物流状态,0表示未发货,1表示已发货,2表示已签收。用户订单表如表4.14所示。

表4.14 用户订单表

字段名 数据类型 长度 是否为空 备注


id bigint 否 订单id
user_id bigint 否 用户id
order_no varchar 20 否 订单号
total_price decimal 是 订单总金额
receiver_name varchar 8 是 收件人姓名
receiver_mobile varchar 11 是 收件人手机号
receiver_address varchar 128 是 收货地址
order_status int 是 订单状态(0:未付款,1:已付款,3:订单超时)
payment_type int 是 支付类型(0:微信,1:支付宝,3:钱包)
pay_time datetime 是 支付时间/超时时间
product_status int 是 货物状态(0:未发货,1:已发货,2:已签收)
send_time datetime 是 发货时间
logistics_company tinyint 是 物流公司
logistics_num varchar 36 是 物流单号
delivery_time datetime 是 签收时间
creator bigint 是 创建人id
create_date datetime 是 创建时间
create_name varchar 8 是 创建人姓名
updater bigint 是 更新人id
update_date datetime 是 更新时间
update_name varchar 8 是 更新人姓名
deleter bigint 是 删除人id
delete_time datetime 是 删除时间
delete_name varchar 8 是 删除人姓名
is_deleted tinyint 是 是否删除
delete_reason varchar 128 是 删除原因

⑮ mall_order_item订单详情表:主要包括订单ID、书籍ID、书籍名称、书籍作者、书籍单价、购买数量、当前书籍总价。订单详情表如表4.15所示。

表4.15 订单详情表

字段名 数据类型 长度 是否为空 备注


id bigint 否 主键id
order_id bigint 否 订单id
book_id bigint 否 图书id
book_name varchar 16 是 图书名称
book_author varchar 8 是 图书作者
book_avater varchar 128 是 图书封面
sell_price decimal 是 图书单价
quantity int 是 订购数量
total_price decimal 是 当前图书总价
creator bigint 是 创建人id
create_date datetime 是 创建时间
create_name varchar 8 是 创建人姓名
updater bigint 是 更新人id
update_date datetime 是 更新时间
update_name varchar 8 是 更新人姓名
deleter bigint 是 删除人id
delete_time datetime 是 删除时间
delete_name varchar 8 是 删除人姓名
is_deleted tinyint 是 是否删除
delete_reason varchar 128 是 删除原因
主键id
order_id bigint 否 订单id
book_id bigint 否 图书id
book_name varchar 16 是 图书名称
book_author varchar 8 是 图书作者
book_avater varchar 128 是 图书封面
sell_price decimal 是 图书单价
quantity int 是 订购数量
total_price decimal 是 当前图书总价
creator bigint 是 创建人id
create_date datetime 是 创建时间
create_name varchar 8 是 创建人姓名
updater bigint 是 更新人id
update_date datetime 是 更新时间
update_name varchar 8 是 更新人姓名
deleter bigint 是 删除人id
delete_time datetime 是 删除时间
delete_name varchar 8 是 删除人姓名
is_deleted tinyint 是 是否删除
delete_reason varchar 128 是 删除原因

本文标签: 在线毕业设计书店系统