摘 要
随着农业现代化的不断推进,农作物的科学种植管理成为提升农业生产效率和保证农作物产量的关键。新疆作为我国传统农业地区,其独特的气候和地理条件要求农民在种植过程中需获取专业的指导与信息支持。本研究旨在设计并实现一款基于Android的新疆农作物种植指导系统,旨在为用户提供便捷的种植管理和信息查询服务,并为管理员提供高效的系统管理工具。
本系统基于Android平台进行开发,采用B/S架构,实现前后端分离设计,后端利用Java的Spring Boot框架,结合MySQL数据库进行业务逻辑的实现,前端则使用uni-App实现移动端的用户界面。实现系统用户、物种分类管理、种子信息管理、肥料信息管理、我的农场管理、种植信息管理、种植提醒管理、气象信息管理、系统管理、通知公告管理、资源管理、交流管理等核心功能模块,基本实现整个种植管理流程,为用户提供全面的农作物种植指导支持。
该新疆农作物种植指导系统的部署与实施有效整合了新疆农业管理资源,有助于推动新疆地区的智慧农业发展,提升农民的种植效率与质量,具有重要的现实意义和应用价值。
关键词:新疆农作物种植;种植指导;Spring Boot框架;uni-App;Android
Abstract
With the continuous advancement of agricultural modernization, scientific planting management of crops has become the key to improving agricultural production efficiency and ensuring crop yields. As a traditional agricultural region in China, Xinjiang's unique climate and geographical conditions require farmers to obtain professional guidance and information support during the planting process. The aim of this study is to design and implement an Android based crop planting guidance system in Xinjiang. The system aims to provide users with convenient planting management and information query services, as well as efficient system management tools for administrators.
This system is developed based on the Android platform and adopts a B/S architecture to achieve front-end and back-end separation design. The back-end uses Java's Spring Boot framework and combines MySQL database to implement business logic, while the front-end uses uni App to implement the mobile user interface. Implement core functional modules such as system user, species classification management, seed information management, fertilizer information management, My Farm management, planting information management, planting reminder management, meteorological information management, system management, notification and announcement management, resource management, and communication management, basically realizing the entire planting management process and providing users with comprehensive guidance and support for crop planting.
The deployment and implementation of the Xinjiang Crop Planting Guidance System effectively integrates Xinjiang's agricultural management resources, helps promote the development of smart agriculture in Xinjiang, improve farmers' planting efficiency and quality, and has important practical significance and application value.
Keywords: crop cultivation in Xinjiang; Planting guidance; Spring Boot framework; uni-App; Android
目 录
1 前 言
1.1 研究背景
1.2 研究意义
1.3 国内外研究现状
1.3.1 国内研究现状
1.3.2 国外研究现状
1.4 系统的特点
1.5 论文结构与章节安排
2 关键技术
2.1 Java编程语言
2.2 MySQL数据库
2.3 Spring Boot框架
2.4 B/S模式
2.5 uni-App框架
2.6 Android平台
3 系统分析
3.1 可行性分析
3.1.1 技术可行性
3.1.2 经济可行性
3.1.3 操作可行性
3.2 功能需求分析
3.3 系统性能分析
3.4 系统流程分析
3.4.1 程序操作流程
3.4.2 登录流程
3.4.3 注册流程
4 系统设计
4.1 总体设计
4.1.1 系统架构设计
4.1.2 功能模块设计
4.2 数据库设计
4.2.1 数据库E-R图
4.2.1 数据库表结构设计
5 系统实现
5.1 系统环境分析
5.2 系统前台模块
5.2.1 用户登录界面
5.2.2 用户注册界面
5.2.3 首页界面
5.2.4 种子信息界面
5.2.5 我的农场界面
5.2.6 我的界面
5.3 后台管理模块
5.3.1 系统用户界面
5.3.2 种子信息管理界面
5.3.3 我的农场管理界面
5.3.4 种植信息管理界面
5.3.5 种植提醒管理界面
5.3.6 系统管理界面
6 系统测试
6.1 测试目的
6.2 测试用例
6.3 测试分析
7 总结
参考文献
致 谢
1 前 言
随着全球人口的不断增长和城市化进程的加快,农业生产面临着巨大的压力。提高农作物的产量和质量已成为各国农业发展的重中之重。特别是在中国的新疆地区,独特的自然条件和作物种植模式对农业发展有着重要影响。新疆地处高原干旱区,气候特点显著,土壤类型多样,尤其适合某些特定农作物的种植。然而,由于当地农民在现代农业知识和技术运用上的不足,导致了农作物的生产效率和质量未能得到最大化的提升。因此,设计一款有效的农作物种植指导系统,帮助农民掌握科学的种植管理知识,便显得尤为重要。
本文研究的新疆农作物种植指导系统以快速开发、灵活性、高效性为优点Spring Boot为后端框架,结合了前端uni-App应用程序提供用户友好可移动的交互界面,利用MySQL关系型数据库储存数据,保证数据持久化与安全性,通过以上技术,不仅能够实现平台的快速迭代更新和稳定性维护,提高系统性能的同时确保平台长期稳定运行,还能为用户提供更好的使用体验。
本研究的主要目的是开发一款基于Android平台的新疆农作物种植指导系统,旨在为新疆农民提供科学的种植技术指导、实时的气象信息和农业实践管理支持。本新疆农作物种植指导系统的构建与实施,不仅可以促进农业知识普及,通过构建一个便捷的信息交流与种植管理及指导平台,让农民及时获取农业相关知识,提升其科学种植的能力和种植管理效率与质量;还能够提升农业生产效益,通过提供精准的种植指导,帮助农民提高作物产量和质量,从而增加经济收益。同时,实现农作物管理的信息化化,通过系统化的种植管理和实时监控提醒,推进农业管理的智能化和信息化进程,增强农民对种植风险的预判能力。此外,本研究不仅具有实际应用价值,还有助于推动我国农业现代化进程,实现智慧农业的进一步发展。
在国内,近年来围绕农业信息化的研究逐渐增多,尤其是针对农村信息服务和农作物管理的智能系统。例如,清华大学开发的“智慧农业”平台,通过数据采集、云计算和大数据分析技术,为农民提供精准的种植方案和实时的气象预警。还有华中农业大学的研究团队推出了基于移动互联网的农业服务系统,该系统为农户提供土壤检测、作物生长状态分析和病虫害防治的指导。此外,随着物联网技术的发展,越来越多的农业服务平台也开始整合传感器数据,实现土壤湿度、气候变化等信息的实时监控,这些系统通过手机应用将信息推送给农民,提高了决策的及时性和准确性。
国外方面,农业信息化和智能化的发展同样引起广泛关注。例如,美国的Agri-Tech公司开发的基于大数据和人工智能的农业管理系统,以帮助农民实现精准施肥、灌溉和病虫害监测,其通过卫星遥感技术分析农作物生长情况,并向农民提供相应的种植建议。另外像以色列的农业科技企业Netafim专注于智能灌溉技术的研究与开发,不仅为农民提供高效的水资源管理系统,还结合气候与土壤数据,为用户定制个性化的灌溉方案,这一类先进的农业管理系统在提升作物产量和水资源利用效率方面取得了显著成效。
通过对国内外研究现状的分析,可以发现尽管我国在农业信息化领域取得了一定进展,但还有巨大的提升空间,尤其是在信息整合和用户体验方面。本研究希望借鉴国际先进经验,结合本土实际,开发一款针对新疆作物的种植指导系统,不断完善农作物种植指导系统的功能,以更好服务新疆乃至全国的农民。
(1)新疆农作物种植指导系统中的web后台管理中的后端不再使用古老的jsp+javabean+servlet技术,而是使用当前主流的Spring Boot框架,它减少Java配置代码,简化编程代码,目前Spring Boot框架也是很多企业选择的框架之一。
(2)新疆农作物种植指导系统中的前端使用的是uni-app框架,它是使用Vue.js 开发所有前端应用的框架,可应用多平台,性能优秀,周边生态丰富且开发学习成本低。
(3)新疆农作物种植指导系统中数据库用的是MySQL数据库,它执行效率高,运行速度快,安全性能也很高,同时无平台限制。
1.5论文结构与章节安排
本文共分为七章,章节内容安排如下:
第一章:前言,主要介绍新疆农作物种植指导系统领域研究的背景和意义,概述研究的现状和系统特点。
第二章:关键技术,主要探讨和说明实现新疆农作物种植指导系统的关键技术。
第三章:系统分析,主要从新疆农作物种植指导系统的可行性、功能、性能等方面进行分析,为后续系统设计提供理论支持。
第四章:系统设计,主要对新疆农作物种植指导系统功能模块、数据库进行功能设计。
第五章:系统实现,主要介绍了新疆农作物种植指导系统各个用户的功能、系统界面的实现。
第六章:系统测试,主要对新疆农作物种植指导系统进行测试,验证功能完整性、稳定性和安全性,评估系统在实际运行中的性能表现。
第七章:结束语。总结全文研究内容,提出对该研究未来发展的展望和建议,指出研究的不足和可优化之处,为相关领域的进一步探索提供参考。
2 关键技术
本新疆农作物种植指导系统的设计与开发,主要基于Spring Boot框架,结合MySQL数据库,使用Java语言进行业务逻辑的实现和构建系统后端业务;前端采用uni-App技术开发与设计用户友好且可移动的交互界面;同时系统采用B/S(Browser/Server)模式,实现了前后端分离,满足不同用户的使用需求。
Java是一种面向对象的编程语言,广泛应用于企业级应用开发。其跨平台特性和强大的库支持使其成为构建后端逻辑的理想选择。在本系统中,Java被用于开发后端服务与API接口,确保了系统的高可维护性和扩展性。
MySQL是一种开源的关系型数据库管理系统(RDBMS),广泛用于Web应用程序的数据存储。它具有高性能、高可靠性和易扩展性的特点,符合ACID事务规则,支持多种存储引擎,如InnoDB、MyISAM等,是Spring Boot项目中常用的数据库,用于存储和管理数据,提供多种安全机制,以保证数据安全性。
Spring Boot是建立在Spring框架之上的开源框架,旨在简化新Spring应用的初始化和开发过程。通过使用Spring Boot,本系统能够快速搭建RESTful API,处理用户请求,并与数据库进行交互。其内嵌的服务器和自动配置功能使得开发过程更加高效,便于后续的部署与维护。
(Browser/Server)架构是近年来流行的系统架构模式。相较于传统的C/S(Client/Server)模式,B/S模式使得客户端只需通过浏览器即可访问系统,降低了用户的使用门槛。在该系统中,用户通过web端或移动端界面与后端服务进行交互,实现数据的快捷访问和管理。
uni-App是一个使用Vue.js开发的跨平台应用框架,支持多端的开发。在本项目中,uni-App用于实现移动端用户界面,使得用户可以在安卓设备上方便地使用系统功能,提升了用户体验。其组件丰富且易于使用,能够快速实现各类功能模块。
Android是Google开发的移动操作系统,广泛应用于各类智能手机中。本系统选择基于Android平台进行开发,以便用户能够随时随地访问种植指导信息,进行农作物管理。
3 系统分析
3.1可行性分析
3.1.1技术可行性
从技术角度来看,Spring Boot作为一种轻量级、快速构建的Java框架,能够提高开发效率,降低系统的复杂程度,易于维护和升级。同时,MySQL作为关系型数据库,能够支持平台数据的存储与管理,保障系统的稳定性和高效性。因此,本系统具有技术可行性。
从经济角度来看,基于Spring Boot搭建新疆农作物种植指导系统的投入成本相对较低,因为Spring Boot本身是一个免费、开源的框架,可以节省开发成本。同时,使用MySQL作为数据库也具有成本效益高的优势。APP作为平台的使用界面,能够更好地吸引用户参与,从而提升平台的商业化价值,增加商业合作和广告推广等收入来源。因此,本系统具有经济可行性。
从操作角度来看,Spring Boot的简洁性和高度集成的特点使得系统的部署和运行相对简单,容易维护和管理。同时,Android平台作为用户主要的操作入口,界面友好且操作简单,有利于用户体验的优化,提升用户的参与度和留存率。因此,本系统具有操作可行性。
综合来看,基于Spring Boot的新疆农作物种植指导系统的设计与实现在经济、技术、操作等方面都具有较高的可行性,能够为用户提供便捷的服务,提高管理效率。
根据用户需求分析,基于Spring Boot开发的新疆农作物种植指导系统可以分为普通用户和管理员两大角色,各角色用例图及相应功能分析说明如下。
系统前台小程序端普通用户角色用例如下图所示。

图3.1普通用户用例图
系统前台小程序端普通用户具体功能说明如下所示。
- 注册登录:提供注册登录系统功能,用户可注册并登录系统,支持对个人信息进行管控,并提供忘记密码操作。
- 首页:用户登录系统后首先进入首页界面,可查看轮播图、通知公告、新闻资讯等系统概览和推荐信息,并提供种子信息、肥料信息、我的农场等系统功能入口子功能;用户可根据自身需求选择相应功能进行操作。
- 通知公告:当用户点击首页的“通知公告”这一按钮时,可查看管理员发布的系统公告内容。
- 种子信息:当用户点击首页的“种子信息”这一按钮时,可进入种子信息展示页面,支持搜索和浏览种子信息详情内容,进行点赞、评论、收藏操作。
- 肥料信息:当用户点击首页的“肥料信息”这一按钮时,可进入肥料信息展示页面,支持搜索和浏览肥料信息详情内容,进行点赞、评论、收藏操作。
- 我的农场:当用户点击首页的“我的农场”这一按钮时,可进入我的农场信息展示页面,支持搜索和浏览我的农场详情内容,进行点赞、评论、收藏,提供种植操作,可添加记录种植信息。
- 新闻资讯:当用户点击“新闻资讯”这一按钮时,可进入新闻资讯展示页面,支持搜索和浏览新闻资讯详情内容,进行点赞、评论、收藏操作。
- 交流论坛:当用户点击“交流论坛”这一按钮时,可进入交流论坛展示界面,支持搜索和浏览交流论坛详情内容,进行点赞、评论、收藏操作;并提供发布内容操作,发布交流论坛贴子。
- 我的:当用户在前台点击“我的”可以对用户的基本信息、收藏、我的农场、种植信息、种植提醒、气象信息等信息进行管理。
系统后台管理端管理员角色用例如下图所示。

图3.2管理员用例图
系统后台管理端管理员具体功能说明如下所示。
- 登录:管理员可直接使用账号密码登录系统后台,进行管理,可对自己的个人信息和密码信息进行修改。
- 后台首页:管理员登录系统后台的起始界面,该界面主要展示系统重要信息概览。
- 系统用户:管理员可管理系统的所有系统用户信息,包括普通用户和管理员等用户,支持用户权限管理和角色设置,可增改删查和审核封禁系统用户信息。
- 物种分类管理:管理员可管理所有物种分类信息,包括新增、编辑、删除和查询物种分类。
- 种子信息管理:管理员可管理所有种子信息的发布、下架、更新等操作,提供搜索功能,支持查看和管控其评论内容。
- 肥料信息管理:管理员可管理所有肥料信息,包括新增、编辑、删除肥料信息,提供搜索功能,支持查看和管控其评论内容。
- 我的农场管理:管理员可管理所有我的农场的发布、下架、更新等操作,提供搜索功能,支持查看和管控其评论内容。
- 种植信息管理:管理员可管理所有种植信息,包括查询、删除我的农场,提供提醒功能,可向用户发送种植提醒信息。
- 种植提醒管理:管理员可管理所有种植提醒信息,包括查询、删除种植提醒,提供气象功能,发布气象天气状况,提出种植建议。
- 气象信息管理:管理员可管理所有气象信息,包括查询、删除气象信息。
- 系统管理:管理员可管理系统的轮播图信息,包括新增、编辑、删除和查询轮播图支持添加图片附带链接。
- 通知公告管理:管理员可管理平台发布的通知公告,包括新增、编辑、删除通知公告,提供搜索功能。
- 资源管理:管理员可管理新闻资讯和资讯分类的新增、编辑、删除等操作,提供搜索功能,支持对新闻资讯的评论管控和查看。
- 交流管理:管理员可管理交流论坛和论坛分类的新增、编辑、删除等操作,提供搜索功能,支持对交流论坛的评论管控和查看。
对于Spring Boot新疆农作物种植指导系统的设计与实现,下面是系统性能分析表:
表3.1性能需求表
|
项目 |
内容 |
|
响应时间 |
系统对用户请求的响应时间需在500ms以内 |
|
并发用户数 |
系统需要支持1000个并发用户同时访问 |
|
吞吐量 |
系统每秒需要处理1000个请求 |
|
可用性 |
系统需要保证每月99.9%的可用性 |
|
数据安全 |
用户敏感数据需要加密存储,并支持数据库备份和恢复 |
|
数据一致性 |
系统中的数据操作需保证ACID特性,确保数据一致性 |
|
扩展性 |
系统需要支持水平扩展,能够方便地增加服务器节点以应对高请求量 |
|
可维护性 |
系统代码需要清晰易懂、结构良好,方便团队成员维护和修改 |
|
日志记录 |
系统需要记录用户操作日志、异常日志以及系统运行日志 |
|
监控报警 |
系统需要实时监控运行状态,当系统异常时能够及时发送警报通知相关人员 |
|
缓存设置 |
针对频繁使用的数据,系统需要进行合适的缓 |
用户访问平台网站,可以选择进行注册或登录操作。注册成功后,用户可以使用注册的账号登录平台。登录后的用户可以进入系统功能界面,使用自己权限内的功能操作。程序操作流程图如下图所示。

图3.3程序操作流程图
用户访问平台的网站,进入登录页面页面,入其用户名和密码,后端服务接收登录请求,验证用户提供的用户名和密码是否匹配数据库中存储的信息,验证通过即可登录成功。登录流程图如下图所示。

图3.4登录流程图
未有账号的用户可进入注册界面进行注册操作,填写注册表格,包括用户名、密码、电子邮件等必要信息。后台系统验证并保存用户提交的信息。分配唯一用户标识符。注册成功后,用户可以使用账号密码进行登录。用户注册流程图如下图所示。

图3.5注册流程图
4 系统设计
目前B/S体系的系统主要的数据访问方式是:通过浏览器页面用户可以进入系统,系统可以自动对用户向服务器发送的请求进行处理,处理请求是在系统后台中进行的,用户在浏览器页面上进行相应操作,就能够看到服务端传递的处理结果。新疆农作物种植指导系统主要分为视图-模型-控制三层架构设计。在视图层中,主要是操作在服务器端向客户端反馈并显示的数据,在模型层中,主要处理相关的业务逻辑、数据整合等,最后的控制层它介于视图和模型之间,主要是调整两层之间的关系,最终落实数据的传递。B/S架构的优势在于其跨平台性和易于维护性,开发者可以通过更新服务器端的代码来实现整个系统的升级和维护,而无需逐一更新客户端。

图4.1系统架构图
功能模块设计是系统开发过程中的重要阶段,它旨在将系统划分为不同的模块,每个模块负责完成特定的功能或任务。新疆农作物种植指导系统由多个功能模块组成,每个模块下又包含具体的功能操作。功能模块图如下图所示。

图4.2系统功能模块图
E-R图有助于理清系统中的数据结构和关系,为后续的数据库表结构设计提供指导。在进行数据库设计之前,首先需要先绘制实体-关系(E-R)图。E-R图将帮助理清业务中的实体(Entity)及它们之间的关系(Relationship),从而为后续的数据库表设计提供基础。根据前文可以得出本新疆农作物种植指导系统拥有多个实体,在此列举主要实体,各个实体之间联系总E-R图如下图所示。

图4.3系统总E-R图
在E-R图确定后,接下来可以根据实体和关系的属性设计数据库表结构。在E-R图明确了实体和它们之间的关系后,接下来可以开始设计数据库表结构。每个实体对应一个数据库表,每个属性对应表中的字段。如下列表格所示,在此列举主要数据表。
表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 |
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 |
parent |
varchar |
64 |
0 |
Y |
N |
父级菜单 | |
|
8 |
parent_sort |
int |
10 |
0 |
N |
N |
0 |
父级菜单排序 |
|
9 |
position |
varchar |
32 |
0 |
Y |
N |
位置: | |
|
10 |
mode |
varchar |
32 |
0 |
N |
N |
_blank |
跳转方式: |
|
11 |
add |
tinyint |
3 |
0 |
N |
N |
1 |
是否可增加: |
|
12 |
del |
tinyint |
3 |
0 |
N |
N |
1 |
是否可删除: |
|
13 |
set |
tinyint |
3 |
0 |
N |
N |
1 |
是否可修改: |
|
14 |
get |
tinyint |
3 |
0 |
N |
N |
1 |
是否可查看: |
|
15 |
field_add |
text |
65535 |
0 |
Y |
N |
添加字段: | |
|
16 |
field_set |
text |
65535 |
0 |
Y |
N |
修改字段: | |
|
17 |
field_get |
text |
65535 |
0 |
Y |
N |
查询字段: | |
|
18 |
table_nav_name |
varchar |
500 |
0 |
Y |
N |
跨表导航名称: | |
|
19 |
table_nav |
varchar |
500 |
0 |
Y |
N |
跨表导航: | |
|
20 |
option |
text |
65535 |
0 |
Y |
N |
配置: | |
|
21 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
22 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
code_token_id |
int |
10 |
0 |
N |
Y | ||
|
2 |
token |
varchar |
255 |
0 |
Y |
N | ||
|
3 |
code |
varchar |
255 |
0 |
Y |
N |
验证码 | |
|
4 |
expire_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
失效时间 |
|
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
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: |
表fertilizer_information (肥料信息)
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
fertilizer_information_id |
int |
10 |
0 |
N |
Y |
肥料信息ID | |
|
2 |
fertilizer_name |
varchar |
64 |
0 |
Y |
N |
肥料名称 | |
|
3 |
fertilizer_manufacturer |
varchar |
64 |
0 |
Y |
N |
肥料厂家 | |
|
4 |
fertilizer_weight |
varchar |
64 |
0 |
Y |
N |
肥料重量 | |
|
5 |
fertilizer_prices |
double |
9 |
2 |
Y |
N |
0.00 |
肥料价格 |
|
6 |
fertilizer_function |
varchar |
64 |
0 |
Y |
N |
肥料作用 | |
|
7 |
cover_photo |
varchar |
255 |
0 |
Y |
N |
封面图片 | |
|
8 |
fertilizer_introduction |
longtext |
2147483647 |
0 |
Y |
N |
肥料简介 | |
|
9 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
|
10 |
collect_len |
int |
10 |
0 |
N |
N |
0 |
收藏数 |
|
11 |
comment_len |
int |
10 |
0 |
N |
N |
0 |
评论数 |
|
12 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
13 |
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]用来搜索指定类型的论坛帖 |
|
18 |
istop |
int |
10 |
0 |
N |
N |
0 |
是否置顶 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
type_id |
smallint |
5 |
0 |
N |
Y |
分类ID:[0,10000] | |
|
2 |
name |
varchar |
16 |
0 |
N |
N |
分类名称:[2,16] | |
|
3 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]描述该分类的作用 | |
|
4 |
url |
varchar |
255 |
0 |
Y |
N |
外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
|
5 |
father_id |
smallint |
5 |
0 |
N |
N |
0 |
上级分类ID:[0,32767] |
|
6 |
icon |
varchar |
255 |
0 |
Y |
N |
分类图标: | |
|
7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
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: |
表meteorological_information (气象信息)
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
meteorological_information_id |
int |
10 |
0 |
N |
Y |
气象信息ID | |
|
2 |
ordinary_users |
int |
10 |
0 |
Y |
N |
0 |
普通用户 |
|
3 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
4 |
farm_name |
varchar |
64 |
0 |
Y |
N |
农场名称 | |
|
5 |
planting_species |
varchar |
64 |
0 |
Y |
N |
种植物种 | |
|
6 |
meteorological_name |
varchar |
64 |
0 |
Y |
N |
气象名称 | |
|
7 |
weather_condition |
varchar |
64 |
0 |
Y |
N |
天气状况 | |
|
8 |
planting_suggestions |
text |
65535 |
0 |
Y |
N |
种植建议 | |
|
9 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
10 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
11 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表 | |
|
12 |
source_id |
int |
10 |
0 |
Y |
N |
来源ID | |
|
13 |
source_user_id |
int |
10 |
0 |
Y |
N |
来源用户 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
my_farm_id |
int |
10 |
0 |
N |
Y |
我的农场ID | |
|
2 |
ordinary_users |
int |
10 |
0 |
Y |
N |
0 |
普通用户 |
|
3 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
4 |
farm_name |
varchar |
64 |
0 |
Y |
N |
农场名称 | |
|
5 |
farm_area |
varchar |
64 |
0 |
Y |
N |
农场面积 | |
|
6 |
cover_photo |
varchar |
255 |
0 |
Y |
N |
封面图片 | |
|
7 |
matters_needing_attention |
longtext |
2147483647 |
0 |
Y |
N |
注意事项 | |
|
8 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
|
9 |
collect_len |
int |
10 |
0 |
N |
N |
0 |
收藏数 |
|
10 |
comment_len |
int |
10 |
0 |
N |
N |
0 |
评论数 |
|
11 |
planting_information_limit_times |
int |
10 |
0 |
N |
N |
0 |
种植限制次数 |
|
12 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
13 |
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 |
ordinary_users_id |
int |
10 |
0 |
N |
Y |
普通用户ID | |
|
2 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
3 |
contact_information |
varchar |
64 |
0 |
Y |
N |
联系方式 | |
|
4 |
user_gender |
varchar |
64 |
0 |
Y |
N |
用户性别 | |
|
5 |
wechat_number |
varchar |
64 |
0 |
Y |
N |
微信号码 | |
|
6 |
qq_number |
varchar |
64 |
0 |
Y |
N |
QQ号码 | |
|
7 |
examine_state |
varchar |
16 |
0 |
N |
N |
已通过 |
审核状态 |
|
8 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID |
|
9 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
10 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
planting_information_id |
int |
10 |
0 |
N |
Y |
种植信息ID | |
|
2 |
ordinary_users |
int |
10 |
0 |
Y |
N |
0 |
普通用户 |
|
3 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
4 |
farm_name |
varchar |
64 |
0 |
Y |
N |
农场名称 | |
|
5 |
farm_area |
varchar |
64 |
0 |
Y |
N |
农场面积 | |
|
6 |
planting_species |
varchar |
64 |
0 |
Y |
N |
种植物种 | |
|
7 |
planting_date |
date |
10 |
0 |
Y |
N |
种植日期 | |
|
8 |
sowing_quantity |
double |
9 |
2 |
Y |
N |
0.00 |
播种数量 |
|
9 |
planting_remarks |
text |
65535 |
0 |
Y |
N |
种植备注 | |
|
10 |
planting_reminder_limit_times |
int |
10 |
0 |
N |
N |
0 |
提醒限制次数 |
|
11 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
12 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
13 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表 | |
|
14 |
source_id |
int |
10 |
0 |
Y |
N |
来源ID | |
|
15 |
source_user_id |
int |
10 |
0 |
Y |
N |
来源用户 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
planting_reminder_id |
int |
10 |
0 |
N |
Y |
种植提醒ID | |
|
2 |
ordinary_users |
int |
10 |
0 |
Y |
N |
0 |
普通用户 |
|
3 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
4 |
farm_name |
varchar |
64 |
0 |
Y |
N |
农场名称 | |
|
5 |
planting_species |
varchar |
64 |
0 |
Y |
N |
种植物种 | |
|
6 |
reminder_name |
varchar |
64 |
0 |
Y |
N |
提醒名称 | |
|
7 |
reminder_type |
varchar |
64 |
0 |
Y |
N |
提醒类型 | |
|
8 |
reminder_content |
text |
65535 |
0 |
Y |
N |
提醒内容 | |
|
9 |
meteorological_information_limit_times |
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 |
更新时间 |
|
12 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表 | |
|
13 |
source_id |
int |
10 |
0 |
Y |
N |
来源ID | |
|
14 |
source_user_id |
int |
10 |
0 |
Y |
N |
来源用户 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
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 |
schedule_id |
smallint |
5 |
0 |
N |
Y |
日程ID:[0,32767] | |
|
2 |
content |
varchar |
255 |
0 |
Y |
N |
日程内容 | |
|
3 |
scheduled_time |
datetime |
19 |
0 |
Y |
N |
计划时间 | |
|
4 |
user_id |
int |
10 |
0 |
N |
N |
用户id | |
|
5 |
create_time |
datetime |
19 |
0 |
Y |
N |
创建时间 | |
|
6 |
update_time |
datetime |
19 |
0 |
Y |
N |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
score_id |
int |
10 |
0 |
N |
Y |
评分ID: | |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
评分人: |
|
3 |
nickname |
varchar |
64 |
0 |
Y |
N |
昵称: | |
|
4 |
score_num |
double |
5 |
2 |
N |
N |
0.00 |
评分: |
|
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
7 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: | |
|
8 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: | |
|
9 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
seed_information_id |
int |
10 |
0 |
N |
Y |
种子信息ID | |
|
2 |
seed_name |
varchar |
64 |
0 |
Y |
N |
种子名称 | |
|
3 |
fertilization_frequency |
varchar |
64 |
0 |
Y |
N |
施肥次数 | |
|
4 |
result_time |
varchar |
64 |
0 |
Y |
N |
结果时间 | |
|
5 |
planting_season |
varchar |
64 |
0 |
Y |
N |
种植季候 | |
|
6 |
suggested_selling_price |
double |
9 |
2 |
Y |
N |
0.00 |
建议卖价 |
|
7 |
cover_photo |
varchar |
255 |
0 |
Y |
N |
封面图片 | |
|
8 |
seed_introduction |
longtext |
2147483647 |
0 |
Y |
N |
种子简介 | |
|
9 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
|
10 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
|
11 |
collect_len |
int |
10 |
0 |
N |
N |
0 |
收藏数 |
|
12 |
comment_len |
int |
10 |
0 |
N |
N |
0 |
评论数 |
|
13 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
|
14 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
15 |
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 |
更新时间: |
表species_classification (物种分类)
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
species_classification_id |
int |
10 |
0 |
N |
Y |
物种分类ID | |
|
2 |
species_name |
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 |
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 |
int |
10 |
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 |
更新时间: |
5 系统实现
考虑到新疆农作物种植指导系统主要面对部分人群,网站的访问量不大。系统处理、统计分析工作简单,Tomcat服务器能够满足中小型网络用户的数据处理,通过互联网Internet 接入及MySQL 5.6以上的数据库应用的需求点。系统具体开发环境如下表所示:
表5.1系统环境表
|
项目 |
开发环境 |
|
操作系统 |
Windows 11、Windows 10、Windows 8、Windows 7 |
|
开发语言 |
Java |
|
使用框架 |
Spring Boot、uni-App |
|
体系结构 |
三层B/S体系结构 |
|
开发工具 |
IDEA(2020版)/MyEclipse(2017)/Eclipse、Vs Code |
|
数据库 |
MySQL 5.6以上 |
|
数据库管理工具 |
Navicat |
|
JDK版本 |
Java 1.8 |
|
Maven |
apache-maven 3.6.1-bin |
|
Tomcat |
apache-tomcat-7.0.88 |
|
移动端 |
Android |
用户输入用户名和密码后,系统首先对这些输入进行基本的格式验证,确保用户名和密码符合系统设定的格式要求(如长度、特殊字符要求等)。系统接收到用户输入后,会根据用户名查找系统中存储的用户信息数据库或者其他持久化存储方式。系统需要验证密码的正确性,验证成功即可成功登录。

图5.1用户登录界面设计
登录关键代码如下:
/**
* 登录
* @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.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, "账号或密码不正确");
}
}
用户注册时,系统要求用户提供必要的信息,例如用户名、密码、电子邮件地址等。这些信息通常由用户在注册表单中输入,并通过前端验证确保格式的正确性。注册过程完成后,系统会为新用户创建一个账户。这包括分配一个唯一的用户ID和设置初始的权限或者角色。

图5.2用户注册界面设计
注册关键代码如下:
/**
* 注册
* @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);
}
用户登录系统后首先进入首页界面,可查看轮播图、通知公告、新闻资讯等系统概览和推荐信息,并提供种子信息、肥料信息、我的农场等系统功能入口子功能;用户可根据自身需求选择相应功能进行操作。
例如,普通用户前台首页主界面图如下所示。

图5.3首页主界面设计
当用户点击首页的“种子信息”这一按钮时,可进入种子信息展示页面,支持搜索和浏览种子信息详情内容,进行点赞、评论、收藏操作。界面图如下所示。

图5.4种子信息界面设计
当用户点击首页的“我的农场”这一按钮时,可进入我的农场信息展示页面,支持搜索和浏览我的农场详情内容,进行点赞、评论、收藏,提供种植操作,可添加记录种植信息。界面图如下所示。

图5.5我的农场详情页界面设计
添加种植信息关键代码:
@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);
}
当用户在前台点击“我的”可以对用户的基本信息、收藏、我的农场、种植信息、种植提醒、气象信息等信息进行管理。
例如,普通用户我的主界面图如下所示。

图5.6我的主界面设计
包括可在“基本信息”中修改资料和密码;可在“收藏”中查看管控自己收藏的各类系统信息;可在“我的农场”中增改删查自己的我的农场信息内容;可在“种植信息”中查询和查看已添加的种植信息;可在“种植提醒”中查阅接收的植提醒信息;可在“气象信息”中搜索和浏览发布的气象信息。
例如,普通用户我的我的农场界面图如下所示。

图5.7我的我的农场界面设计
发布我的农场信息关键代码:
@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);
}
例如,普通用户我的种植信息界面图如下所示。

图5.8我的种植信息界面设计
当管理员点击“系统用户”这一菜单时,可查看普通用户和管理员两个子菜单,如需添加新的用户,点击右侧“添加”按钮,输入用户信息,选择状态,点击“提交”按钮进行添加。同时可对系统用户进行增删改查操作。界面设计如下图所示。

图5.9系统用户界面设计
系统用户管理关键代码:
@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);
}
@RequestMapping(value = "/del")
@Transactional
public Map<String, Object> del(HttpServletRequest request) {
service.delete(service.readQuery(request), service.readConfig(request));
return success(1);
}
public void delete(Map<String,String> query,Map<String,String> config){
QueryWrapper wrapper = new QueryWrapper<E>();
toWhereWrapper(query, "0".equals(config.get(FindConfig.GROUP_BY)),wrapper);
baseMapper.delete(wrapper);
log.info("[{}] - 删除操作:{}",wrapper.getSqlSelect());
}
当管理员点击“种子信息管理”这一菜单时,可查看种子信息列表和种子信息添加这两个子菜单,在种子信息列表,可查询和删除已发布的种子信息,查看详情和其评论内容;如需添加新的种子信息,点击“种子信息添加”这一子菜单,输入种子信息,点击“提交”按钮进行添加。界面设计如下图所示。

图5.10种子信息管理界面设计
发布种子信息关键代码:
@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);
}
当管理员点击“我的农场管理”这一菜单时,可查看我的农场列表和我的农场添加这两个子菜单,在我的农场列表,可查询和删除已发布的我的农场,查看详情和其评论内容;如需添加新的我的农场,点击“我的农场添加”这一子菜单,输入我的农场,点击“提交”按钮进行添加。界面设计如下图所示。

图5.11我的农场管理界面设计
我的农场管理关键代码:
@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);
}
@PostMapping("/set")
@Transactional
public Map<String, Object> set(HttpServletRequest request) throws IOException {
service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));
return success(1);
}
当管理员点击“种植信息管理”这一菜单时,可查看种植信息列表,可查询种植信息,点击“详情”可进入详情页,浏览详细内容;并可点击提醒操作,向用户发送种植提醒信息。设计如下图所示。

图5.12种植信息管理界面设计
发送种植提醒信息关键代码:
@RequestMapping("/get_obj")
public Map<String, Object> obj(HttpServletRequest request) {
List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));
if (resultList.size() > 0) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("obj",resultList.get(0));
return success(jsonObject);
} else {
return success(null);
}
}
@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);
}
当管理员点击“种植提醒管理”这一菜单时,可查看种植提醒列表,可查询种植提醒,点击“详情”可进入详情页,浏览详细内容;并可点击气象操作,向用户发布气象天气状况,提出种植建议。界面设计如下图所示。

图5.13种植提醒管理界面设计
当管理员点击“系统管理”这一菜单时,可进行系统首页轮播图的设置和修改,可点击添加,上传新的图片,支持添加图片附带链接。界面设计如下图所示。

图5.14系统管理界面设计
上传图片关键代码如下:
@PostMapping("/upload")
public Map<String, Object> upload(@RequestParam("file") MultipartFile file) {
log.info("进入方法");
if (file.isEmpty()) {
return error(30000, "没有选择文件");
}
try {
//判断有没路径,没有则创建
String filePath = System.getProperty("user.dir") + "/src/main/resources/static/";
File targetDir = new File(filePath);
if (!targetDir.exists() && !targetDir.isDirectory()) {
if (targetDir.mkdirs()) {
log.info("创建目录成功");
} else {
log.error("创建目录失败");
}
}
String fileName = file.getOriginalFilename();
File dest = new File(filePath + fileName);
log.info("文件路径:{}", dest.getPath());
log.info("文件名:{}", dest.getName());
file.transferTo(dest);
JSONObject jsonObject = new JSONObject();
jsonObject.put("url", "/api/upload/" + fileName);
return success(jsonObject);
} catch (IOException e) {
log.info("上传失败:{}", e.getMessage());
}
return error(30000, "上传失败");
}
6 系统测试
在软件开发生命周期中,系统测试占据着举足轻重的地位。通过进行全面而系统的测试,能够确保软件在实际使用环境中具备稳定运行的能力,从而满足用户的多样化需求,并显著提升软件的整体质量与可靠性。这一过程不仅有助于识别并修复潜在问题,还能为软件的持续优化提供有力支撑。
随着现代信息的快速发展,在社会各大领域中已经都开始应用网络信息技术,在应用网络技术的同时人们也开始把软件的质量问题作为了一个重要焦点来关注,因为一个软件的好与坏它决定着这个系统在市场上的生存,所以必须要把软件质量来做好,这样才有一定的生存能力。对于用户来说它们首先选用的都是保证这个系统软件的质量问题,因为一个系统的软件质量决定着用户在后期上成本经济的问题。图6.1就是纠错测试流程。

图6.1测试与纠错信息流程
在系统的功能验证阶段,将对全部的功能界面进行全面测试。具体而言,测试将模拟用户行为,输入各类数据并进行提交操作,随后仔细观察和分析每个页面的响应反馈。这一过程旨在验证系统的功能完整性,确保页面所呈现的功能与预期相符,并能够完全实现预设的交互逻辑。通过这种全面细致的测试方法,将确保系统在实际应用中能够稳定、准确地响应用户需求。
下表是系统登录功能测试用例,检测了用户名和密码的不同的输入情况,观察系统的响应情况。得出该功能达到了设计目标。
表6.1系统登录功能测试用例
|
功能描述 |
用于系统登录 | |
|
测试目的 |
检测登录时的合法性检查 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
输入的用户名和密码带有非法字符 |
提示用户名或者密码错误 |
与预期结果一致 |
|
输入的用户名或者密码为空 |
提示用户名或者密码错误 |
与预期结果一致 |
|
输入的用户名和密码不存在 |
提示用户名或者密码错误 |
与预期结果一致 |
|
输入正确的用户名和密码 |
登录成功 |
与预期结果一致 |
下表是注册功能测试用例,检测了各种数据的输入情况,观察系统的响应情况。得出该功能达到了设计目标。
表6.2注册功能测试用例
|
功能描述 |
用于用户注册 | |
|
测试目的 |
检测用户注册时的合法性检查 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
输入的手机号不合法 |
提示请输入正确的手机号码 |
与预期结果一致 |
|
输入的字段为空 |
提示必填项不能为空 |
与预期结果一致 |
|
输入的密码少于6位 |
提示密码必须为6-12位 |
与预期结果一致 |
|
输入的密码大于12位 |
提示密码必须为6-12位 |
与预期结果一致 |
下表是种子信息管理功能的测试用例,检测了种子信息中对种子信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;管理员登录系统。
表6.3种子信息管理的测试用例
|
功能描述 |
用于种子信息 | |
|
测试目的 |
检测种子信息时的各种操作的运行情况 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
点击添加种子信息,必填项合法输入,点击提交 |
提示添加成功 |
与预期结果一致 |
|
点击添加种子信息,必填项输入不合法,点击提交 |
提示必填项不能为空 |
与预期结果一致 |
|
点击修改种子信息,必填项合法输入,点击提交 |
提示提交成功 |
与预期结果一致 |
|
点击修改种子信息,必填项输入不合法,点击提交 |
提示必填项不能为空 |
与预期结果一致 |
|
点击删除种子信息,选择种子信息删除 |
提示删除成功 |
与预期结果一致 |
|
点击搜索种子信息,输入存在的种子信息名 |
查找出相应种子信息信息 |
与预期结果一致 |
|
点击搜索种子信息,输入不存在的种子信息名 |
不显示种子信息信息 |
与预期结果一致 |
下表是肥料信息管理功能的测试用例,检测了肥料信息中对肥料信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;管理员登录系统。
表6.4肥料信息管理的测试用例
|
功能描述 |
用于肥料信息 | |
|
测试目的 |
检测肥料信息时的各种操作的运行情况 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
点击添加肥料信息,必填项合法输入,点击提交 |
提示添加成功 |
与预期结果一致 |
|
点击添加肥料信息,必填项输入不合法,点击提交 |
提示必填项不能为空 |
与预期结果一致 |
|
点击修改肥料信息,必填项合法输入,点击提交 |
提示提交成功 |
与预期结果一致 |
|
点击修改肥料信息,必填项输入不合法,点击提交 |
提示必填项不能为空 |
与预期结果一致 |
|
点击删除肥料信息,选择肥料信息删除 |
提示删除成功 |
与预期结果一致 |
|
点击搜索肥料信息,输入存在的肥料信息名 |
查找出相应肥料信息信息 |
与预期结果一致 |
|
点击搜索肥料信息,输入不存在的肥料信息名 |
不显示肥料信息信息 |
与预期结果一致 |
下表是我的农场管理功能的测试用例,检测了我的农场中对我的农场的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;管理员登录系统。
表6.5我的农场管理的测试用例
|
功能描述 |
用于我的农场 | |
|
测试目的 |
检测我的农场时的各种操作的运行情况 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
点击添加我的农场,必填项合法输入,点击提交 |
提示添加成功 |
与预期结果一致 |
|
点击添加我的农场,必填项输入不合法,点击提交 |
提示必填项不能为空 |
与预期结果一致 |
|
点击修改我的农场,必填项合法输入,点击提交 |
提示提交成功 |
与预期结果一致 |
|
点击修改我的农场,必填项输入不合法,点击提交 |
提示必填项不能为空 |
与预期结果一致 |
|
点击删除我的农场,选择我的农场删除 |
提示删除成功 |
与预期结果一致 |
|
点击搜索我的农场,输入存在的我的农场名 |
查找出相应我的农场信息 |
与预期结果一致 |
|
点击搜索我的农场,输入不存在的我的农场名 |
不显示我的农场信息 |
与预期结果一致 |
下表是种植信息管理功能的测试用例,检测了种植信息中对种植信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;管理员登录系统。
表6.6种植信息管理的测试用例
|
功能描述 |
用于种植信息 | |
|
测试目的 |
检测种植信息时的各种操作的运行情况 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
点击添加种植信息,必填项合法输入,点击提交 |
提示添加成功 |
与预期结果一致 |
|
点击添加种植信息,必填项输入不合法,点击提交 |
提示必填项不能为空 |
与预期结果一致 |
|
点击修改种植信息,必填项合法输入,点击提交 |
提示提交成功 |
与预期结果一致 |
|
点击修改种植信息,必填项输入不合法,点击提交 |
提示必填项不能为空 |
与预期结果一致 |
|
点击删除种植信息,选择种植信息删除 |
提示删除成功 |
与预期结果一致 |
|
点击搜索种植信息,输入存在的种植信息名 |
查找出相应种植信息信息 |
与预期结果一致 |
|
点击搜索种植信息,输入不存在的种植信息名 |
不显示种植信息信息 |
与预期结果一致 |
下表是种植提醒管理功能的测试用例,检测了种植提醒中对种植提醒的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;管理员登录系统。
表6.7种植提醒管理的测试用例
|
功能描述 |
用于种植提醒 | |
|
测试目的 |
检测种植提醒时的各种操作的运行情况 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
点击添加种植提醒,必填项合法输入,点击提交 |
提示添加成功 |
与预期结果一致 |
|
点击添加种植提醒,必填项输入不合法,点击提交 |
提示必填项不能为空 |
与预期结果一致 |
|
点击修改种植提醒,必填项合法输入,点击提交 |
提示提交成功 |
与预期结果一致 |
|
点击修改种植提醒,必填项输入不合法,点击提交 |
提示必填项不能为空 |
与预期结果一致 |
|
点击删除种植提醒,选择种植提醒删除 |
提示删除成功 |
与预期结果一致 |
|
点击搜索种植提醒,输入存在的种植提醒名 |
查找出相应种植提醒信息 |
与预期结果一致 |
|
点击搜索种植提醒,输入不存在的种植提醒名 |
不显示种植提醒信息 |
与预期结果一致 |
本新疆农作物种植指导系统开发与设计满足相关信息的管理需求,在设计时借鉴了国内外优秀网站的优点,从界面到系统设计都保证了管理员以及用户能够方便操作。系统的主要特点和优点归纳如下:
(1)本系统用的移置性和针对性都比较高,因为针对性高可以提供更好的服务而移置性可以在多个系统上运行,更给客户带来了极大的方便。
(2)该新疆农作物种植指导系统开发与设计内容全面,管理方便可以及时的全面的处理各种错误,异常,这样避免了很多因用户的马虎操作而出现的失误,其操作方便,用户界面友好,能够上网的人都可以很好的进行操作。
经过对上述的测试结果分析,所有基本功能齐全,操作简单,系统运行性能良好,系统安全可靠,能促进新疆农作物种植指导系统的发展,发展前景广阔。
7 总结
通过开发新疆农作物种植指导系统,我深刻体会到软件开发的完整流程。首先,在确定开发目标后,进行了详细的需求分析,明确了系统所需的各项功能。接下来,设计了系统的功能框架和数据库结构,包括实体和数据表的设计。随后,实现了各个功能模块的详细界面,并进行了全面的功能测试。尽管在这个过程中遇到了各种挑战,但通过反复分析和深入思考,借助相关文献和解决方案,成功地解决了这些问题,最终使新疆农作物种植指导系统顺利运行。
虽然该系统在功能上基本满足了用户的需求,但仍有许多需要改进的地方。在接下来的开发阶段,计划进行以下改进:
用户界面设计:目前的操作页面虽然满足了简易操作的要求,但在多样化设计方面还有提升空间。将考虑引入更多丰富的设计元素,使界面更加美观和用户友好。
安全性能优化:针对系统安全性能的增强,需要进一步优化系统的整体防护能力。具体而言,将要对程序退出的安全性进行加强,确保在退出过程中不存在数据泄露或系统不稳定的风险。同时,对系统的并发处理能力进行升级,以确保在高并发场景下系统能够保持稳定的运行状态。
性能优化:在性能优化方面,将着重于对程序的数据结构和代码逻辑进行精细化调整。通过优化,旨在确保系统能在高负载下保持稳定且高效的运行状态。优化后的系统应具备快速处理大量事务的能力,显著缩短事务处理时间,从而提高整体工作效率。同时,致力于降低服务器资源的占用率,以实现资源的高效利用和成本的有效控制。
通过这些改进,希望能够进一步提升新疆农作物种植指导系统的用户体验和性能,使其更加贴合实际需求。
参考文献
[1]Thilakarathne N N ,Bakar A S M ,Abas E P , et al.A novel cyber threat intelligence platform for evaluating the risk associated with smart agriculture[J].Scientific Reports,2025,15(1):3904-3904.
[2]杜纪龙,李新峰,何岩峰,等.基于SpringBoot+React的智慧农业系统设计与实现[J].智慧农业导刊,2024,4(14):17-20.DOI:10.20028/j.zhnydk.2024.14.005.
[3]魏玉震,赵敏,胡文军.面向智慧农业的Android应用开发课程教学案例设计与实践[J].电脑知识与技术,2024,20(10):168-171+180.DOI:10.14004/j.cnki.ckt.2024.0542.
[4]梁霄.农业生产中基于大数据技术的农作物种植推荐系统设计[J].河北农机,2024,(03):19-21.DOI:10.15989/j.cnki.hbnjzzs.2024.03.054.
[5]翟祥栩,陈谦民,陈宗玉.基于SpringBoot的农业大数据一站式分析预测平台的设计与实现[J].现代信息科技,2023,7(24):6-10+15.DOI:10.19850/j.cnki.2096-4706.2023.24.002.
[6]陈蓓蕾,洪年松.基于SpringBoot的数据库接口设计[J].信息与电脑(理论版),2023,35(16):181-183.
[7]赵蕾,王韵扬.农业APP开发应用存在的问题与解决对策[J].农业科技与装备,2023,(04):55-56.DOI:10.16313/j.cnki.nykjyzb.2023.04.020.
[8]李美情.基于Android的农技推广平台及其智能推荐的研究[D].中国地质大学(北京),2023.DOI:10.27493/d.cnki.gzdzy.2023.000286.
[9]王志亮,纪松波.基于SpringBoot的Web前端与数据库的接口设计[J].工业控制计算机,2023,36(03):51-53.
[10]付国河,农作物种植溯源信息采集系统V1.0.河南省,河南水谷科技有限公司,2023-02-01.
[11]Cornelius H .The exploratory assetization of a crop protection app[J].Environmental Science and Policy,2023,140242-249.
[12]张宁,汪子晨,杨肖,等.新疆水资源与农业种植系统耦合协调及时空差异研究——以粮食和棉花种植系统为例[J].干旱区地理,2023,46(03):349-359.
[13]王森琛.基于SSM的农业种植管理系统的设计与实现[J].南方农机,2022,53(20):84-86.
[14]张怡欣,桂心颜,解潇然,等.“云种植”智慧农业App设计与实现[J].乡村科技,2022,13(18):155-158.DOI:10.19345/j.cnki.1674-7909.2022.18.033.
[15]岳姝雨.智慧农场管理系统的研究与开发[D].河北北方学院,2022.DOI:10.27767/d.cnki.ghbbf.2022.000029.
[16]孙小溪,骆俞莲,蒋华艳,等.“云上种养App”的市场可行性影响因素研究[J].商讯,2022,(11):1-4.
[17]张桃.基于物联网的智慧农业数据采集与分析系统的设计与实现[J].农村实用技术,2022,(02):94-96.
[18]曹明昊.基于SpringBoot和Vue框架的邯郸市现代农业园区信息管理系统的研发[D].河北工程大学,2021.DOI:10.27104/d.cnki.ghbjy.2021.000671.
[19]曹玉莹.红卫农场农事管理系统设计与实现[D].东北农业大学,2021.DOI:10.27010/d.cnki.gdbnu.2021.000175.
[20]Cotter M ,Asch F ,Abera B B , et al.Creating the data basis to adapt agricultural decision support tools to new environments, land management and climate change—A case study of the RiceAdvice App[J].Journal of Agronomy and Crop Science,2020,206(4):423-432.
致 谢
这次毕业设计能够完成,最重要的就是来自指导老师的帮助,老师不厌其烦的对我的论文及毕业设计提出非常有建设性的建议,我的毕设施能够完成离不开老师的帮助。我对老师由衷的表示感谢,
其次要感谢大学四年里学院里所有的任课老师的教导,老师们在我整个大学四年里给予了我丰富的知识,让我能够在大学中不虚度光阴,踏踏实实的学习,没有这些老师不辞辛劳的教诲,我无法完成这四年的学业。
最后,我要感谢我的家人和同学们。感谢父母在物质与精神上给予我无限的支持和鼓励。感谢我的同学们,在论文写作期间,你们给予了我许多宝贵的建议和帮助,让我在学术研究的道路上不再孤单。
再次感谢所有在我大学生活中给予我帮助和支持的人们。您们的关怀和鼓励将永远铭刻在我的心中,成为我未来前行的动力。
由于自己的水平有限,毕设仍然存在着很大的缺陷,各位老师若提出意见,我会努力改正。
2008

被折叠的 条评论
为什么被折叠?



