摘 要
在当今社会,随着人们生活质量的提高和对宠物健康的重视,宠物已经成为许多人生活中不可或缺的伙伴。与家中宠物朝夕相处,我们与宠物之间建立了深厚的情感纽带。然而,由于各种原因,有时候主人需要将宠物寄养在专业机构或个人那里。因此,建立一套高效的宠物代养交易管理系统变得尤为重要。
宠物代养交易管理系统采用了Django框架作为后端开发工具,利用Python语言实现逻辑控制。系统使用MySQL数据库来存储用户信息、宠物资料以及交易记录等数据。在前端设计上,系统采用Vue.js框架,旨在提供用户友好的交互体验。
这套系统能够帮助宠物代养机构或个人管理宠物信息、宠物商品选购、处理支付事务、宠物食谱下单等功能。用户可以通过系统浏览各种宠物寄养选项,选择合适的寄养服务,并进行在线预订和支付。同时,系统还提供评价和反馈功能,帮助用户了解他人的评价和建议,提高整体服务质量。
基于Django框架的宠物代养交易管理系统具有高效的逻辑控制能力和稳定的数据管理功能,为宠物代养行业带来便利与效益。该系统的普及和应用可以提升宠物代养服务的水平,提供更加便捷、可靠的交易平台,满足宠物主人和代养机构的需求。
通过这样一套现代化的宠物代养交易管理系统,我们可以更好地管理宠物寄养服务,提升用户体验,推动整个宠物代养行业的发展与进步。。
关键词:宠物代养交易管理系统、Django框架、MySQL数据库、Vue.js框架、Python语言。
Pet Care Transaction Management System
Abstract
In today's society, with the improvement of people's quality of life and the emphasis on pet health, pets have become an indispensable companion in many people's lives. Being with our pets day and night at home has established a deep emotional bond between us and them. However, for various reasons, sometimes owners need to keep their pets in professional institutions or individuals. Therefore, establishing an efficient pet agency trading management system has become particularly important.
The pet custody transaction management system adopts the Django framework as the backend development tool and implements logical control using Python language. The system uses MySQL database to store user information, pet information, and transaction records. In terms of front-end design, the system adopts the Vue.js framework, aiming to provide a user-friendly interactive experience.
This system can help pet agencies or individuals manage pet information, purchase pet products, handle payment transactions, place orders for pet recipes, and other functions. Users can browse various pet care options through the system, choose suitable care services, and make online reservations and payments. At the same time, the system also provides evaluation and feedback functions to help users understand the evaluations and suggestions of others, and improve the overall service quality.
The pet agency transaction management system based on the Django framework has efficient logical control capabilities and stable data management functions, bringing convenience and benefits to the pet agency industry. The popularization and application of this system can improve the level of pet care services, provide a more convenient and reliable trading platform, and meet the needs of pet owners and care institutions.
Through such a modern pet care transaction management system, we can better manage pet care services, improve user experience, and promote the development and progress of the entire pet care industry.
Keywords: Pet custody transaction management system, Django framework, MySQL database, Vue.js framework, Python language.
目 录
随着社会经济的不断发展和人们生活水平的提高,宠物在人们生活中扮演着越来越重要的角色,成为许多家庭不可或缺的伙伴。然而,由于工作繁忙、旅行等原因,主人们常常需要将自己的宠物寄养在专业机构或个人那里。在这种背景下,建立一套高效、便捷的宠物代养交易管理系统显得尤为重要。通过利用现代信息技术,如Django框架、Python编程语言、MySQL数据库和Vue.js前端框架,构建一个智能化的宠物代养交易管理系统,能够帮助宠物代养机构和个人更好地管理宠物信息、优化日程安排、简化支付流程,提升服务质量和用户体验。这样的系统不仅可以满足宠物主人对寄养服务的需求,也有助于推动宠物代养行业的规范化发展,促进行业的信息化和智能化进程,为宠物主人和代养机构提供更便捷、可靠的交易平台,推动整个宠物行业向着数字化、智能化的方向迈进。
当前,国内外对宠物代养行业的研究逐渐增多。国外研究主要聚焦在宠物健康、行为心理学和宠物服务行业的发展趋势,致力于提高宠物生活质量和主人对宠物的关爱。在国内,随着宠物市场的迅速扩大,研究重心逐渐转向宠物管理、宠物医疗保健、宠物服务行业的发展模式等方面。然而,在宠物代养交易管理系统领域的研究相对较少,尚未形成系统性的理论框架和实践经验。建立一套基于现代信息技术的智能化宠物代养交易管理系统,具有重要的理论和实践意义。这样的系统有望填补国内外相关研究的空白,为宠物代养行业的规范化和智能化发展提供有益借鉴。
通过深入研究国内外宠物代养行业的发展现状和趋势,结合先进的技术手段和管理理念,可以为宠物代养行业的提升和创新提供有力支持。智能化的宠物代养交易管理系统不仅可以提高宠物代养服务的效率和质量,还能为宠物主人和代养机构带来更便捷、可靠的交易平台,提升用户体验和满意度。此外,智能系统还有助于规范宠物代养行业的市场秩序,推动行业的数字化转型,促进宠物代养行业朝着更加智能化、规范化的方向迈进。
综合国内外研究现状可见,宠物代养行业作为一个新兴领域,面临着发展机遇和挑战。构建智能化的宠物代养交易管理系统,将为整个行业带来创新和活力,推动宠物服务行业朝着更加智能、便捷、高效的方向发展。在不断提升技术水平和管理能力的支持下,宠物代养行业有望迎来更加繁荣和可持续发展,为宠物主人和宠物提供更好的服务和关爱。
六个章节共同组成了本文研究及设计内容,包括:
第一章:绪论。本文章的开头部分,对本题目的研究背景和国内外研究现状等一些做文字性的描述。
第二章:相关技术介绍。主要介绍Django框架、Python嵌入式脚本语言、Vue.js 介绍等。
第三章:系统分析。包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。
第四章:系统设计。本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。
第五章:系统实现。将本系统分为前提的开发工具介绍和后期的功能代码实现。
第六章:系统测试。系统完成后,根据各个模块的测试用例才对各个模块进行功能测试。
Django是高水准的Python编程语言驱动的一个开源模型.视图,控制器风格的Web应用程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。这也正是OpenStack的Horizon组件采用这种架构进行设计的主要原因。另外,在Dj ango框架中,还包含许多功能强大的第三方插件,使得Django具有较强的可扩展性。Django 项目源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。Django 框架的核心组件有:
用于创建模型的对象关系映射;
为最终用户设计较好的管理界面;
URL 设计;
设计者友好的模板语言;
缓存系统。
Django(发音:[`dʒæŋɡəʊ]) 是用python语言写的开源web开发框架(open source web framework),它鼓励快速开发,并遵循MVC设计。Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 。
Django 根据比利时的爵士音乐家Django Reinhardt命名,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。
由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SD Times评选为2013 SD Times 100,位列“API、库和框架”分类第6位,被认为是该领域的佼佼者。
操作系统:可以选择 Windows、macOS 或 Linux 作为开发环境的操作系统。
Python 版本:使用 Python 3.x 版本作为后端开发语言,确保兼容性和稳定性。
集成开发环境(IDE):推荐使用 PyCharm、Visual Studio Code 或 Sublime Text 等专业的 Python 开发工具,提供代码自动补全、调试功能等,提升开发效率。
数据库:结合Django框架,可以选择使用 MySQL、SQLite 或 PostgreSQL 等数据库管理系统,根据项目需求选择合适的数据库。
Django 框架:作为后端开发框架,使用 Django 框架来搭建系统的逻辑控制部分,简化开发流程,提高开发效率。
前端开发:使用 HTML、CSS 和 JavaScript 编写系统的前端页面,结合 Vue.js 框架提供良好的用户交互体验。
版本控制工具:推荐使用 Git 进行版本控制管理,保持代码的安全性和团队协作的高效性。
虚拟环境:建议使用 virtualenv 或 Anaconda 等工具创建虚拟环境,隔离项目开发环境,保持环境的清洁和独立性。
部署工具:考虑使用 Docker 进行应用的容器化部署,便于管理和维护系统的部署环境。
早在上个世纪90年代,Python就由吉多·范罗苏姆进行创造,自诞生之日起,Python就一直深深的受到了程序开发者的广泛喜爱,它作为计算机主要的编程语言,一直到今。Python语言是真的是一种纯面向对象的计算机语言,在Python的世界中,所有的方法、数据类型、符号等都是以类的方式存在的,最顶层的就是Object,所有的类都是对object的继承。继承是Python中的核心思想,与C语言不同的是,子类只有一个父类,这样的好处就是操作更加的简便,让人更容易理解,在代码的书写上也会容易较多。Python另外一个特性就是多态性,调用父类接口的方法可以实现子类的实现,这样的好处就是很好的对实现方法进行了隐藏(封装),而且又能够把API进行公开,一举两得。接口思想很好的诠释了想象对象的思想,让面向对象编程渐渐转向面向接口编程。如今,随着编程思想的继续发展,Python也加入了一些函数式编程的思想,这样的好处就是让编程代码更加的简洁与方便。本管理系统采用Python编程语言进行后台的开发,一是鉴于标准化制定以后,Python语言常用于大型商业应用程序后台系统中,生态稳定;二是也希望通过本系统的开发提高自己编写Python代码的能力。
用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;
而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;
从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。
在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式。
![](https://i-blog.csdnimg.cn/direct/8b015a399efe4eb4b6ef2e61ddb990c2.png)
数据库作为数据的存储地方是项目必须的,MySQL是一款非常优秀的关系型数据库,早期的MySQL并不是甲骨文公司的,后来才被他收购的。MySQL非常的小巧,安装包才几兆,sql语言的书写也比较容易学习,最重要的是MySQL同时也是一款开源的软件,所以不需要额外进行付费,本系统本身也是以学习总结所学知识为主,在系统的开发上最好尽量使用免费的软件,所以选用MySQL进行数据库管理。MySQL的容量也是非常大的,同时支持分库分表的操作,支持分布式,所以越来越多的中小企业选择该款数据库管理工具。另外值得一提的是,开源也有一个不好的地方,就是容易遭到破解和黑客攻击,所以MySQL在使用上还是更多的使用在中小项目中。
MySQL不会对平台有需求,所以任何一个程序员都可以通过 MySQL数据库来完成自己的系统开发,并且还可以节约大量的资源。因为它具有强大功能,所以可以用来储存这个系统的数据。
MySQL适合于各种应用,我们在运行数据库的时候,也很容易上手,我们只要编写一段代码,就可以完成相应的功能,并且可以在任何的平台上使用,而不需要再进行第二次的编译。MySQL数据库还具备在本地存储数据和允许结构化查询以方便管理的优势;MySQL是一个完全网络化的系统,它的数据库可以在互联网的任何位置被访问,它可以在任何地点与任何人分享;此外,MySQL也提供了存取控制的能力,可以阻止数据被非法使用,MySQL服务稳定,开发成本低,所以在开发过程中,MySQL数据库是最受欢迎的。
- 系统分析
开发软件有没有触犯法律,这涉及到软件或者系统能不能发布的问题。如果触犯了法律,就必将会受到法律的制裁。常见法律问题就是软件抄袭问题,若是抄袭别人软件,将会受到严厉惩罚。
软件产业经过多年的发展,现在已经达到了很大的规模,从事软件开发的专业人员不计其数,软件产业的重要性已经上升到了影响和推动国民经济发展的核心地位。本系统基于的架构,目前技术已经非常的成熟,是不存在技术上面难以实现的麻烦。
开发软件所需的时间、人力和物力成本,开发完成后的收益如何,从投资回报的角度软件所需功能在现有经济条件能不能实现等进行深入的考虑,都符合实际的要求。所以宠物代养交易管理系统具有经济可行性和实用性,可以节约管理成本。
宠物代养交易管理系统主要是为了更加地完善,对宠物论坛、宠物资讯、宠物商品、宠物寄养、宠物食谱传播等提供了方便的机制。本系统有多类使用者,分别是普通用户、员工用户和管理员。以下是从这三种用户的角度分别介绍本系统所要实现的功能。
普通用户:
注册登录:普通用户首先需要完成注册流程并登录账户,以便享受平台提供的各项服务。注册过程可能需要填写一些基本信息,如用户名、密码、联系方式等。登录后,用户即可开始浏览和使用平台上的各项功能。
首页浏览:在首页,用户可以查看公告信息,了解平台最新动态;浏览商品信息,包括商品列表、价格、库存等;使用客服咨询功能,提出疑问或建议,等待管理员回复。
宠物论坛:用户可以进入宠物论坛,查看其他用户发布的论坛内容,了解宠物养护经验、交流心得。同时,用户也可以自己发布论坛内容,分享自己的经验和看法。
商品信息:在商品信息页面,用户可以查看商品详细信息,进行局部搜索以快速找到感兴趣的商品。用户还可以收藏喜欢的商品,加入购物车,并随时查看购物车中的商品。当用户决定购买时,可以选择立即购买,查看销售数量和商品库存数量,确保购买的顺利进行。
商城管理:在商城管理模块,用户可以管理自己的购物车、订单和地址信息。用户可以随时查看购物车中的商品,对订单进行查看和管理,以及添加和编辑收货地址。
寄养中心:在寄养中心页面,用户可以查看寄养中心的列表信息,包括宠物名称、适合品种、寄养单价、寄养房数等。用户可以对喜欢的寄养中心进行收藏和预约寄养,并发表评论。当负责人同意寄养请求后,寄养房数会递减。用户还可以通过宠舍名称和适合品种进行搜索,快速找到符合需求的寄养中心。
宠物食谱:在宠物食谱页面,用户可以查看宠物食谱的列表信息,包括食谱名称、适合品种、食谱单价等。用户可以对喜欢的食谱进行收藏和下单,并发表评论。同时,用户还可以通过食谱名称和适合品种进行搜索,快速找到适合宠物的食谱。
个人账户与中心管理:在个人账户页面,用户可以查看和管理自己的账户信息,包括个人信息、账户余额等。在个人中心页面,用户可以查看自己的个人信息、订单记录、收藏夹等,方便随时了解和管理自己的在平台上的活动。
寄养预约与订单管理:在寄养预约页面,用户可以查看自己的寄养预约信息,包括寄养编号、宠舍名称、审核状态等。用户可以通过寄养编号、宠舍名称等条件进行搜索,快速找到自己的预约信息。同时,用户还可以查看和管理自己的寄养订单信息,包括订单状态、支付状态等,寄养订单里能对寄养费用进行支付。
寄养日常与结束管理:在寄养日常页面,用户可以查看寄养宠物的日常生活记录,包括喂食、清洁、活动等情况。用户可以通过寄养编号或宠舍名称进行搜索,快速找到对应宠物的日常记录。在寄养结束页面,用户可以查看寄养结束的信息,包括寄养时长、费用结算等,并在寄养日常里可查看视频和员工发过来的宠物日常。
食谱订单支付与配送管理:在食谱订单页面,用户可以查看自己的食谱订单信息,包括订单号、食谱名称、下单日期、审核状态和支付状态等。用户可以进行订单费用的支付操作,并查看配送状态和签收状态。同时,用户还可以通过订单号、食谱名称等条件进行搜索,快速找到自己的订单信息。
订单配送与签收:在订单配送页面,用户可以查看自己购买的商品配送信息,包括配送状态、签收状态等。用户可以通过配送状态和签收状态进行搜索,快速找到自己需要处理的配送信息。当商品送达时,用户可以进行签收操作,确认商品已经收到。
宠物论坛发布与管理:在宠物论坛页面,用户可以发布新的论坛内容,分享自己的宠物养护经验和心得。同时,用户还可以查看和管理自己发布的论坛内容,包括查看评论、删除帖子等。用户可以通过标题和分类进行搜索,快速找到感兴趣的论坛内容。
收藏夹管理:在收藏夹页面,用户可以查看自己收藏的商品、寄养中心、食谱等信息。用户可以随时添加、删除或编辑收藏夹中的内容,方便随时查看和管理自己的收藏信息。
管理员:
后台首页:管理员登录后台后,首先映入眼帘的是“后台首页”。这里展示了商品销售金额统计表和商品销售数量统计表,为管理员提供了直观的销售概览,有助于迅速掌握店铺的经营状况。
系统用户管理:管理员在系统用户管理模块中,能够增删改查各类用户账户,包括管理员、普通用户和员工用户。同时,管理员还需对用户账户进行审核,确保系统的安全性和用户信息的准确性。
宠物种类管理:在宠物种类管理模块,管理员可以方便地进行宠物种类的添加、查询、重置和删除操作。此外,管理员还能通过宠物种类进行搜索,快速定位到特定种类的宠物信息。
寄养中心管理:寄养中心管理模块允许管理员对寄养中心进行列表展示、添加、查看详情、管理用户评论等操作。管理员还能通过宠舍名称或适合品种进行搜索,以便快速找到符合条件的寄养中心。同时,管理员还能授权员工对寄养中心进行管理,确保寄养服务的高效运作。
寄养预约管理:在寄养预约管理模块,管理员可以查看寄养预约的列表,查询、重置和删除预约信息。此外,管理员还能通过寄养编号、宠舍名称和审核状态进行搜索,以便快速定位到特定的预约信息。管理员还能确认寄养等相关信息操作,确保寄养服务的顺利进行。
寄养订单管理:寄养订单管理模块为管理员提供了寄养订单的列表展示、查看详情、记录日常、结束寄养等操作功能。管理员可以通过寄养编号、宠舍名称和支付状态进行搜索,快速找到相关订单信息。此外,管理员还能对订单进行审核和回复,确保寄养服务的质量和效率。
奇养日常管理:在奇养日常管理模块中,管理员可以列表查看奇养日常信息,进行查询、重置和删除操作。同时,管理员还能通过寄养编号和宠舍名称进行搜索,快速定位到特定信息。这一模块有助于管理员全面掌握奇养日常的运营情况。
寄养结束管理:寄养结束管理模块允许管理员查看寄养结束的列表信息,进行查询、重置和删除操作。管理员还能通过寄养编号和宠舍名称进行搜索,快速找到相关寄养结束信息。这一模块有助于管理员及时跟进寄养结束后的相关工作。
宠物食谱管理:在宠物食谱管理模块中,管理员可以添加、查看详情和用户评论宠物食谱信息。同时,管理员还能通过食谱名称和适合品种进行搜索,快速定位到特定食谱信息。这一模块有助于管理员全面掌握宠物食谱的情况,为宠物提供合理的饮食方案。
食谱订单管理:食谱订单管理模块为管理员提供了食谱订单的列表展示、查询、重置、删除和查看详情等操作功能。管理员可以通过订单号、食谱名称、下单日期、审核状态和支付状态进行搜索,快速找到相关订单信息。此外,管理员还能对订单进行审核和回复,确保食谱订单的高效处理。
系统管理:在系统管理模块中,管理员可以进行轮播图的管理操作,包括增删改查等。这一模块有助于管理员维护系统的视觉呈现效果,提升用户体验。
公告信息管理:公告信息管理模块允许管理员发布、修改、删除和查看公告信息。管理员可以通过此模块及时向用户传达重要通知和消息,确保用户及时获取相关信息。
交流管理:在交流管理模块中,管理员可以管理宠物论坛和论坛分类信息,进行增删改查和查看详情等操作。这一模块有助于管理员维护论坛的秩序和氛围,促进用户之间的交流互动。
商城管理:商城管理模块为管理员提供了商品信息的增删改查和查看详情功能。管理员还能管理用户评论和分类列表信息,查看订单列表和订单配送情况。这一模块有助于管理员全面掌控商城的运营情况,确保商品信息的准确性和订单处理的高效性。
员工用户:
员工用户作为寄养中心的工作人员,负责宠物代养的核心业务。系统允许管理员直接为员工创建账号并分配登录权限。员工登录后,能够查看和管理与其职责相关的寄养信息,确保寄养流程的顺畅和宠物的安全。
寄养中心管理功能:寄养中心管理模块允许员工查看寄养中心的宠物房列表、宠物房详情、用户评论等信息。员工还可以根据宠舍名称和适合品种进行搜索,以便快速定位特定宠物房。此外,员工可以管理自己负责的宠物房,确保寄养中心的日常运营有序进行。
寄养预约管理功能:寄养预约管理模块展示了所有用户的寄养预约订单。员工可以查看预约订单的详情,包括用户信息、宠物信息、寄养时间等。员工还有权审核预约订单,确认订单的有效性和寄养条件的符合性。此外,员工可以通过寄养编号、宠舍名称和审核状态进行搜索,提高工作效率。
寄养订单管理功能:寄养订单管理模块是员工处理寄养业务的核心模块。员工可以查看寄养订单的详细信息,包括用户日常记录、寄养结束时间等。员工还可以根据寄养编号、宠舍名称和支付状态进行搜索,快速定位特定订单。在处理订单时,员工可以记录用户的日常情况,确保寄养过程中的宠物健康和安全。
系统非功能需求有非常多,比如性能需求、可承载最大用户数、稳定性、易用性需求等。本系统分析时考虑到易用性需求,因为系统是给人使用的,所以必须充分从用户的角度出发,考虑用户体验,使系统易理解易上手易操作。
1.普通用户主要使用系统进行宠物领养申请,下图所示为普通用户的用例。
![](https://i-blog.csdnimg.cn/direct/c03cc4c5d8df45419ef2ebd20a6fe861.png)
图3-1 普通用户用例图
2.下图所示为管理员的用例。
图3-2 管理员用例图
- 下图所示为负责员工的用例。
系统业务流程图如下所示。
![](https://i-blog.csdnimg.cn/direct/b61905885a5d497fbd21bd081f379513.png)
本系统架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。
![](https://i-blog.csdnimg.cn/direct/b916201a44be407a92bcadcec9160953.png)
图4-1系统架构图
为了将系统从“做什么”落实到“怎么做”,基于系统设计原则,对系统功能进行更适合编码实现的功能划分。根据上图的系统架构设计,整理出规范的系统功能结构图,为系统的实现编码做好准备。
如下图所示为系统功能结构图。
![](https://i-blog.csdnimg.cn/direct/f3906cbc22354372bf8e850713845356.png)
图4-2系统功能结构图
用户管理针对所有用户和管理员。未注册用户点击注册,进入注册页面填写新用户信息,得到自定义生成账号后,注册完成。未注册用户注册的活动图如下图所示。
图4-3未注册用户注册活动图
用户可进行登录使用更多功能,首先进入用户登录界面,输入用户账号和密码,后台对账号和密码信息进行核对验证,验证成功则页面直接显示登录用户昵称代表登录成功,否则返回用户登录界面。用户登录活动图如下图。
图4-4用户登录活动图
用户登录后,进入功能页面,进行宠物信息信息浏览,通知公告、医生目录、预约挂号。用户使用功能活动图如下图所示。
图4-5用户使用功能活动图
用户功能界面可对自己的密码进行修改。进入修改密码界面后核对当前密码,核对成功后填写新密码。修改密码活动图如下图所示。
图4-6修改密码活动图
宠物代养交易管理系统采用的数据库是MySQL,该部分将根据系统需求和设计,设计合理的数据库。本系统考虑到之后系统的扩展集群,数据库将不使用外键。此外,不用外键时数据管理也较为简单,操作更加方便,性能更高。
E-R图,更加直观的告诉开发人员系统的各个数据的属性,各个数据之间的联系,各个数据的类型。能通过该模型更直观地了解数据库的设计,并根据对其逐渐改善。
本系统图设计,如下图所示。
![](https://i-blog.csdnimg.cn/direct/5f2b9ebc6a54422d820aea3a3cd6a351.png)
图4-7系统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 | 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 | 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 | daily_foster_care_id | int | 10 | 0 | N | Y | 寄养日常ID | |
2 | foster_care_number | varchar | 64 | 0 | Y | N | 寄养编号 | |
3 | name_of_pet_house | varchar | 64 | 0 | Y | N | 宠舍名称 | |
4 | suitable_for_variety | varchar | 64 | 0 | Y | N | 适合品种 | |
5 | administrative_staff | int | 10 | 0 | Y | N | 0 | 管理人员 |
6 | foster_care_users | int | 10 | 0 | Y | N | 0 | 寄养用户 |
7 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
8 | mobile_phone_number | varchar | 16 | 0 | Y | N | 手机号码 | |
9 | pet_name | varchar | 64 | 0 | Y | N | 宠物名称 | |
10 | pet_species | varchar | 64 | 0 | Y | N | 宠物种类 | |
11 | health_status | varchar | 64 | 0 | Y | N | 健康状态 | |
12 | whether_to_have_contraception_or_not | varchar | 64 | 0 | Y | N | 是否节育 | |
13 | pet_age | varchar | 64 | 0 | Y | N | 宠物年龄 | |
14 | pet_pictures | varchar | 255 | 0 | Y | N | 宠物图片 | |
15 | record_date | date | 10 | 0 | Y | N | 记录日期 | |
16 | record_videos | varchar | 255 | 0 | Y | N | 记录视频 | |
17 | record_content | text | 65535 | 0 | Y | N | 记录内容 | |
18 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
19 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | employee_users_id | int | 10 | 0 | N | Y | 员工用户ID | |
2 | employee_id | varchar | 64 | 0 | N | N | 员工工号 | |
3 | employee_name | varchar | 64 | 0 | Y | N | 员工姓名 | |
4 | employee_mobile_phone | 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 | end_of_foster_care_id | int | 10 | 0 | N | Y | 寄养结束ID | |
2 | foster_care_number | varchar | 64 | 0 | N | N | 寄养编号 | |
3 | name_of_pet_house | varchar | 64 | 0 | Y | N | 宠舍名称 | |
4 | suitable_for_variety | varchar | 64 | 0 | Y | N | 适合品种 | |
5 | unit_price_of_foster_care | int | 10 | 0 | Y | N | 0 | 寄养单价 |
6 | administrative_staff | int | 10 | 0 | Y | N | 0 | 管理人员 |
7 | foster_care_users | int | 10 | 0 | Y | N | 0 | 寄养用户 |
8 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
9 | mobile_phone_number | varchar | 16 | 0 | Y | N | 手机号码 | |
10 | pet_name | varchar | 64 | 0 | Y | N | 宠物名称 | |
11 | pet_species | varchar | 64 | 0 | Y | N | 宠物种类 | |
12 | health_status | varchar | 64 | 0 | Y | N | 健康状态 | |
13 | whether_to_have_contraception_or_not | varchar | 64 | 0 | Y | N | 是否节育 | |
14 | pet_age | varchar | 64 | 0 | Y | N | 宠物年龄 | |
15 | pet_pictures | varchar | 255 | 0 | Y | N | 宠物图片 | |
16 | foster_date | date | 10 | 0 | Y | N | 寄养日期 | |
17 | number_of_days_of_foster_care | int | 10 | 0 | Y | N | 0 | 寄养天数 |
18 | number_of_reserved_rooms | varchar | 64 | 0 | Y | N | 预定房数 | |
19 | end_date | date | 10 | 0 | Y | N | 结束日期 | |
20 | remarks | text | 65535 | 0 | Y | N | 备注 | |
21 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
22 | 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 | 更新时间: |
表foster_care_appointment (寄养预约)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | foster_care_appointment_id | int | 10 | 0 | N | Y | 寄养预约ID | |
2 | foster_care_number | varchar | 64 | 0 | Y | N | 寄养编号 | |
3 | name_of_pet_house | varchar | 64 | 0 | Y | N | 宠舍名称 | |
4 | suitable_for_variety | varchar | 64 | 0 | Y | N | 适合品种 | |
5 | unit_price_of_foster_care | int | 10 | 0 | Y | N | 0 | 寄养单价 |
6 | administrative_staff | int | 10 | 0 | Y | N | 0 | 管理人员 |
7 | foster_care_users | int | 10 | 0 | Y | N | 0 | 寄养用户 |
8 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
9 | mobile_phone_number | varchar | 16 | 0 | Y | N | 手机号码 | |
10 | pet_name | varchar | 64 | 0 | Y | N | 宠物名称 | |
11 | pet_species | varchar | 64 | 0 | Y | N | 宠物种类 | |
12 | health_status | varchar | 64 | 0 | Y | N | 健康状态 | |
13 | whether_to_have_contraception_or_not | varchar | 64 | 0 | Y | N | 是否节育 | |
14 | pet_age | varchar | 64 | 0 | Y | N | 宠物年龄 | |
15 | pet_pictures | varchar | 255 | 0 | Y | N | 宠物图片 | |
16 | foster_date | date | 10 | 0 | Y | N | 寄养日期 | |
17 | number_of_days_of_foster_care | int | 10 | 0 | Y | N | 0 | 寄养天数 |
18 | number_of_reserved_rooms | varchar | 64 | 0 | N | N | 预定房数 | |
19 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
20 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
21 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
22 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | foster_care_center_id | int | 10 | 0 | N | Y | 寄养中心ID | |
2 | name_of_pet_house | varchar | 64 | 0 | N | N | 宠舍名称 | |
3 | cover | varchar | 255 | 0 | Y | N | 封面 | |
4 | suitable_for_variety | varchar | 64 | 0 | Y | N | 适合品种 | |
5 | unit_price_of_foster_care | int | 10 | 0 | Y | N | 0 | 寄养单价 |
6 | number_of_foster_homes | int | 10 | 0 | Y | N | 0 | 寄养房数 |
7 | administrative_staff | int | 10 | 0 | Y | N | 0 | 管理人员 |
8 | service_introduction | longtext | 2147483647 | 0 | Y | N | 服务介绍 | |
9 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | foster_care_order_id | int | 10 | 0 | N | Y | 寄养订单ID | |
2 | foster_care_number | varchar | 64 | 0 | N | N | 寄养编号 | |
3 | name_of_pet_house | varchar | 64 | 0 | Y | N | 宠舍名称 | |
4 | suitable_for_variety | varchar | 64 | 0 | Y | N | 适合品种 | |
5 | unit_price_of_foster_care | int | 10 | 0 | Y | N | 0 | 寄养单价 |
6 | administrative_staff | int | 10 | 0 | Y | N | 0 | 管理人员 |
7 | foster_care_users | int | 10 | 0 | Y | N | 0 | 寄养用户 |
8 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
9 | mobile_phone_number | varchar | 16 | 0 | Y | N | 手机号码 | |
10 | pet_name | varchar | 64 | 0 | Y | N | 宠物名称 | |
11 | pet_species | varchar | 64 | 0 | Y | N | 宠物种类 | |
12 | health_status | varchar | 64 | 0 | Y | N | 健康状态 | |
13 | whether_to_have_contraception_or_not | varchar | 64 | 0 | Y | N | 是否节育 | |
14 | pet_age | varchar | 64 | 0 | Y | N | 宠物年龄 | |
15 | pet_pictures | varchar | 255 | 0 | Y | N | 宠物图片 | |
16 | foster_date | date | 10 | 0 | Y | N | 寄养日期 | |
17 | number_of_days_of_foster_care | int | 10 | 0 | Y | N | 0 | 寄养天数 |
18 | number_of_reserved_rooms | varchar | 64 | 0 | N | N | 预定房数 | |
19 | payment_amount | varchar | 64 | 0 | Y | N | 支付金额 | |
20 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
21 | pay_type | varchar | 16 | 0 | Y | N | 支付类型: 微信、支付宝、网银 | |
22 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
23 | 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 | logistics_delivery_id | int | 10 | 0 | N | Y | 物流配送ID | |
2 | order_number | varchar | 64 | 0 | Y | N | 订单号 | |
3 | product_name | varchar | 64 | 0 | Y | N | 商品名称 | |
4 | purchase_quantity | varchar | 64 | 0 | Y | N | 购买数量 | |
5 | total_transaction_amount | double | 11 | 2 | Y | N | 0.00 | 交易总额 |
6 | the_date_of_issuance | date | 10 | 0 | Y | N | 发货日期 | |
7 | delivery_number | varchar | 30 | 0 | Y | N | 配送订单 | |
8 | ordinary_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
9 | shipping_address | varchar | 64 | 0 | Y | N | 收货地址 | |
10 | delivery_status | varchar | 64 | 0 | Y | N | 配送状态 | |
11 | signing_status | varchar | 64 | 0 | Y | N | 签收状态 | |
12 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
13 | contact_name | varchar | 255 | 0 | Y | N | 联系人名字 | |
14 | merchant_id | int | 10 | 0 | Y | N | 商家id | |
15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
16 | 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_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 | 待付款 | 订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成 |
23 | remark | text | 65535 | 0 | Y | N | 订单备注 | |
24 | delivery_state | varchar | 16 | 0 | Y | N | 未配送 | 发货状态:未配送,已配送 |
25 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | pet_recipe_id | int | 10 | 0 | N | Y | 宠物食谱ID | |
2 | recipe_number | varchar | 64 | 0 | N | N | 食谱编号 | |
3 | recipe_name | varchar | 64 | 0 | Y | N | 食谱名称 | |
4 | suitable_for_variety | varchar | 64 | 0 | Y | N | 适合品种 | |
5 | recipe_images | varchar | 255 | 0 | Y | N | 食谱图片 | |
6 | recipe_unit_price | int | 10 | 0 | Y | N | 0 | 食谱单价 |
7 | recipe_materials | text | 65535 | 0 | Y | N | 食谱材料 | |
8 | recipe_introduction | longtext | 2147483647 | 0 | Y | N | 食谱介绍 | |
9 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | pet_species_id | int | 10 | 0 | N | Y | 宠物种类ID | |
2 | pet_species | 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 | 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 | product_information_id | int | 10 | 0 | N | Y | 商品信息ID | |
2 | product_specifications | varchar | 64 | 0 | Y | N | 商品规格 | |
3 | commodity_manufacturers | varchar | 64 | 0 | Y | N | 商品厂商 | |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | cart_title | varchar | 125 | 0 | Y | N | 标题:[0,125]用于产品html的标签中 | |
7 | cart_img | text | 65535 | 0 | Y | N | 封面图:用于显示于产品列表页 | |
8 | cart_description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于产品规格描述 | |
9 | cart_price_ago | double | 8 | 2 | N | N | 0.00 | 原价:[1] |
10 | cart_price | double | 8 | 2 | N | N | 0.00 | 卖价:[1] |
11 | cart_inventory | int | 10 | 0 | N | N | 0 | 商品库存 |
12 | cart_type | varchar | 64 | 0 | N | N | 未分类 | 商品分类: |
13 | cart_content | longtext | 2147483647 | 0 | Y | N | 正文:产品的主体内容 | |
14 | cart_img_1 | text | 65535 | 0 | Y | N | 主图1: | |
15 | cart_img_2 | text | 65535 | 0 | Y | N | 主图2: | |
16 | cart_img_3 | text | 65535 | 0 | Y | N | 主图3: | |
17 | cart_img_4 | text | 65535 | 0 | Y | N | 主图4: | |
18 | cart_img_5 | text | 65535 | 0 | Y | N | 主图5: | |
19 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | recipe_orders_id | int | 10 | 0 | N | Y | 食谱订单ID | |
2 | order_number | varchar | 64 | 0 | Y | N | 订单号 | |
3 | recipe_number | varchar | 64 | 0 | Y | N | 食谱编号 | |
4 | recipe_name | varchar | 64 | 0 | Y | N | 食谱名称 | |
5 | recipe_unit_price | int | 10 | 0 | Y | N | 0 | 食谱单价 |
6 | order_date | date | 10 | 0 | Y | N | 下单日期 | |
7 | ordering_users | int | 10 | 0 | Y | N | 0 | 订购用户 |
8 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
9 | mobile_phone_number | varchar | 16 | 0 | Y | N | 手机号码 | |
10 | pet_name | varchar | 64 | 0 | Y | N | 宠物名称 | |
11 | pet_species | varchar | 64 | 0 | Y | N | 宠物种类 | |
12 | pet_pictures | varchar | 255 | 0 | Y | N | 宠物图片 | |
13 | purchase_quantity | int | 10 | 0 | Y | N | 0 | 购买数量 |
14 | payment_amount | varchar | 64 | 0 | N | N | 支付金额 | |
15 | remarks | text | 65535 | 0 | Y | N | 备注内容 | |
16 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
17 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
18 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
19 | pay_type | varchar | 16 | 0 | Y | N | 支付类型: 微信、支付宝、网银 | |
20 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
21 | 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 | gender | varchar | 64 | 0 | Y | N | 性别 | |
4 | mobile_phone_number | varchar | 16 | 0 | Y | N | 手机号码 | |
5 | pet_name | varchar | 64 | 0 | Y | N | 宠物名称 | |
6 | pet_species | varchar | 64 | 0 | Y | N | 宠物种类 | |
7 | health_status | varchar | 64 | 0 | Y | N | 健康状态 | |
8 | whether_to_have_contraception_or_not | varchar | 64 | 0 | Y | N | 是否节育 | |
9 | pet_age | varchar | 64 | 0 | Y | N | 宠物年龄 | |
10 | pet_pictures | varchar | 255 | 0 | Y | N | 宠物图片 | |
11 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
12 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | 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 | 更新时间: |
系统中应用的开发工具总结如下表所示。
表5-1开发工具
名称 | 工具 | 版本 |
操作系统 IDE(Integrated Development Environment) | Windows PyCharm | 7/8/10 最新版本 |
服务器 | Django框架 | 最新版本 |
Python解释器 | Python | 3.x 版本 |
数据库 前端框架 浏览器 界面工具 | MySQL Vue.js Google Chrome Adobe Photoshop | 5.7 最新版本 最新版本 最新版本 |
未注册用户在用户注册界面userRegister.html,输入新用户信息,点击注册后,新用户信息由前端界面传递到后端控制层userAction.py,调用addUser(user)方法。通过userDAOImp.py向数据库的用户表插入用户信息。由于用户账号是自动生成的,若成功则返回注册成功的提示,并显示新用户的用户账号;若失败,则返回登录界面,并显示登录失败的提示。
注册界面如下所示。
用户注册关键代码如下所示。
def Register(self, ctx):
print("===================注册=====================")
userService = service_select("user")
body = ctx.body
if "username" not in body and body["username"] == '':
return ctx.response(json.dumps({
"error": {
"code": 70000,
"message": "用户名不能为空",
}
}, ensure_ascii=False))
if "user_group" not in body and body["user_group"] == '':
return ctx.response(json.dumps({
"error": {
"code": 70000,
"message": "用户组不能为空",
}
}, ensure_ascii=False))
if "password" not in body and body["password"] == '':
return ctx.response(json.dumps({
"error": {
"code": 70000,
"message": "密码不能为空",
}
}, ensure_ascii=False))
post_param = body
post_param['nickname'] = body["nickname"] or ""
post_param['password'] = md5hash(body["password"])
obj = userService.Get_obj({"username": post_param['username']}, {"like": False})
if obj:
return ctx.response(json.dumps({
"error": {
"code": 70000,
"message": "用户名已存在",
}
}, ensure_ascii=False))
ret = {
"error": {
"code": 70000,
"message": "注册失败",
}
}
bl = userService.Add(post_param)
if bl:
ret = {
"result": {
"bl": True,
"message": "注册成功"
}
}
return ctx.response(json.dumps(ret, ensure_ascii=False))
用户在首页点击登录,进入用户登录界面userLogin.html,输入用户账号和密码,点击登录,用户账号和密码信息由前端界面传递到后端控制层userAction.py,调用userLogin(user)方法。通过userDAOImp.py向数据库的用户表搜索该用户账号与密码,并将最终结果反馈给前端。若成功则返回首页;若失败,则返回登录界面,并显示登录失败的提示。
登录界面如下所示。
![](https://i-blog.csdnimg.cn/direct/fea909896e224a5ab2fe2b3cb5297f5a.png)
图5-2登录界面
登录界面关键代码如下所示。
def Login(self, ctx):
print("===================登录=====================")
ret = {
"error": {
"code": 70000,
"message": "账户不存在",
}
}
body = ctx.body
password = md5hash(body["password"]) or ""
obj = service_select("user").Get_obj(
{"username": body["username"]}, {"like": False}
)
if obj:
user_group = service_select("user_group").Get_obj({'name': obj['user_group']}, {"like": False})
if user_group and user_group['source_table'] != '':
user_obj = service_select(user_group['source_table']).Get_obj({"user_id": obj['user_id']}, {"like": False})
if user_obj['examine_state'] == '未通过':
ret = {
"error": {
"code": 70000,
"message": "账户未通过审核",
}
}
return ret
if user_obj['examine_state'] == '未审核':
ret = {
"error": {
"code": 70000,
"message": "账户未审核",
}
}
return ret
if obj["state"] == 1:
if obj["password"] == password:
timeout = timezone.now()
timestamp = int(time.mktime(timeout.timetuple())) * 1000
token = md5hash(str(obj["user_id"]) + "_" + str(timestamp))
ctx.request.session[token] = obj["user_id"]
service_select("access_token").Add(
{"token": token, "user_id": obj["user_id"]}
)
obj["token"] = token
ret = {
"result": {"obj": obj}
}
else:
ret = {
"error": {
"code": 70000,
"message": "密码错误",
}
}
else:
ret = {
"error": {
"code": 70000,
"message": "用户账户不可用,请联系管理员",
}
}
return ctx.response(json.dumps(ret, ensure_ascii=False))
登录用户在首页点击进入用户中心userCenter.html,再点击修改个人信息按钮进入userChangeInfo.html界面。系统根据session中存储的当前登录用户的账号,向后端控制层userAction.py发送请求,搜索当前用户信息。userAction.py调用userDAOImp.py的queryByUserId(user)方法,向数据库的用户表搜索当前用户信息,并将用户信息以对象的形式返回给userChangeInfo.html界面,显示当前用户的个人信息。
如果用户要对个人信息进行修改,则在修改完成后点击确认按钮。前端界面将发送包含修改后的用户信息的请求到后端控制层userAction.py,调用changeUser(user)方法。通过userDAOImp.py向数据库的用户表更新用户信息。若成功,则返回更改成功的提示,并刷新userChangeInfo.html界面以显示更新后的用户信息;若失败,则显示修改失败的提示。
-
-
- 首页模块
-
用户在登录状态下可以查看首页的轮播图、宠物资讯等。
首页界面如下所示。
-
-
- 商品信息模块
-
在商品信息页面,用户可以查看商品详细信息,进行局部搜索以快速找到感兴趣的商品。用户还可以收藏喜欢的商品,加入购物车,并随时查看购物车中的商品。当用户决定购买时,可以选择立即购买,查看销售数量和商品库存数量,确保购买的顺利进行。
商品信息界面如下所示。
![](https://i-blog.csdnimg.cn/direct/58dfe1ef1a93476a9d0d8e2b94c6744b.png)
图5-4商品信息界面
商品信息的关键代码如下。
WSGI_APPLICATION = "app.wsgi.application"
DATABASES = {
"default": {
"ENGINE": "django.db.backends.mysql",
"NAME": "project93355",
"USER": "root",
"PASSWORD": "root",
"HOST": "127.0.0.1",
"PORT": "3306",
}
}
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();
}
在寄养中心页面,用户可以查看寄养中心的列表信息,包括宠物名称、适合品种、寄养单价、寄养房数等。用户可以对喜欢的寄养中心进行收藏和预约寄养,并发表评论。当负责人同意寄养请求后,寄养房数会递减。用户还可以通过宠舍名称和适合品种进行搜索,快速找到符合需求的寄养中心。寄养信息界面如下所示。
![](https://i-blog.csdnimg.cn/direct/7d663693d1f24c8d89ee07cafbef327c.png)
图5-5寄养中心界面
在宠物食谱页面,用户可以查看宠物食谱的列表信息,包括食谱名称、适合品种、食谱单价等。用户可以对喜欢的食谱进行收藏和下单,并发表评论。同时,用户还可以通过食谱名称和适合品种进行搜索,快速找到适合宠物的食谱。宠物食谱界面如下所示。
![](https://i-blog.csdnimg.cn/direct/140e2d4c7513408eaaaa8a5717362883.png)
图5-5宠物食谱界面
-
- 系统后台模块
- 后台首页模块
- 系统后台模块
管理员登录后台后,首先映入眼帘的是“后台首页”。这里展示了商品销售金额统计表和商品销售数量统计表,为管理员提供了直观的销售概览,有助于迅速掌握店铺的经营状况。后台首页界面图如下所示。
![](https://i-blog.csdnimg.cn/direct/e77b185ff61d47c0b74dd22b715b1580.png)
图5-5后台首页界面
-
-
- 宠物种类管理模块
-
在宠物种类管理模块,管理员可以方便地进行宠物种类的添加、查询、重置和删除操作。此外,管理员还能通过宠物种类进行搜索,快速定位到特定种类的宠物信息。
宠物种类管理设计效果如下图所示。
![](https://i-blog.csdnimg.cn/direct/6839276d4b1643bbb205b4c6f7343149.png)
图5-7宠物种类管理界面
宠物种类管理界面逻辑代码如下:
from hashlib import md5
def md5hash(key):
input_name = md5()
input_name.update(key.encode("utf-8"))
return input_name.hexdigest()
-
-
- 寄养中心管理模块
-
寄养中心管理模块允许管理员对寄养中心进行列表展示、添加、查看详情、管理用户评论等操作。管理员还能通过宠舍名称或适合品种进行搜索,以便快速找到符合条件的寄养中心。同时,管理员还能授权员工对寄养中心进行管理,确保寄养服务的高效运作。交流论坛管理界面如下图所示。
![](https://i-blog.csdnimg.cn/direct/a261d94aa6d046a6afe6eeeabb19eed4.png)
图5-8寄养中心管理界面
-
-
- 商城管理管理模块
-
商城管理模块为管理员提供了商品信息的增删改查和查看详情功能。管理员还能管理用户评论和分类列表信息,查看订单列表和订单配送情况。这一模块有助于管理员全面掌控商城的运营情况,确保商品信息的准确性和订单处理的高效性。
商城管理页面设计效果如下图所示。
![](https://i-blog.csdnimg.cn/direct/f200020c93fe491d97b67f1bc1093ff8.png)
图5-9商城管理界面图
商城管理的关键代码如下。
def Del(self, ctx):
if len(ctx.query) == 0:
errorMsg = {"code": 30000, "message": "删除条件不能为空!"}
return errorMsg
result = self.service.Del(ctx.query, self.config)
if self.service.error:
return {"error": self.service.error}
return {"result": result}
寄养中心管理模块允许员工查看寄养中心的宠物房列表、宠物房详情、用户评论等信息。员工还可以根据宠舍名称和适合品种进行搜索,以便快速定位特定宠物房。此外,员工可以管理自己负责的宠物房,确保寄养中心的日常运营有序进行。个人中心管理页面设计效果如下图所示。
![](https://i-blog.csdnimg.cn/direct/93d910174f4d47129735504452cce3a2.png)
图5-10寄养中心管理界面图
软件测试是软件开发完成后必须经过的一道程序,它在软件开发过程中地位十分重要,需要由专业的测试工程师来对软件进行各方面的测试,大到功能模块测试,小到代码的单元测试,这对测试工程师来说需要有足够的耐心和专业的测试方案,软件测试归根结底就是对软件的结构和功能的综合测评,需要做到结构稳定和功能正确,二者兼顾。软件测试也叫寻找系统bug的过程,世界上没有完美无缺、不存在bug的软件,只能将软件的bug降到最低最小,来追求极致。
登录测试是系统最开始就要进行,测试用户能否登录,才能完成后续的功能操作。
登录测试用例表如下所示。
表6-1登录测试
用例编号 | YL001 | 程序版本 | 1.00 |
功能名称 | 使用者登录测试 | 编制人 | 李铁蛋 |
功能描述 | 根据用户的登录情况测试 | ||
用例目的 | 测试用户登录情况是否正确 | ||
测试项 | 测试数据 | 测试结果 | 预期结果 |
用户名 | 为空 | 请输入用户名 | 请输入用户名 |
密码 | 为空 | 请输入密码 | 请输入密码 |
用户密码组合 | 用户名:klouse 密码 klouses | 用户与密码不匹配 | 用户与密码不匹配 |
用户密码组合 | 用户名 : klouse 密码 klouse | 进入系统 | 正确的用户名和密码 登录系统 |
管理员在发布信息页面,通过按照预先格式发布信息,如果因为输入时候缺少相关内容,就不能发布成功,且有相应错误提示
信息录入发布测试用例表如下所示。
表6-1信息录入发布测试
用例编号 | YL002 | 程序版本 | 1.00 |
功能名称 | 信息发布测试 | 编制人 | 李铁蛋 |
功能描述 | 对使用者发布或者录入信息进行测试,判断其功能是否达到预期的要求 | ||
用例目的 | 对系统使用者录入发布信息进行原型测试。 | ||
测试项 | 测试数据 | 测试结果 | 预期结果 |
属性1 | 为空 | 请输入属性1对应的数据 | 请输入属性1对应的数据 |
属性2 | 为空 | 请输入属性2对应的数据 | 请输入属性2对应的数据 |
属性3 | 为空 | 请输入属性3对应的数据 | 请输入属性3对应的数据 |
全部输入 | 数据均填入 | 录入发布成功 | 录入发布成功 |
管理员在更新信息页面,通过按照预先格式更新信息,如果因为输入时候缺少相关内容或者更新的数据不符合当前规范的话,就不能更新成功,且有相应错误提示
信息更新测试用例表如下所示。
表6-1信息更新测试
用例编号 | YL003 | 程序版本 | 1.00 |
功能名称 | 信息更新测试 | 编制人 | 李铁蛋 |
功能描述 | 对使用者更新信息进行测试,判断其功能是否达到预期的要求 | ||
用例目的 | 对系统使用者更新信息进行原型测试。 | ||
测试项 | 测试数据 | 测试结果 | 预期结果 |
属性1 | 编号:321 | 编号更新成功 | 编号更新成功 |
属性2 | 名称:名称1 | 名称更新成功 | 名称更新成功 |
属性3 | 内容:内容1234内容 | 内容更新成功 | 内容更新成功 |
全部输入 | 数据均未更改 | 更新成功 | 更新成功 |
管理员在信息页面,通过点击数据删除按钮来删除该条数据,如果该数据和其他数据有关联,则提示是否确定删除。
信息删除测试用例表如下所示。
表6-1信息删除测试
用例编号 | YL004 | 程序版本 | 1.00 |
功能名称 | 信息删除测试 | 编制人 | 李铁蛋 |
功能描述 | 对使用者删除信息进行测试,判断其功能是否达到预期的要求 | ||
用例目的 | 对系统使用者删除信息进行原型测试。 | ||
测试项 | 测试数据 | 测试结果 | 预期结果 |
数据1 | 无任何关联的数据1 | 数据删除成功 | 数据删除成功 |
数据2 | 和其他数据有关联的数据2 | 请确认是否删除 | 请确认是否删除 |
在经过之前的所有的工作之后,通过对软件的测试方法、测试原则还有典型的测试用例进行全面的、深入的介绍。经过对系统的全面测试,系统目前所具有的所有功能均成功的实现并且通过了测试,整个系统实现了基于 python 开发的期望。
宠物代养交易管理系统采用Python和HTML作为开发技术,并结合Vue.js框架,实现了一个成熟、强大、易理解易使用的宠物代养交易管理系统。通过使用这些技术,降低了开发的难度。本系统实现了基于python的宠物代养交易管理系统,将数据操作维护的过程转化为电脑操作流程,具体实现了对系统人员管理、宠物商品数据维护、寄养中心下单数据维护、宠物食谱下单数据维护,让使用者能更清晰的掌握运营情况,帮助使用者进行数据操作维护,简化工作流程,提高工作效率和盈利。
目前完成的宠物代养交易管理系统,还有许多有待改进的地方。一个是功能上的改进,用户理应可以修改自己的相关信息,故应增设个人中心功能;另外,系统如果能提供更多的功能就会使得系统更加丰富和多样化,比如数据当前分析和未来预测等。第二个是技术上的改进,由于对开发框架不太熟悉,权限管理这部分,如果将URL路径记录到数据库中的话,并实现对其的增删查改操作,更能提高系统的灵活性和可扩展性,最后采用Vue.js作为前端框架,结合Python后端编程语言,还是有待提升系统的视觉效果和用户体验,希望日后能对这个系统有所改进。
参考文献
[1]Alarcón P A ,Hidalgo C P ,Trigo M R , et al. CyTRACK: An open-source and user-friendly python toolbox for detecting and tracking cyclones [J]. Environmental Modelling and Software, 2024, 176 106027-.
[2]胡从寅,杨文远,赵鑫,等. 基于Django+Vue.js的设计作品交易平台的实现 [J]. 软件, 2023, 44 (11): 42-46.
[3]Hagelin S . Shake my hand: Racial fantasies, white saviors, and Django Unchained's haunted screen [J]. The Journal of Popular Culture, 2023, 56 (5-6): 781-796.
[4]Xiao Z ,Ali Y ,Xin W , et al. Sports Work Strategy of College Counselors Based on MySQL Database Big Data Analysis [J]. International Journal of Information Technology and Web Engineering (IJITWE), 2023, 18 (1): 1-14.
[5]陈丽,江慧杰,张秀莹,等. 我国宠物经济发展现状及对策研究 [J]. 当代畜牧, 2023, (09): 117-120.
[6]万磊. 我市宠物经济快速发展催生市场新需求[N]. 南昌日报, 2023-09-19 (003). [7]杨美. ZL宠物店服务营销策略研究[D]. 云南财经大学, 2023.
[8]郑文彬. XP宠物连锁店营销策略优化研究[D]. 苏州大学, 2023.
[9]陈董瑞. M宠物用品公司品牌拟人化营销策略研究[D]. 上海外国语大学, 2023.
[10]颜惠. 基于Web的宠物店信息管理系统设计 [J]. 软件, 2023, 44 (02): 147-149.
[11]司超欢,周瑄. 基于社会支持理论的社区“宠物伴老”新型养老服务设计 [J]. 鞋类工艺与设计, 2022, 2 (24): 174-176.
[12]张湘莹. 豢养野生动物宠物法治问题探讨 [J]. 饲料博览, 2022, (04): 46-53. [13]杜晓宇. 社群经济下萌小它宠物店社群营销策略研究[D]. 苏州大学, 2022.
[14]赵海洋,魏琦麟,向蓉,等. 宠物功能型产品市场规模分析报告 [J]. 广东畜牧兽医科技, 2022, 47 (03): 71-75.
[15]薄晨. 宠物商品短视频KOL广告的元话语研究[D]. 郑州大学, 2022.
[16]袁江琛. 基于B/S模式的宠物信息网设计与实现 [J]. 信息与电脑(理论版), 2022, 34 (05): 107-109.
[17]叶欣若,肖松鸿,杨妍. “爱宠e+”宠物综合服务平台开发模式研究 [J]. 电脑知识与技术, 2021, 17 (28): 79-80.
[18]雷川. 基于互联网的宠物二级市场交易平台搭建可行性分析 [J]. 内蒙古科技与经济, 2021, (17): 82-83+117.
[19]韩娜. 宠物经济发展现状初探 [J]. 中国管理信息化, 2021, 24 (11): 180-181.
[20]韩丽萍. 中国宠物市场发展的问题与对策研究[D]. 上海财经大学, 2021.
致谢
在老师的教导和帮助下,本人完成了本篇论文,老师对论文的内容、格式都有非常严格的要求,在我写毕业论文的过程中,他多次给出了建议,并定期检查,对我们严格要求,帮助我们在文档的编写上写到极致和正确,他这种教学和工作态度,让我对他产生无限的敬佩感和尊敬感。写毕业论文的同时,作为应届生,我也忙着找工作中,遇到了很多选择,感到困惑迷茫的时候,老师给了我很多意见,感谢老师的耐心开导,跟她的聊天我明白了许多。
我还要感谢我的父母,一直以来都非常支持和相信我,在精神和经济上给了我很多力量,如今我将毕业走上工作之路,终于能报答父母的养育教导之恩。还有我大学期间所有老师和全体同学,遇到问题时,这些老师同学总是无私地帮助我,真的非常感谢,我也会加油努力成长为一个有用的人。