湖北地区农产品扶贫助农网站的设计与实现
摘 要
近年来,电子商务的快速发展引起了行业和学术界的高度关注。湖北地区农产品扶贫助农网站旨在为用户提供一个简单、高效、便捷的购物体验,它不仅要求用户清晰地查看所需信息,而且还要求界面设计精美,使得功能与页面完美融合,从而提升系统的可操作性。因此,我们需要深入研究信息内容,并利用技术手段来完善湖北地区农产品扶贫助农网站的设计与实现。
首先,论文分析了农产品扶贫助农网站的设计与实现的需求和功能,包括前台的首页、通知公告、农产资讯、商城中心、商城管理、个人中心和后台的系统用户、贫困申请管理、系统管理、通知公告管理、资源管理、商城管理等。该系统旨在提供一个便捷的在线平台,供用户购买扶贫助农的农产品。然后,系统采用Java作为主要开发语言,使用MySQL数据库进行数据存储,并结合前端技术实现了用户界面的设计。通过该系统,用户可以浏览农产品信息、下单购买、管理个人订单、地址等功能。本文详细描述了系统的功能需求、数据库设计、系统架构和主要模块的实现过程。通过测试和验证,该系统达到了预期的目标,为扶贫助农的农产品线上销售提供了有效的支持。
关键词:农产品线上销售系统;Java;MySQL ;扶贫助农
Abstract
In recent years, the rapid development of e-commerce has attracted high attention from the industry and academia. The Hubei Agricultural Products Poverty Alleviation and Assistance Website aims to provide users with a simple, efficient, and convenient shopping experience. It not only requires users to clearly view the required information, but also requires a well-designed interface to perfectly integrate functions and pages, thereby improving the operability of the system. Therefore, we need to conduct in-depth research on information content and use technological means to improve the design and implementation of poverty alleviation and assistance websites for agricultural products in Hubei region.
Firstly, the paper analyzes the requirements and functions for the design and implementation of a poverty alleviation and assistance website for agricultural products, including the front-end homepage, notification announcements, agricultural information, mall center, mall management, personal center and backend system users, poverty application management, system management, notification announcement management, resource management, mall management, etc. The system aims to provide a convenient online platform for users to purchase poverty alleviation and agricultural products. Then, the system adopts Java as the main development language, uses MySQL database for data storage, and combines front-end technology to achieve user interface design. Through this system, users can browse agricultural product information, place orders for purchases, manage personal orders, address, and other functions. This article provides a detailed description of the system's functional requirements, database design, system architecture, and the implementation process of the main modules. Through testing and verification, the system has achieved the expected goals and provided effective support for online sales of agricultural products for poverty alleviation and agricultural assistance.
Keywords: Online sales system for agricultural products; Java; MySQL; Poverty alleviation and agricultural assistance
目录
1 绪论
1.1 研究背景
农业是我国的基础产业,也是亿万农民的重要生计来源。然而,在现代社会中,农民与城市居民之间的差距逐渐扩大,农村地区的贫困问题也日益突出。解决农村贫困问题,促进农村经济的发展和农民生活水平的提高,是当前社会的重要任务。随着互联网技术的迅速发展,农产品电子商务平台逐渐兴起。通过互联网平台,买家可以直接与农民进行交流和购买农产品,农民可以直接将自己的农产品销售给更广泛的消费者群体。这种形式的农产品销售模式为农民提供了更多的经济机会,同时也能够方便消费者购买优质的农产品。因此,在这种网络大环境下,我选择了针对湖北地区的农产品扶贫助农网站这一课题作为本次的毕业设计。
在经过多方面的调查,农产品扶贫助农行业目前还没有专门的电子商务商城平台,人们在购买农产品的时候,还是基于传统的去市场或集市摆摊的方式来选购,太浪费时间和精力了,甚至让人头疼,对于新一代年轻人,这种形式,显然已经无法满足他们的要求了,他们更趋向于网络这种选购方式,节约了时间,一是不用出门,在家就能轻松的选购,二是可根据农产品种类快速查询需要的农产品,不仅快速,在农产品展示方面也很全面,图文并茂,完全不输实体店选购,所以,从以上几点能看出,构建本农产品扶贫助农网站对用户来说好处颇多,用户乐于使用,值得开发。而对于商家来说,不仅能够减少开支,还能提高销量,促进商家的发展,农产品扶贫助农网站是另一个销售平台,让全部各地要想购买农产品的用户都能通过这个网站进行选购,而不仅仅局限于当地销售,客户群扩大了,销售量肯定也会提高。所以,对商家来说,这个农产品扶贫助农网站的开发也是很有必要的。
1.2研究意义
设计和实现一种农产品扶贫助农网站,旨在解决上述问题,提高农产品的销售质量和数量,促进农民的收入增长,真正实现农产品销售与扶贫精准对接。具体研究意义包括以下几个方面:
1.解决信息不对称问题:通过农产品扶贫助农网站,农民可以将自己的农产品信息及时发布,消费者可以直接获取到农产品的相关信息。这样可以避免信息不对称问题,提高买卖双方的信息透明度。
2.提高销售渠道的多样性:农产品扶贫助农网站可以提供多种销售渠道,包括直接销售给消费者、批发给商户、供应给餐饮业等。这样可以帮助农民更好地拓展市场,提高销量和收入水平。
3.优化物流配送:农产品扶贫助农网站可以提供优化的物流配送服务,保证农产品能够及时准确地送达消费者手中。这样可以提高消费者的购买体验,增加信任度,促进再次购买。
4.引入第三方评价机制:农产品扶贫助农网站可以引入评价机制,消费者可以对购买的农产品进行评价和反馈。这样可以提供农产品质量的参考和改进意见,促进农民提高产品品质和服务水平。
5.探索其他增值服务:农产品扶贫助农网站可以进一步探索其他增值服务,如生鲜配送服务、餐饮配套服务等,进一步提高农产品的附加值和市场竞争力。
综上所述,研究和开发一个高效、安全、用户友好的农产品扶贫助农网站具有重要意义。通过采用SpringBoot等现代化的开发框架和技术,可以实现系统的快速开发和部署,并提供稳定可靠的功能。同时,结合电子商务的最佳实践和用户需求,设计一个符合用户期望的界面和功能,提高用户的购物体验和满意度。
1.3研究现状
随着信息技术的快速发展,互联网的普及,让人们的生活发生了翻天覆地的变化,其中影响人们最深的便是互联网购物,以前人们购物,都是亲自到商场和超市来选购,在众多商品中一一挑选,挑选结束后到收银台交钱结算,然后再拎着大包小包的商品回家,但是,随着互联网+模式的出现,人们购物不再仅仅依附于去实体店来购买,还可以在家,利用电脑或者手机来进入专门的购物商城来选购自己需要的商品,在购物商城可以通过商品的类别或者商品的名称来快速的筛选出符合自己需求的商品,然后可以在线来支付,支付后只需要在家耐心等待几天,便会由快递员送货上门,不用自己大包小包的领回家,这种网购模式在当下社会工作节奏飞快的今天,已经成为了年轻人购物的首选,备受欢迎。
现在电子商务网购模式已经非常普遍,也支撑着社会经济的发展,电商平台有B2B模式(商家和商家之间的)、B2C模式(商家和用户之间的)、C2C模式(用户和用户之间的),在这三种电商模式中,人们日常生活中使用的最多的便是B2C这一电商模式,在众多B2C模式的电商平台里面,最为常见的有淘宝、京东、拼多多等,而且近几年新出现的抖音平台,从短视频的发布、分享,也渐渐的融入了电商的功能,直播带货现在也非常火热,让人们能够更直观的看到商品,也非常受人们的喜欢,一个个成功电商平台的出现,也正说明了人们对电商平台的需求,电子商务还有很大的发展空间,有待进一步的突破。
2 农产品扶贫助农网站需求分析
系统需求分析是系统开发的一个关键环节,它在系统的设计和实现上起到了一个承上启下的位置。系统需求分析是对所需要做的系统进行一个需求的挖掘,如果分析的准确可以精准的解决现实中碰到的问题。如果分析不到位会影响后期系统的实现。一个系统的优秀程度需求分析也是占据了非常大的比例,如果需求分析不到位,后面的系统设计要实现就是一个偏离导航的设计。
2.1 可行性分析
系统可行行分析是对系统对系统可行性进行一个探讨。在探讨系统的可行性上我们主要从技术上的可行性和经济上的可行性以及操作层面的可行性上进行分析,如果三个层面度通过,我们则认为系统是比较可行的。
2.1.1 技术可行性分析
农产品扶贫助农网站设计与实现是一个基于Web的交易、管理平台,我们在实现这个系统所采用的技术方案是基于JAVA语言,采用的是比较流行的SpringBoot框架以及MYSQL数据库,在大学的学习中这两门课程都已经学过,而且自己也用这些技术开发过小的项目,在平时的课程设计以及作业也经常用到JAVA、SpringBoot和MYSQL,在技术上实现自己的自主开发是可行的。
2.1.2 经济可行性分析
开发本农产品扶贫助农网站的技术都是可以从网上直接免费下载,不用花一分钱,而且系统的源代码都是自己进行设计开发的,不需要成本,如果后期想要进行运营,只要把配置到服务器上,花费服务器的租赁费用,在使用中可以进行增加广告收益,因此在经济方面是可性的。
2.1.3 操作可行性分析
当下网络新时代,计算机已经得到了普及,多数人对计算机都比较的熟悉,知道如何使用它,当然也存在对计算机比较陌生的这一群体,也需要对其进行考虑。在进行农产品扶贫助农网站页面的设计的时候,考虑到使用人群,可能也存在对计算机比较陌生的人,所以,在页面的设计方面,设计的很是简单、简洁,布局明了,色调明朗,让无论是对计算机陌生还是对计算机熟悉的使用者,都可以使用自如,这也说明了该程序的操作方面非常可行。
2.2需求分析
本农产品扶贫助农网站的设计主要是针对四种用户进行使用,第一种是以游客身份使用,游客在进入系统后可以查看到系统中的所有内容,包括首页、通知公告、农产资讯、商城中心、商城管理,如果想要评论或者购买,可以注册登录;第二种是注册之后有账号的用户,登录以后可以收藏、评论、购买、管理收货地址、订单、个人资料等;第三种是卖家,登录后台以后可以对用户的贫困申请进行管理,同时也对商城中心、订单列表、订单配送进行管理。第四种则是管理员,是系统的管理者,管理员对系统中的农产资讯、商品/商品分类、用户提交的订单进行整体把控。
2.3 功能需求分析
(1)注册登录模块:注册是游客独有的功能,注册后就成了系统的正式用户了,然后游客通过前台登录,管理员和卖家用户通过后台登录。注册登录模块用例如下图2-1所示。
图2-1 注册登录模块用例图
(2)农产资讯模块:用户可以查看农产资讯,用户可以收藏、评论、点赞农产资讯信息,管理员可以添加、修改、删除农产资讯,管理评论。农产资讯模块用例如下图2-2所示。
图2-2 农产资讯模块用例图
(3)商城中心模块:游客可以查看商城中心,用户可以对商城中的商品收藏、评论、加购、立即购买,管理员和卖家可以添加、修改、删除商品,管理商品评论。商城中心模块如下图2-3所示。
图2-3 商城中心模块用例图
(4)用户管理模块:用户管理是后台管理员独有功能,管理员可以对注册的用户进行修改、删除、查询、也可以添加新的用户。用户管理模块用例如下图2-4所示。
图2-4用户管理模块用例图
(5)购物管理模块:购物管理是前台用户独有功能,用户可以选择两种购买方式,一种是把商品加入到购物车,另一种是直接购买,最终实现购物功能,购物管理模块用例如下图2-5所示。
图2-5购物管理模块用例图
(6)订单管理模块:订单管理模块是前台用户和后台管理员都有的功能,前台用户可以提交订单,管理订单,管理员和卖家能够对用户订单进行管控。订单管理模块用例如下图2-6所示。
图2-6订单管理模块用例图
(7)个人中心模块:个人中心模块是用户独有的功能,可以在“我的账户”管理个人资料,密码修改,也可以在“个人中心”对贫困申请、订单配送、收藏进行管理,个人中心用例如下图2-7所示。
图2-7个人中心管理模块用例图
2.4 非功能性需求分析
系统的非功能需求方面主要是从系统的安全性、存储性、可靠性、易学性、稳定性等方面进行分析:
(1)安全性:系统的安全问题是开发者首先要考虑的,如果系统存在安全隐患,可能使得用户个人信息被泄露,给用户带来困扰,造成损失。
(2)储存性:因为用户使用的关于农产品扶贫助农在线销售的网站,普通用户多,而且登录后要查询各种农产品信息,那就需要一个强大的数据库来进行数据的存储,对数据库的要求是非常严格的,本系统选用的是MYSQL数据库,MYSQL的运行速度很快,执行命令的速度也非常快,而且体积小。
(3)可靠性:可靠性指的是用户在进行农产品信息查询、评论以及购买的时候,能够按照用户的指示进行显示信息,如果用户点击查询农产品详细信息,显示出来的是不可购买的信息,那就违背用户的初衷。
(4)易学性:系统的开发面向对象学历不尽相同,所有在开发的时候要考虑系统操作应该简单,不需要进行任何学习、培训,只能上网的用户就可以操作。
(5)稳定性:系统在运行方面要很稳定,系统的界面、字体要清楚,没有失真现象,给用户以良好的体验。
(6)可拓展性:本农产品扶贫助农网站的功能还有待完善,因此系统要有很好的拓展性,方便后期功能更新维护。
2.5系统角色用例分析
2.5.1系统前台用户用例
农产品扶贫助农网站前台用户的主要功能是对系统信息的查看、收藏、评论以及对商品的购买,购买的过程中需要对收货地址进行设置,对购物车进行管理,查看自己的订单。前台普通用户用例图如图2-8所示。
图2-8 农产品扶贫助农网站前台普通用户用例图
在系统前台中主要实现的是对农产品扶贫助农网站中信息的浏览,用户对信息收藏、评论以及在商城中心中对商品购买几个功能。
(1)农产资讯功能,主要实现了是对农产资讯的查看,用户进行评论、收藏、点赞,用例说明如下表所示:
表2-1 农产资讯用例说明
用例名称 | 农产资讯 |
角色 | 用户 |
用例说明 | 对农产资讯评论 |
前置条件 | 用户登录到系统当中 |
后置条件 | 用户发表评论 |
基本事件流 | 1.进入系统登录界面 2.点击农产资讯,选择某条农产资讯查看详情 3.输入评论内容 4.点击提交按钮,发表评论 |
扩展流程 | 3a.用户没有登录成功 |
异常事件流 | 3a.输入评论内容为空 |
其他 | 无 |
(2)商城中心农产品购买功能,本功能是系统的主要功能,主要是实现在线购买功能,用例说明如下标所示:
表2-2 商城中心用例说明
用例名称 | 商品购买 |
角色 | 用户 |
用例说明 | 对商品加入购物车购买或者立即购买 |
前置条件 | 用户登录到系统当中 |
后置条件 | 对商品加入购物车购买或者立即购买 |
基本事件流 | 1.进入系统登录界面 2.点击商城中心,选择某条商城中心查看详情 3.加入购物车或者立即购买 4.输入订单信息提交订单 |
扩展流程 | 3a.现在支付方式 |
异常事件流 | 3a.用户没有登录 |
其他 | 无 |
2.5.2系统后端用例
后台分为两个角色:卖家和管理员,用户不能进入后台,卖家进入以后对贫困申请管理、商城管理(商城中心、订单列表、订单配送)这几个模块进行管理。管理员进入以后可以对首页的轮播图,农产资讯及其分类,通知公告,商品/分类及其订单进行管理。
卖家用例图如图2-9所示。
图2-9 农产品扶贫助农网站后台卖家用户用例图
后台管理员用例图如图2-10所示。
图2-10 农产品扶贫助农网站后台管理员用户用例图
后台管理员主要实现了是对轮播图,资源,交流,商城和用户的增删改查操作。后台管理员的用例说明如下表所示:
表3-3 后台管理员用例说明
用例名称 | 后台管理 |
角色 | 管理员 |
用例说明 | 对前端显示的信息进行管理 |
前置条件 | 管理员登录进入后台管理页面 |
后置条件 | 无 |
基本事件流 | 1.管理员登录进入后台管理界面 2.点击左侧选择相应功能板块 3.选择所要操作的数据 4.点击选择的内容进行增加/删除/修改/查找 5.点击立即保存按钮 |
扩展流程 | 无 |
异常事件流 | 无 |
其他 | 无 |
2.6 系统流程分析
2.6.1数据流程
农产品扶贫助农网站主要的目的就是实现对农产品的在线购买,图2-11就是系统的数据流图。
图2-11农产品购买操作展开图
2.6.2业务流程
分析完农产品扶贫助农网站的数据流,接下来我们来看系统的业务流程,图2-12就是业务流程图:
图2-12业务流程图
3 农产品扶贫助农网站概要设计
3.1系统功能结构设计
系统在结构上的设计至关重要,要考虑周全,设计全面,一个完善的结构体系,能够满足用户在使用时的各种需求,这样会让提高程序的使用率,保证程序被长久的利用。在设计农产品扶贫助农网站的结构时,也列入重点,采用模块化的方法来进行设计,即首先将大模块确定下来,再慢慢的将大模块进行补充完善,向下分支出小模块,一起共同组成的系统的结构体系,下图是该农产品扶贫助农网站的结构设计图,直观明了的可以看出本项目程序的功能。
农产品扶贫助农网站功能结构图如图3-1所示。
图3-1 农产品扶贫助农网站功能结构图
3.2系统数据库设计
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
3.2.1数据库概念结构设计
在数据库概念模型设计的时候,一般都采用E-R实体图进行展示,在实体图中可以展示出数据库表中的所有字段名称。下面是整个湖北地区农产品扶贫助农网站中主要的数据库表总E-R实体关系图。
图3-2 系统总E-R关系图
3.2.2数据库逻辑结构设计
在数据库表中我们会看到系统的表名、主键、外键等信息,我们通过数据库表的主键、外键把每个表关联起来,然后在界面中展示,本农产品扶贫助农网站的主要的数据库表如下:
表access_token (登陆访问时长)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 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 | 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 | mall_center_id | int | 10 | 0 | N | Y | 商城中心ID | |
2 | seller_customers | int | 10 | 0 | Y | N | 0 | 卖家用户 |
3 | seller_name | varchar | 64 | 0 | Y | N | 卖家名称 | |
4 | store_name | varchar | 64 | 0 | Y | N | 店铺名称 | |
5 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
6 | pay_type | varchar | 16 | 0 | Y | N | 支付类型: 微信、支付宝、网银 | |
7 | cart_title | varchar | 125 | 0 | Y | N | 标题:[0,125]用于产品html的标签中 | |
8 | cart_img | text | 65535 | 0 | Y | N | 封面图:用于显示于产品列表页 | |
9 | cart_description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于产品规格描述 | |
10 | cart_price_ago | double | 8 | 2 | N | N | 0.00 | 原价:[1] |
11 | cart_price | double | 8 | 2 | N | N | 0.00 | 卖价:[1] |
12 | cart_inventory | int | 10 | 0 | N | N | 0 | 商品库存 |
13 | cart_type | varchar | 64 | 0 | N | N | 未分类 | 商品分类: |
14 | cart_content | longtext | 2147483647 | 0 | Y | N | 正文:产品的主体内容 | |
15 | cart_img_1 | text | 65535 | 0 | Y | N | 主图1: | |
16 | cart_img_2 | text | 65535 | 0 | Y | N | 主图2: | |
17 | cart_img_3 | text | 65535 | 0 | Y | N | 主图3: | |
18 | cart_img_4 | text | 65535 | 0 | Y | N | 主图4: | |
19 | cart_img_5 | text | 65535 | 0 | Y | N | 主图5: | |
20 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
21 | 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 | 未配送 | 发货状态:未配送,已配送 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | poverty_application_id | int | 10 | 0 | N | Y | 贫困申请ID | |
2 | seller_customers | int | 10 | 0 | Y | N | 0 | 卖家用户 |
3 | seller_name | varchar | 64 | 0 | Y | N | 卖家名称 | |
4 | contact_information | varchar | 64 | 0 | Y | N | 联系方式 | |
5 | id_number | varchar | 64 | 0 | Y | N | 身份证号 | |
6 | application_date | date | 10 | 0 | Y | N | 申请日期 | |
7 | economic_situation | text | 65535 | 0 | Y | N | 经济情况 | |
8 | education_level | text | 65535 | 0 | Y | N | 教育程度 | |
9 | reason_for_application | text | 65535 | 0 | Y | N | 申请理由 | |
10 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
11 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | 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 | 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_information | 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 | seller_id | int | 10 | 0 | N | Y | 卖家ID | |
2 | seller_name | varchar | 64 | 0 | Y | N | 卖家名称 | |
3 | contact_information | varchar | 64 | 0 | Y | N | 联系方式 | |
4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
5 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | sensitive_vocabulary_id | int | 10 | 0 | N | Y | 敏感词汇ID | |
2 | sensitive_vocabulary | 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 | 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 | 创建时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 农产品扶贫助农网站详细设计与实现
4.1前台用户功能模块
4.1.1 前台首页界面
游客或者用户进入系统后可以查看系统的信息,包含了程序的标题、导航栏、轮播图、通知公告、商城中心信息等,其主界面展示如下图4-1所示。
图4-1 前台首页界面图
4.1.2注册界面
游客可以查看系统信息,也有注册成为用户的权限。其用注册流程图如图4-2所示,注册界面展示如下图4-3所示。
图4-2注册流程图
图4-3 用户注册界面图
注册关键代码如下所示。
/**
* 注册
* @param user
* @return
*/
@PostMapping("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.1.3登录界面
当用户注册成功以后就成为了正式用户,正式用户可以通过前台的登录页面登录到系统当中,用户登录流程如图5-4所示,登录界面如下图5-5所示。
图4-4 登录流程图
图4-5用户登录界面图
登录的逻辑代码如下所示。
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.select(map, new HashMap<>()).getResultList();
}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.select(groupMap, new HashMap<>()).getResultList();
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
String res = String.valueOf(service.runCountSql(sql).getSingleResult());
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());
tokenService.save(accessToken);
// 返回用户信息
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.1.4 通知公告界面
用户可以查看通知公告信息,可以查看某一公告的详情,其界面如下图4-6所示。
图4-6通知公告界面图
4.1.5 农产资讯界面
当用户点击农产品扶贫助农网站中导航栏上的“农产资讯”后将会进入到该“农产资讯”列表的界面,然后选择想要看的资讯信息,点击进入到详细界面,在详细界面可以收藏+赞+评论等操作。农产资讯详情界面如下图4-7所示。
图4-7农产资讯界面图
4.1.6 商城中心详情界面
游客只能查看商城中心的商品,不能进行任何购买、评论操作,普通用户可以选择自己需要的商品,加入购物车、立即购买、收藏、评论。
加入购物车流程图如图4-8所示。
图4-8加入购物车流程图
购买工作流程图如图4-9所示。
图4-9 购买工作流程图
商城中心详情展示页面如图4-10所示。
图4-10 商城中心详情展示界面图
购买支付界面如图4-11所示。
图4-11 购买支付界面图
4.1.7个人中心界面
当用户点击右上角“账号名”这个按钮,会出现子菜单,点击“个人中心”可以对个人首页、贫困申请、订单配送和自己收藏的信息进行设置管理。用户个人中心-订单配送界面如下图4-12所示。
图4-12 用户个人中心订单配送界面图
4.2后台功能模块
4.2.1卖家后台管理首页界面
卖家登录后台,主要对贫困申请管理和商城管理子菜单下的商城中心、订单列表、订单配送进行管理。卖家后台管理界面如下图4-13所示。
图4-13 卖家后台管理界面图
4.2.2管理员系统用户界面
在后台系统用户管理中,主要是管理注册的普通用户、卖家和管理员,管理员拥有对所有用户管控的功能。系统用户界面如下图4-14所示。
图4-14 系统用户界面图
用户管理关键代码如下:
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
4.2.3贫困申请管理界面
农产品扶贫助农网站中的管理人员在“贫困申请管理”这一菜单下是可以对用户和卖家提交的贫困申请信息进行审核,支持增删改查。贫困申请管理审核界面如下图4-15所示。
图4-15 贫困申请管理审核界面图
4.2.4系统管理界面
农产品扶贫助农网站中的管理人员在“系统管理”这一菜单下是可以对农产品扶贫助农网站内展示的轮播图进行添加修改的。系统管理界面如下图4-16所示。
图4-16 系统管理界面图
4.2.5 资源管理界面
管理员点击“资源管理”可以对前台展示的农产资讯以及资讯所属分类进行管理,农产资讯管理的界面如下图4-17所示。
图4-17农产资讯管理界面图
4.2.6 商城中心界面
管理员拥有对商城中心中的商品进行添加、修改、删除、管理评论的功能,商城中心管理界面如下图4-18所示。
图4-18商城中心管理界面图
4.2.7 分类列表界面
管理员拥有对商品的分类增删改查的功能,分类列表界面如下图4-19所示。
图4-19分类列表界面图
5系统的测试
5.1测试的目的
一个系统测试的目的就是检验系统在真正的工作环境、条件下是不是能够正常运行,各种功能能不能符合设计的要求,通过测试发现系统当中存在的一些潜在的错误,然后对系统进行改进,使得系统最终以完美的形式展现给用户,提高用户使用过程中的体验度,真正达到项目的实际使用目的。
5.2 系统测试用例
系统测试包括:管理员登录功能测试、商城中心查看功能测试、商品添加功能测试、加入购物车购买功能测试,如表6-1、6-2、6-3、6-4所示:
表6-1 管理员登录功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
登录模块测试 | 登录成功的情况 | 管理员可以通过浏览器进入到农产品扶贫助农网站后台登录界面,输入用户名:admin和密码admin后,点击“登录”按钮。 | 成功登录到管理员管理的界面 | 正确 |
登录模块测试 | 登录失败的情况 | 管理员可以通过浏览器进入到农产品扶贫助农网站后台登录界面,输入用户名:admin和密码111后,点击“登录”按钮。 | 系统提示“用户名和密码不匹配” | 正确 |
商城中心查看功能测试:
表6-2 商城中心查看功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
查询商城中心信息功能测试 | 查询成功的情况 | 用户在导航栏中点击“商城中心”,输入关键词查询商品,输入的商品在系统中存在,显示查询商品信息 | 查询成功 | 正确 |
商城管理中商品添加界面测试:
表6-3 管理员添加商品界面测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
商品添加模块测试 | 商品添加成功的情况 | 在“商城管理”菜单中点击“商城中心”会显示出所有的商品信息,点击“添加”,输入商品信息,输入正确的信息后,点击“提交”按钮。 | 提示添加成功 | 正确 |
商品添加模块测试 | 商品添加失败的情况 | 在“商城管理”菜单中点击“商城中心”会显示出所有的商品信息,点击“添加”,不输入标题,其他信息正常填写后,点击“提交”按钮。 | 提示“添加失败,标题不能为空” | 正确 |
加入购物车购买功能测试:
表6-4 加入购物车购买功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
加入购物车购买功能测试 | 购买的情况 | 用户在商城中心的商品详情页面,点击“加入购物车”,然后在“我的购物车”界面,点击“购买”按钮,进行付款。 | 加入购物车购买成功 | 正确 |
5.3 系统测试结果
本次开发的系统是一个农产品在线交易、购买的系统,主要功能就是实现用户的在线购买,通过对管理员登录、商品查询、商品添加、加入购物车购买这几个方面的测试可以看出系统的基本可以实现用户对商品购买的功能,而且在测试的过程中也对界面的展示进行了查看,发现界面并没有出现扭曲、混乱等情况,能够满足用户的需求,系统运行良好,是可以进行投入使用的。
6 结论
随着科技的飞速发展,越来越多的行业和企业都在利用计算机技术来管理日益增长的数据。本文旨在探讨湖北地区农产品扶贫助农网站设计与实现,以满足农产品销售信息化管理的需求。
本次毕业论文主要是利用SpringBoot技术开发一个安全可靠,操作简易,同时具备业务可扩展的农产品扶贫助农网站。本文详细的论述了系统的设计和开发,本系统的所有事务逻辑都是按照系统的需求分析进行设计的,系统有管理员、普通用户和卖家三种角色,本系统多处采用了Ajax的异步交互技术,同时它也叫异步交互技术,利用它我们可以让网页的局部进行数据刷新操作,Ajax和传统的数据更新技术大大增加了客户的体验程度,由于是对局部进行操作那么就减少了一些繁琐而又不必要的操作,减轻了服务器对页面解析的负担。
目前完成的湖北地区农产品扶贫助农网站设计与实现,还有许多有待改进的地方。一个是功能上的改进,第二个是技术上的改进。另外,系统如果能提供更多的功能就会使得系统更加丰富和多样化,比如兼职数据分析和可视化等。另外就是对前端UI的使用还不够熟练,视觉效果和界面观感有待提升,希望日后能对这个系统有所改进。
参考文献
[1]Nebri M ,Moussaid A ,Bouikhalene B .Artificial intelligence for forecasting sales of agricultural products: A case study of a moroccan agricultural company[J].Journal of Open Innovation: Technology, Market, and Complexity,2024,10(1):100189-.
[2]马庆.计算机软件开发中JAVA编程语言的应用[J].山西电子技术,2023,(06):84-86+98.
[3]宋晓燕,杨芬.Java程序设计语言的分层教学实践[J].电子技术,2023,52(11):182-183.
[4]Hengyu L ,Wen T .Insight into China’s economically motivated adulteration risk in online agricultural product sales[J].Expert Systems With Applications,2024,239
[5]王枭婷.“互联网+”背景下的农产品销售大数据平台的构建和应用[J].中国农业资源与区划,2023,44(10):39+51.
[6]杨华,徐扬.MySQL数据库对中文编码支持的探讨[J].网络安全和信息化,2023,(10):157-160.
[7]韩剑义.乡村振兴背景下电商助力农业产业振兴路径研究[J].中国集体经济,2023,(27):9-12.
[8]Oe H ,Yamaoka Y .How to Support Expanding Sales Channels of Agri-Food Products in New Markets: Healthiness and New Experiences of Tunisian Olive Oil[J].Businesses,2023,3(3):382-401.
[9]杨喆.数字营销视域下农产品电商运营研究[J].营销界,2023,(16):17-19.
[10]陈蓓蕾,洪年松.基于SpringBoot的数据库接口设计[J].信息与电脑(理论版),2023,35(16):181-183.
[11]傅冬.互联网+时代农产品电子商务销售平台的构建[J].今日财富,2023,(15):95-97.
[12]蓝新波,赵建保,李冬睿.直播电商平台推动农产品销售升级及促农增收效果研究[J].中国商论,2023,(14):45-48.DOI:10.19699/j.cnki.issn2096-0298.2023.14.045
[13]成诚.乡村振兴背景下农村电子商务发展策略研究[J].商展经济,2023,(11):60-62.DOI:10.19995/j.cnki.CN10-1617/F7.2023.11.060
[14]陈子哲,蔡阔,陈红等.农产品产地直发线上销售现状与对策研究[J].产业与科技论坛,2023,22(09):13-14.
[15]杨立强,范诚毅,张佳卉等.农特产品线上销售平台特色文化体验营销、购买行为研究——基于情绪的中介效应[J].中国集体经济,2023,(08):54-57.
[16]杨琳.电子商务环境下农产品网络营销策略浅析[J].科技经济市场,2023,(03):158-160.
[17]唐双林.基于Vue和SpringBoot架构的智能推荐农产品团购销售系统[D].重庆三峡学院,2023.DOI:10.27883/d.cnki.gcqsx.2023.000390
[18]陈小燕,朱映辉,余晓春.基于SpringBoot+Vue的好农物商城的设计与实现[J].电脑知识与技术,2022,18(22):37-39.DOI:10.14004/j.cnki.ckt.2022.1535
[19]李曼丽.电子商务视角下沂源县特色农产品销售策略优化研究[D].烟台大学,2022.DOI:10.27437/d.cnki.gytdu.2022.000207
[20]Cheng F .Talent Recruitment Management System for Small and Micro Enterprises Based on Springboot Framework[J].Advances in Educational Technology and Psychology,2021,5(2):
致谢
眨眼之间,大学生活就要结束了。在本文的最后,我要感谢我和蔼可亲的导师、团结有爱的同学的帮助和鼓励。此刻,我找不到感谢之词可以用来表达我最深切的感激之情。尤其感谢我的指导老师,在选题的过程中与我进行了深入的交流,在毕业设计期间给我提供了一些指导。四年的学习生活让我受益良多,老师们的丰富的学术知识、认真负责的学习态度让我受益匪浅。在此,我深深地感谢那些曾经给予我帮助和指导的老师!
我们的论文得益于许多学者的贡献,他们的研究成果为我们提供了宝贵的指导,使我们能够更好地完成这篇文章。感谢我的同学和朋友在我的写作以及排版过程中给予热情的帮助,才使得我比较顺利的完成了这篇论文。
感谢大学里遇见的朋友,你们在我这四年里留下无数的温暖和快乐,让我对这个校园多了一份留念。最后,感谢我的父母、辅导员、班长,以及室友们对我大学生活上的关心和理解,让我能保持乐观和追求我所热爱的。尽管我的能力有限,但我仍然尽力去完善这篇论文,并且诚挚地希望各位老师和学友能够给予宝贵的指导与意见!
请关注点赞+私信博主,免费领取项目源码