基于Android的鲜花商店APP设计与实现99739-计算机毕设原创(免费领源码+部署教程)
系统主要分为普通用户、管理员功能模块。鲜花商店APP的设计与实现对于所使用的计算机与手机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择性价比高和安全性高的,能够在打开系统的时候必须顺畅,不能停顿太长时间。该系统后端使用djangot技术,结合前端应用APP框架、vue。利用嵌入式系
本毕业论文设计一个基于Android平台的鲜花商店APP,可以帮助用户浏览和购买各种鲜花。用户可以通过APP浏览不同种类的鲜花、查看价格和详细描述,选择心仪的鲜花并添加到购物车进行购买。此外,用户还可以实时查看订单状态、收货信息和配送日期等。为了提升用户体验,可以考虑添加搜索功能、推荐功能和支付功能,并确保安全可靠的支付环境。在设计方面,可以采用直观简洁的界面设计,注重用户友好性和响应速度。在实现方面,可以利用Android开发工具,采用Java或Kotlin语言进行开发,并确保与后台数据库和支付系统的稳定连接。整体来说,该APP旨在为用户提供便捷、快捷的购买鲜花体验,并为鲜花商店提供一个新的销售渠道。本文将探讨如何利用Java编程语言和vue,采取django开发框架,配合MySQL数据库管理和储存数据,并基于Android平台设计与实现鲜花商店APP。通过实施设计和开发过程,并进行系统测试和评估来验证系统的可行性和有效性。最后,对系统的性能和功能进行总结和分析,提出了改进的建议。
关键词:Android平台;鲜花商店APP;django;vue;MySQL数据库
This graduation thesis designs a flower store APP based on Android platform, which can help users browse and buy a variety of flowers. Users can browse different kinds of flowers through the APP, view prices and detailed descriptions, select their favorite flowers and add them to the shopping cart for purchase. In addition, users can also view the order status, delivery information and delivery date in real time. To improve the user experience, consider adding search, recommendation and payment features, and ensure a secure and reliable payment environment. In terms of design, intuitive and simple interface design can be adopted, paying attention to user friendliness and response speed. In terms of implementation, Android development tools can be developed in Java or Kotlin language and ensure stable connections to background databases and payment systems. Overall, the APP aims to provide users with a convenient and fast experience of buying flowers, and to provide a new sales channel for flower stores. This paper will discuss how to use Java programming language and vue, adopt the django development framework, cooperate with MySQL database management and storage data, and design and implement the flower store APP based on Android platform. The feasibility and effectiveness of the system is verified by implementing the design and development process and conducting system testing and evaluation. Finally, the performance and function of the system are summarized and analyzed.
Key words: Android platform; flower store APP; django; MySQL database
目录
随着移动互联网的迅猛发展,手机APP已经成为人们生活中不可或缺的一部分。人们通过手机APP可以方便地购买商品、了解信息、进行社交等活动。其中,电商APP已经成为人们购物的首选方式之一。鲜花作为一种受欢迎的礼品,也逐渐开始在电商平台上销售。因此,设计和开发一款基于Android平台的鲜花商店APP是十分有意义的。在传统的购买鲜花的方式中,人们通常需要亲自前往实体店铺,选择合适的鲜花。这样的购买方式存在着时间成本高、选择范围有限、购买体验较差等问题。而通过开发一款鲜花商店APP,可以有效地解决这些问题。
目前市面上已经存在了一些鲜花商店APP,但是大多数功能单一,用户体验不佳。因此,设计一款功能丰富、操作简单、界面美观的鲜花商店APP是十分必要的。通过这款APP,用户可以在任何时间、任何地点购买所需的鲜花。同时,用户可以通过APP查看鲜花的图片、价格、说明等信息,选择合适的鲜花。在购买过程中,用户可以选择送货地址、支付方式等选项,并实时跟踪订单的状态。此外,用户还可以在APP上查看商家的评价和相关活动信息。
总之,开发一款基于Android的鲜花商店APP将会为用户带来更好的购物体验,提高商家的销售额,推动电商的发展。
在国内,基于Android的鲜花商店APP设计应注重用户体验,提供简洁清晰的界面和便捷的操作,展示各类鲜花图片、价格及描述,实现快速购买和支付功能,同时设计订单跟踪和客服支持服务,结合地理定位和配送功能,推广促销活动和社交分享,以满足用户需求、增加曝光度,实现良好的电商平台。
在国外的研究发现,设计Android鲜花商店APP时应优化用户体验,包括简洁明了的界面设计、快速响应的操作和易于导航的菜单结构。重点展示高质量的鲜花图片和详细描述,提供快速购买和支付功能,订单跟踪和客服支持,以及地理定位和配送功能。同时,推广促销活动和社交分享功能也能吸引更多用户和提高销量。具体的设计和功能可根据目标用户和业务需求进行调整。
Android是基于Linux内核的操作系统,早期由Google开发,后由开放手机联盟开发。它采用了软件堆的架构,主要分为三部分。底层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。Android在未公开之前常被传闻为GPhone。
它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分:底层以Linux核心为基础,由c语言开发,只提供基本功能。中间层包括函数库Library和虚拟机Virtual Machine,由C++开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java编写。
Java是一种面向对象的程序设计语言,类是Java程序的基本组成单元,类中又包含了属性和方法,在类中又可以创建无数个对象。类中包含的主要成员是字段和方法,字段是指一种数据变量,方法是指对字段进行操作的集合,包括给其他变量赋值、调用方法等。JDK为美国sun公司为java开发员所推出的一款全新产品,要是没有JDK的情况下,所安装的Java程序也就无法运行。
django是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。django为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。
MySQL数据库已经成为网络上的一种强大的工具,它能够支持多个用户,并且能够根据客户端和服务端的需求进行调整,从而满足不同的需求。在这里,服务端和客户端只是一种软件上的概念,而我们所使用的计算机硬件则没有必要完全相互匹配。MySQL具有强大的功能,能够处理各种数据类型,包括动态、静态、多种语言,从而使用户能够轻松访问多种数据。MySQL具有多种功能,它能够支持多种平台的开发,并且支持多种编程语言,使得用户能够轻松访问和使用MySQL数据库。
django 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。DCloud公司拥有900万开发者、数百万应用、12亿手机端月活用户、数千款django插件、70+微信/qq群。阿里小程序工具官方内置django,腾讯课堂官方为django录制培训课程,开发者可以放心选择。django实现了一套代码,同时运行到多个平台一套代码,同时运行到iOS模拟器、Android模拟器、H5、微信开发者工具、支付宝小程序Studio、百度开发者工具、字节跳动开发者工具、QQ开发者工具(底部8个终端选项卡代表8个终端模拟器。
嵌入式操作系统是嵌入式应用软件的基础和开发平台。嵌入式系统的出现,解决了嵌入式软件并发标准化的难题。嵌入式系统具有操作系统的最基本的功能,包括进程调度、内存管理、设备管理文件管理、操作系统接口(API调用)嵌入式操作系统具有系统可裁减、可配置、网络支持功能、具有一定的实时性等的特点
嵌入式系统拥有巨大的市场和巨大商机,能够全过程自动化产品制造、大范围电子商务活动、高度协同科学实验以及现代化家庭起居。生活接触的每一样东西将装有芯片和嵌入式软件。嵌入式系统与技术是一个分散的工业,充满竞争、机遇与创新没有哪一个系列的处理器和操作系统能够垄断全部市场,即便在体系结构上存在着主流,但各不相同的应用领域决定了不可能有少数公司,少数产品垄断全部市场。因此嵌入式系统领域的产品和技术,必然是高度分散的,留给各个行业的中小规模高技术公司的创新余地很大。
鲜花商店APP的设计与实现对于所使用的计算机与手机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择性价比高和安全性高的,能够在打开系统的时候必须顺畅,不能停顿太长时间。该系统后端使用djangot技术,结合前端应用APP框架、vue。利用嵌入式系统,通过Android进行开发。目前djangot也是很多用户选择的框架之一,使系统的可扩展性和维护性更佳,减少Java配置代码,简化编程代码。同时,手机APP平台是目前全球最主流的移动操作系统之一,具有广泛的用户群体和成熟的开发工具和资源。因此,技术可行性没有问题。
在开发鲜花商店APP中所使用的开发软件像IDEA开发工具、Tomcat服务器、MySQL数据库、微信开发者工具、Photoshop图片处理软件等,这些都是开源免费的,这些环境在学校都进行了系统的学习,自己能够独立操作完成,不需要额外花费,而且系统的开发工具从网上都可以直接下载,因此,经济可行性没有问题。
基于APP的鲜花商店APP的设计与实现,参考了很多类似系统的成功案例,对它们的操作界面以及功能需求都进行了系统的分析,将众多案例结合在一起,突出以人为本简化操作,使得系统的开发更高效和稳定,具有便捷、移动、安全、友好的特点,也体现出来该系统的的现代化和规范化。用户可以轻松的进行学习,其系统主要特点就是易操作和易管理,所以具有基本计算机知识和手机操作的人都会操作本项目。因此,操作可行性也没有问题。
通过对鲜花商店APP的需求分析,该系统主要分为普通用户、管理员功能模块。具体如下:
普通用户模块:
(1)首页:展示热门商品、促销活动等信息,方便用户浏览。
(2)购物车:用户可以将想要购买的商品加入购物车进行统一结算。
(3)鲜花资讯:提供关于鲜花的新闻、花语等相关资讯,让用户更了解产品。
(4)我的:个人中心,包括个人信息的查看和修改等功能。
(5)基本信息:用户主要信息的展示,例如头像、昵称等。
(6)收获地址:用户可以管理和添加收获地址,方便下单时选择送货地址。
(7)收藏:用户可以收藏喜欢的商品,方便日后查看和购买。
(8)订单:展示用户的购买历史订单信息,包括未完成、已完成的订单等。
(9)我的优惠券:用户可以查看已有的优惠券,方便在购物时使用。
管理员模块:
- 后台首页:管理员登录后显示的管理首页,包括系统运行状态、报表统计等信息。
- 系统用户:管理员可以管理系统用户,包括添加、删除、修改用户信息等。
- 鲜花种类管理:管理员可以管理鲜花的种类信息,包括添加新鲜花种类、编辑已有种类信息等。
- 售后信息管理:管理员可以处理用户的售后问题,包括退货、换货、退款等。
- 投诉信息管理:管理员可以查看并处理用户的投诉信息,保证用户满意度。
- 系统管理:管理员可以进行系统设置、日志查看等管理操作,保证系统正常运行。
- 通知公告管理:管理员可以发布通知公告,方便向用户传达重要信息。
- 资源管理:管理员可以管理系统资源,包括图片、视频等的上传、修改和删除。
- 商城管理:管理员可以进行商城的管理,包括促销活动的设置、商品上下架等。
鲜花商店APP的非功能性需求比如鲜花商店APP的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:
表2.1 鲜花商店APP非功能需求表
|
安全性 |
主要指鲜花商店APP数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
|
可靠性 |
可靠性是指鲜花商店APP能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
|
性能 |
性能是影响鲜花商店APP占据市场的必要条件,所以性能最好要佳才好。 |
|
可扩展性 |
比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
|
易用性 |
用户只要跟着鲜花商店APP的页面展示内容进行操作,就可以了。 |
|
可维护性 |
鲜花商店APP开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
鲜花商店APP中普通用户角色用例图如图2.1所示:
图2.1普通用户角色用例图
鲜花商店APP中管理员用例图如图2.2所示:
图2.2管理员用例图
-
- 系统功能模块设计
系功能模块分成了管理员及普通用户和商家用户三个模块,每个模块登录进去对应相应的功能,具体的功能模块图如图3.1所示。

图3.1 鲜花商店APP功能模块图
数据库的设计承载者系统的各种数据,在建立数据库的时候,主要是数据库模型的设计以及各个数据库表的设计两部分。
下面是整个鲜花商店APP中主要的数据库表总E-R实体关系图。

图3.2 鲜花商店APP总E-R关系图
通过前面E-R关系图可以看到项目需要创建很多个数据表。以下是项目中的主要数据库表的关系模型:
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
token_id |
int |
10 |
0 |
N |
Y |
临时访问牌ID |
|
|
2 |
token |
varchar |
64 |
0 |
Y |
N |
临时访问牌 |
|
|
3 |
info |
text |
65535 |
0 |
Y |
N |
||
|
4 |
maxage |
int |
10 |
0 |
N |
N |
2 |
最大寿命:默认2小时 |
|
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
7 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户编号: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
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 |
after_sales_information_id |
int |
10 |
0 |
N |
Y |
售后信息ID |
|
|
2 |
regular_users |
int |
10 |
0 |
Y |
N |
0 |
普通用户 |
|
3 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 |
|
|
4 |
after_sales_type |
varchar |
64 |
0 |
Y |
N |
售后类型 |
|
|
5 |
order_number |
varchar |
64 |
0 |
Y |
N |
订单编号 |
|
|
6 |
after_sales_title |
varchar |
64 |
0 |
Y |
N |
售后标题 |
|
|
7 |
reason_for_return_and_exchange |
text |
65535 |
0 |
Y |
N |
退换原因 |
|
|
8 |
examine_state |
varchar |
16 |
0 |
N |
N |
未审核 |
审核状态 |
|
9 |
examine_reply |
varchar |
16 |
0 |
Y |
N |
审核回复 |
|
|
10 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
11 |
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 |
complaint_information_id |
int |
10 |
0 |
N |
Y |
投诉信息ID |
|
|
2 |
regular_users |
int |
10 |
0 |
Y |
N |
0 |
普通用户 |
|
3 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 |
|
|
4 |
order_number |
varchar |
64 |
0 |
Y |
N |
订单编号 |
|
|
5 |
complaint_title |
varchar |
64 |
0 |
Y |
N |
投诉标题 |
|
|
6 |
complaint_content |
text |
65535 |
0 |
Y |
N |
投诉内容 |
|
|
7 |
examine_state |
varchar |
16 |
0 |
N |
N |
未审核 |
审核状态 |
|
8 |
examine_reply |
varchar |
16 |
0 |
Y |
N |
审核回复 |
|
|
9 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
10 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
coupon_id |
int |
10 |
0 |
N |
Y |
优惠券id |
|
|
2 |
coupon_user_id |
int |
10 |
0 |
Y |
N |
优惠券用户id |
|
|
3 |
coupon_user_auth |
varchar |
255 |
0 |
Y |
N |
优惠券用户 |
|
|
4 |
coupon_name |
varchar |
255 |
0 |
Y |
N |
优惠券名称 |
|
|
5 |
coupon_price |
int |
10 |
0 |
Y |
N |
优惠券价格 |
|
|
6 |
coupon_price1 |
int |
10 |
0 |
Y |
N |
优惠券券后价格 |
|
|
7 |
coupon_time |
varchar |
255 |
0 |
Y |
N |
优惠券时间 |
|
|
8 |
coupon_type |
varchar |
255 |
0 |
Y |
N |
优惠券类型 |
|
|
9 |
create_time |
timestamp |
19 |
0 |
Y |
N |
CURRENT_TIMESTAMP |
|
|
10 |
update_time |
timestamp |
19 |
0 |
Y |
N |
CURRENT_TIMESTAMP |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
id |
int |
10 |
0 |
N |
Y |
id |
|
|
2 |
user_id |
int |
10 |
0 |
Y |
N |
用户id |
|
|
3 |
coupon_id |
int |
10 |
0 |
Y |
N |
优惠券id |
|
|
4 |
is_use |
int |
10 |
0 |
Y |
N |
是否使用 |
|
|
5 |
coupon_user_id |
int |
10 |
0 |
Y |
N |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
flower_information_id |
int |
10 |
0 |
N |
Y |
鲜花信息ID |
|
|
2 |
flower_types |
varchar |
64 |
0 |
Y |
N |
鲜花种类 |
|
|
3 |
flower_color |
varchar |
64 |
0 |
Y |
N |
鲜花颜色 |
|
|
4 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
|
5 |
cart_title |
varchar |
125 |
0 |
Y |
N |
标题:[0,125]用于产品html的标签中 |
|
|
6 |
cart_img |
text |
65535 |
0 |
Y |
N |
封面图:用于显示于产品列表页 |
|
|
7 |
cart_description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]用于产品规格描述 |
|
|
8 |
cart_price_ago |
double |
8 |
2 |
N |
N |
0.00 |
原价:[1] |
|
9 |
cart_price |
double |
8 |
2 |
N |
N |
0.00 |
卖价:[1] |
|
10 |
cart_inventory |
int |
10 |
0 |
N |
N |
0 |
商品库存 |
|
11 |
cart_type |
varchar |
64 |
0 |
N |
N |
未分类 |
商品分类: |
|
12 |
cart_content |
longtext |
2147483647 |
0 |
Y |
N |
正文:产品的主体内容 |
|
|
13 |
cart_img_1 |
text |
65535 |
0 |
Y |
N |
主图1: |
|
|
14 |
cart_img_2 |
text |
65535 |
0 |
Y |
N |
主图2: |
|
|
15 |
cart_img_3 |
text |
65535 |
0 |
Y |
N |
主图3: |
|
|
16 |
cart_img_4 |
text |
65535 |
0 |
Y |
N |
主图4: |
|
|
17 |
cart_img_5 |
text |
65535 |
0 |
Y |
N |
主图5: |
|
|
18 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
19 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
flower_types_id |
int |
10 |
0 |
N |
Y |
鲜花种类ID |
|
|
2 |
flower_types |
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 |
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 |
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 |
regular_users_id |
int |
10 |
0 |
N |
Y |
普通用户ID |
|
|
2 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 |
|
|
3 |
user_gender |
varchar |
64 |
0 |
Y |
N |
用户性别 |
|
|
4 |
contact_phone_number |
varchar |
64 |
0 |
Y |
N |
联系电话 |
|
|
5 |
examine_state |
varchar |
16 |
0 |
N |
N |
已通过 |
审核状态 |
|
6 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID |
|
7 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
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 |
更新时间: |
在登录界面输入账号+密码,点击“登录”按钮,系统在用户数据库表中会对管理员、用户的账号进行匹配,账号+密码正确的话,就会登录到系统中各个用户的主管理界面,否则提示对应的信息,返回到登录的界面,其主界面展示如下图4.1所示。

图4.1 登录界面图
登录代码如下:
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostM系统ing("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
Duration duration = Duration.ofSeconds(7200L);
redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
当用户想要查询、管理相关信息,就必须进行登录,如果没有账号的话,在登录界面,点击“注册”按钮就会跳转到注册的界面,根据提示填写好注册信息,添加提交,注册的信息在数据库中就添加完成了,然后再输入填写好的账号和密码进行登录,其主界面展示如下图4.2所示。

图4.2 注册界面图
注册代码如下:
/**
* 注册
* @param user
* @return
*/
@PostM系统ing("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));
query.put("username",user.getUsername());
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, "用户已存在");
}
map.put("password",service.encryption(String.valueOf(map.get("password"))));
service.insert(map);
return success(1);
}
首页:可查看轮播图、意见反馈、购物中心等系统功能。例如:
点击“意见反馈”,可查看所有反馈信息,可发布意见操作;
点击“购物中心”可查看所有商品信息,进行选购操作;。
首页主界面如下图所示。

图4.3 首页主界面图
鲜花资讯提供关于鲜花的新闻、花语等相关资讯,让用户更了解产品。界面如下图所示。

图4.4 鲜花资讯界面图
可对基本信息、收货地址、收藏、订单、购物车等信息进行管控。具体操作如下:
点击“基本信息”:可对个人信息进行管控,包括修改密码(修改成功后需使用新密码登录)和修改资料(头像、昵称、邮箱、用户名称、用户性别、用户年龄、联系电话等);点击“收藏”,可查看所收藏的信息,可进行查看和删除操作;点击“收货地址”,可查看自己已有地址,进行增改善操作;点击“订单”,可查看自己的订单信息,进行查询操作,搜索,可点击查看详情等;
点击“购物车”,可查看购物车商品,进行增改删查转换订单操作,搜索,可点击查看详情。

图4.5 我的界面图
可对普通用户、管理员进行管控,可点击查看详情。界面如下图所示。
图4.6系统用户界面图
可查看所有轮播图信息,进行增改删查操作,支持商家姓名、手机号码、审核状态搜索,点击可查看详情(昵称、用户名、手机号码、审核状态、创建时间、更新时间)。界面如下图所示。
图4.7 系统管理界面图
管理员可以管理鲜花的种类信息,包括添加新鲜花种类、编辑已有种类信息等。界面如下图所示。
图4.8 鲜花种类管理界面图
管理员可以处理用户的售后问题,包括退货、换货、退款等。。界面如下图所示。
图4.9 售后信息管理界面图
可查看所有商品信息,进行查询和删除操作,支持标题、分类、发货地址搜索,可点击查看详情界面如下图所示。
图4.10 商城管理添加界面图
通过前面章节的介绍,我们可以看到鲜花商店APP已经完成了,但是能不能投入使用还是未知,因为在每个项目正式使用之前必须对开发的项目进行测试,如果不进行测试一旦投入使用可能会出现很多未可知的问题,比如使用人数太多导致系统瘫痪,比如某一功能存在bug信息填写错误等,这些错误将给使用者带来很多的困扰,甚至造成更大的损失,因此测试是项目投入使用的最后一步,为用户提供一个运行顺畅、完美的项目也就是我们进行最后测试的目的。
登录功能测试:
前提:管理员、普通用户、已有账号密码
表5.1 登录功能测试表
|
测试名称 |
测试功能 |
操作过程 |
预期结果 |
测试结果 |
|
用户登录模块测试 |
用户登录成功的情况 |
点击登录界面输入账号和密码管理员和用户分别输入自己的账号和密码信息,后点击“登录”按钮。 |
登录成功并调整到相应的管理员或用户界面 |
正确 |
|
用户登录模块测试 |
用户登录失败的情况 |
点击登录界面输入账号和密码分别不输入账号或密码后点击“登录”按钮。 |
登录失败 |
正确 |
鲜花资讯功能测试:
前提:管理员、用户登录
表5.3 鲜花资讯功能测试表
|
测试名称 |
测试功能 |
操作过程 |
预期结果 |
测试结果 |
|
鲜花资讯功能测试 |
查询成功的情况 |
在商品中心界面输入资讯标题进行查询 |
查询成功 |
正确 |
|
鲜花资讯功能测试 |
查询失败的情况 |
在商品中心界面不输入关键词进行查询 |
查询失败 |
正确 |
鲜花添加功能测试:
前提:管理员登录
表5.2 鲜花添加功能测试表
|
测试名称 |
测试功能 |
操作过程 |
预期结果 |
测试结果 |
|
鲜花添加模块测试 |
鲜花添加成功的情况 |
点击商城管理,选择添加,输入正确的信息后然后点击“提交”按钮。 |
提示添加成功 |
正确 |
|
鲜花添加模块测试 |
鲜花添加失败的情况 |
在商城管理添加页面中不填写的商品标题,其他信息正常输入“提交”按钮。 |
提示“添加失败,信息不能为空” |
正确 |
轮播图添加功能测试:
前提:用户登录
表5.4 轮播图添加功能测试表
|
测试名称 |
测试功能 |
操作过程 |
预期结果 |
测试结果 |
|
轮播图添加模块测试 |
轮播图添加成功的情况 |
在轮播图页面中,进入详情界面,点击轮播图,输入轮播图信息,输入正确的信息后然后点击“提交”按钮。 |
提示添加成功 |
正确 |
|
轮播图添加模块测试 |
轮播图添加失败的情况 |
在轮播图页面中不填写的面试名称,其他信息正常输入“提交”按钮。 |
提示“添加失败,信息不能为空” |
正确 |
通过前面章节的介绍,我们可以看到鲜花商店APP已经完成了,但是能不能投入使用还是未知,因为在每个项目正式使用之前必须对开发的项目进行测试,如果不进行测试一旦投入使用可能会出现很多未可知的问题,比如使用人数太多导致系统瘫痪,比如某一功能存在bug信息填写错误等,这些错误将给使用者带来很多的困扰,甚至造成更大的损失,因此测试是项目投入使用的最后一步,为用户提供一个运行顺畅、完美的项目也就是我们进行最后测试的目的。
在开发鲜花商店APP之前我胸有成竹,觉得很简单,但在实际的开发中我发现了自身的很多问题,许多编程思想和方法都还没有掌握牢靠,比如Bootsatrp、Jquery、AJAX 、djangot等许多Java开发技术,通过开发这个鲜花商店APP我成长了很多,懂得了做什么事情都要脚踏实地,不能眼高手低,在本次鲜花商店APP的开发中我逐渐掌握逐渐熟悉的技术。
本文总结了基于Android的鲜花商店APP实现研究背景、研究意义,然后阐述了系统的具体业务需求,并根据系统需求对系统结构以及功能模块等进行了详细地设计,将整个系统划分为多个不同的功能模块。在分析系统功能需求时,对整个系统的总体架构以及功能模块等进行了分析,并选择合适的系统开发技术完成了对各个模块的开发工作。系统开发完成之后进行了部署,同时进行了系统的测试过程,通过测试证明了系统在功能以及性能等方面都达到了预期的要求,具有较高的稳定性与可靠性。
本实验室管理APP利用Java编程语言,采取django开发框架,配合MySQL数据库管理和储存数据,采用嵌入式系统,基于Android平台进行搭建和设计。实现了包括但不限于系统用户、系统管理、留言管理、交流管理、商城管理等功能模块,提升原产地采供管理效率和服务水平,推进原产地采供管理向便捷化、智能化、信息化发展。
同时,在本次项目中我也暴露了诸多问题。对于Java的编程知识有所欠缺,环境配置和算法上出现诸多问题,时常导致项目运行出错,或者目标的实现有问题。或者实现想法时算法未优化,使得代码冗长,程序运行不顺畅。
[1]Yu C ,Feng J ,Zheng Z , et al.A lightweight SOD-YOLOv5n model-based winter jujube detection and counting method deployed on Android[J].Computers and Electronics in Agriculture,2024,218108701-.
[2]R H M ,D'Souza S,C N D, et al.Multifaceted Coding of Messages Using the Concepts of Graph Theory[J].IAENG International Journal of Computer Science,2024,51(2):
[3]马超,常增亮,高兴国,等.基于Android平台的电力工程外业踏勘三维辅助系统设计与实现[J].电力勘测设计,2024,(01):77-81+88.DOI:10.13500/j.dlkcsj.issn1671-9913.2024.01.014.
[4]王怀秀,肖胜涛.基于Android的无线节点式地震仪监控系统设计[J].仪表技术与传感器,2024,(01):36-40+63.
[5]林枫然,张浩.基于UE5的VR场景制作与探索——Android平台工程设置[J].影视制作,2024,30(01):58-60.
[6]杨丽洁,群诺,尼洛琼达.基于Android的“藏语帮”APP设计与实现[J].现代计算机,2024,30(01):116-120.
[7]颜秋林,吕骁,刘连席,等.基于Android的草莓电特性参数采集系统设计与实现[J].南方农机,2024,55(02):29-31+35.
[8]徐艳红.基于烟雾特征提取算法的物流易燃品信息管理与预警平台[J].九江学院学报(自然科学版),2023,38(04):69-72.DOI:10.19717/j.cnki.jjun.2023.04.016.
[9]吴玉婷,肖提荣,林根,等.基于Android平台的县级自然资源管理系统设计与实现[J].测绘技术装备,2023,25(04):161-164+171.DOI:10.20006/j.cnki.61-1363/P.2023.04.032.
[10]罗伟.电子信息类职业教育在线精品课程建设的研究与实践——以《Android应用开发》为例[J].中国集成电路,2023,32(12):25-29.
[11]付兴兰,赵士林,曹亮,等.基于Android Studio的电工学实验教学辅助平台开发与应用[J].科技与创新,2023,(23):86-89.DOI:10.15913/j.cnki.kjycx.2023.23.026.
[12]罗倩.移动智能终端内容安全与隐私保护问题研究[D].西安电子科技大学,2022.DOI:10.27389/d.cnki.gxadu.2022.000118.
[13]郜山权.面向安卓移动应用的推荐问题研究[D].吉林大学,2022.DOI:10.27162/d.cnki.gjlin.2022.000384.
[14]Daniel M ,Manolis L ,Angeliki P .Quality and Presence of Behaviour Change Techniques in Mobile Apps for the Mediterranean Diet: A Content Analysis of Android Google Play and Apple App Store Apps[J].Nutrients,2022,14(6):1290-1290.
[15]Shanquan G ,Lei L ,Yuzhou L , et al.API recommendation for the development of Android App features based on the knowledge mined from App stores[J].Science of Computer Programming,2021,202102556-.
[16]张程鹏.移动应用同源性分析关键技术研究[D].北京邮电大学,2020.DOI:10.26969/d.cnki.gbydu.2020.000138.
[17]Nancy L ,Alison O ,Susannah C , et al.Android and iPhone Mobile Apps for Psychosocial Wellness and Stress Management: Systematic Search in App Stores and Literature Review.[J].JMIR mHealth and uHealth,2020,8(5):e17798.
[18]胡阳雨.面向移动应用生态系统的新型欺诈行为分析关键技术研究[D].北京邮电大学,2020.DOI:10.26969/d.cnki.gbydu.2020.000033.
[19]Naderi H ,Etminani K .An evaluation of released mobile health apps in popular Iranian app stores[J].International Journal of Medical Engineering and Informatics,2020,11(4):
[20]甘佳.Android应用软件质量评价方法研究与实现[D].西南科技大学,2019.
致 谢
至此论文结束,感谢您的阅读。在此我要特别的感谢我的导师,虽然我在实习期间很忙,论文撰写的时候经常是停停改改,但是我的导师依旧十分的负责,时不时的询问我的任务进展情况,跟进我的论文进度,在指导老师的帮助下,我逐步完成了自己的论文和程序,从导师身上也学习到很多知识和经验,这些知识和经验令我受益匪浅。同时我也从导师身上看到了自己的不足,不论是在技术层面上还是在对待工作的态度上,导师如同明镜一般照出了我的缺点我的不足。此外,我还要感谢在我实习期间在论文和程序上帮助过我的同学和社会人士,此前我对于djangot、APP方面的一些知识还不了解,是他们在我编写程序过程中给了我很多的启发和感想,也帮助了我对于程序的调试和检测。没有他们我是不能顺利完成本次毕业设计的。至此,我的毕业设计就花上了一个圆满的句号了。
免费领取源码,请关注+点赞+收藏+私信博主,谢谢!
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐

所有评论(0)