springboot基于Android的跳蚤市场的设计与实现

摘 要

互联网的普及,极大地方便了人们的生活。因此,要将跳蚤市场与当前的网络进行融合,使用 java技术来构建跳蚤市场APP,从而实现跳蚤市场的信息化。这将会大大推动跳蚤市场系统的发展,并为跳蚤市场系统提供更多的帮助。
跳蚤市场 APP可以在互联网上进行广泛、全面的宣传,让更多的人了解和熟悉它的便利,既为公众提供了服务,也宣传了自己,让更多的人了解自己。如果能有一个属于自己的 APP,就能更好地处理紧急事件,而且还能提高地铁的形象。
该软件的现状与发展,从需求,结构,数据库等方面的设计,到软件的实施,再到软件的前后端的实现。本文主要介绍了系统的设计,描述,实现,分析,测试等方面的工作。本 app要以实际情况为依据,选择一种切实可行的开发方案,利用 java编程语言、 MySQL数据库等,来实现 app的所有功能。之后,对系统展开测试,测试系统中的漏洞,并测试用户权限,来对 app进行改进,最后, app就会达到相应的标准。

关键字:跳蚤市场APP java MySQL数据库

Abstract

The popularization of the Internet has greatly facilitated people’s life. Therefore, the flea market should be integrated with the current network, and java technology should be used to build flea market APP, so as to realize the information of flea market. This will greatly promote the development of the flea market system and provide more help to the flea market system.
Flea market APP can carry out extensive and comprehensive publicity on the Internet, so that more people can understand and be familiar with its convenience. It not only provides services for the public, but also promotes itself, so that more people can know about themselves. If we can have our own APP, we can better deal with emergencies and improve the image of the subway.
The current situation and development of the software, from the requirements, structure, database and other aspects of the design, to the implementation of the software, and then to the realization of the software before and after the end. This paper mainly introduces the system design, description, implementation, analysis, testing and other aspects of the work. This app should be based on the actual situation, choose a practical development scheme, use java programming language, MySQL database, etc., to achieve all the functions of the app. After that, test the system, test the loopholes in the system, and test the user rights, so as to improve the app. Finally, the app will meet the corresponding standards.

Keywords: Flea market APP java MySQL database

目 录

目 录 III
第一章 概述 1
1.1 研究背景 1
1.2开发意义 1
1.3 研究现状 1
1.4 研究内容 2
1.5论文结构 2
第二章 开发技术介绍 1
2.1 系统开发平台 1
2.2 平台开发相关技术 1
2.2.1 Android技术 1
2.2.2 mysql数据库介绍 1
2.2.3 MySQL环境配置 1
2.2.4 SSM框架 2
2.2.5 B/S架构 2
第三章 系统分析 1
3.1 可行性分析 1
3.1.1 技术可行性 1
3.1.2 操作可行性 1
3.1.3经济可行性 1
3.2性能需求分析 1
3.3功能分析 2
第四章 系统设计 4
4.1功能结构 4
4.2 数据库设计 4
4.2.1 数据库E/R图 4
4.2.2 数据库表 5
第五章 系统功能实现 12
5.1 APP端(用户功能) 12
5.2后端(管理员功能) 14
第六章 系统测试 18
7总结与心得体会 19
7.1 总结 19
7.2 心得体会 19
致 谢 1
参考文献 2

第一章 概述

1.1 研究背景
21世纪,网络资讯在我们国家已经在上个世纪开始普及,网络给我们的生活带来了无穷的方便。就好像大多数企业和企业都有自己的 APP一样,现在从传统的管理方式到网络,自然也就有了自己的 APP。那么,跳蚤市场 APP的作用是什么?
1.第一,提高市场形象:这是各大市场开发 APP的初衷。在这个信息化的互联网时代,如果没有一个完整的操作系统,就会被时代所淘汰。
2.改善跳蚤市场服务:跳蚤市场工业的特性,需要你经常向管理人员提供信息,或在任何时候都可以听取使用者的意见。如果有需求,就可以用 APP来管理。
3.同时,一款好的 APP,可以让跳蚤市场系统的功能更上一层楼。这个功能,在现代的交通情况下,是非常重要的。这样,跳蚤市场APP就能每日更新,及时反馈你的商品信息。
跳蚤市场 APP可以在互联网上进行广泛、全面的宣传,让更多的人了解和熟悉它的便利,既为公众提供了服务,也宣传了自己,让更多的人了解它。
1.2开发意义
随着社会的不断发展,随着社会的不断发展,人们的生活也变得更加快速,因此,他们也变得更加注重信息的及时。以前的信息处理方法已无法适应信息获取的方便和快速的需要。也就是,跳蚤市场APP也渐渐引起了大家的注意。首先,网络上的消息很及时,也很方便,只要 app还在,不管你在什么地方,你都可以找到你想要的消息。
电脑技术已成为人类在经营上的一项主要手段。能快速高效地找到所需的资讯,提升工作效率。
1.3 研究现状
在许多外国的发达国家,软件业早就已经被完全的推广,但是,我们的经济已经在持续的发展过程中,我们还在持续的引入和发展着,这使得我们的软件业能够持续的发展下去,我们在探索中不断的前进,最后我们也获得了一定的结果,我们的软件业也获得了快速的发展,使得更多的软件系统可以被我们的研发,从而慢慢地对我们的生活和工作进行了改变。然而,关于信息化的建设,与许多发达国家比较,因为信息化水平的滞后和资金的缺乏,在研发跳蚤市场APP的过程中,我们仍然处于比较滞后的状态。所以,我们要继续进行深入的研究,力争研发出一款具有实际意义的信息化的跳蚤市场APP,从而达到将跳蚤市场的信息化的目的。本文以跳蚤市场系统为研究对象,旨在研制一款具有实际应用价值的跳蚤市场系统应用软件。
在对跳蚤市场APP进行开发时,利用了 java技术、 MIS的整体思想,并在 MYSQL等技术的支撑下,一起来进行了这个 APP的设计,从而让跳蚤市场的信息化得到了进一步的发展,让使用者可以感受到一个更为优质的跳蚤市场服务,同时让管理员对其进行管理,让其操作变得更为便捷,最终达到了预期的目的。
1.4 研究内容
随着对跳蚤市场 的要求和对其的管理水平的提高,跳蚤市场的潜能将会得到无穷无尽的拓展,跳蚤市场APP受到了行业的高度重视,本文对该站点以及对其进行了全面的剖析,为跳蚤市场信息管理的发展带来了借鉴。跳蚤市场APP对于跳蚤市场起到了很好的引导作用,特别是对于地方跳蚤市场的处理起到了很大的作用。
按照已有的功能,除了管理员外,还可以对系统中的全部资料进行管理;此外, APP还需要:首页,商品信息,朋友圈,我的等功能的协同管理。
1.5论文结构
(1)绪论
网站的开发背景,意义和系统状况等,详细讲述了APP的用处,对本章进行总结。
(2)系统开发技术的介绍
分别对java技术、Android系统的关键技术和架构、MySQL和B/S进行详细介绍。
(3)系统分析
本章主要是对系统可行性、系统性能、还有系统功能需求进行分析。
(4)系统设计
对系统系统功能和数据库等进行详细讲解。
(5)系统的实现
主要对系统首页、个人中心、消息管理、用户管理、商品类型管理、商品信息管理、订单信息管理、确认收货管理、我的收藏管理、朋友圈、系统管理等的实现。
(6)系统的测试
在完成了系统代码之后,就必须要对该系统进行检验,检验的办法有两种,一种是黑箱检验,另一种是白箱检验,该站点使用的是黑箱检验,用于对各分组的功能模块检验。
(7) 总结与心得体会
在文章的最终章节中,对自己的总结和在写作的过程中的感想进行了总结,其中也有对文章的感谢。

第二章 开发技术介绍

此次Android系统的关键技术和架构、B/S结构、SSM和mysql数据库,是本APP的关键开发技术,对系统的整体、数据库、功能模块、系统页面以及系统程序等设计进行了详细的研究与规划。
2.1 系统开发平台
在该在线跳蚤市场APP中,Eclipse可以为使用者带来很多便利,它的主要特征有:易于检索,使用简便;二是存储了大量的资料,其主要作用是利用对资料库的查询与程式设计。它的函数具有较为弹性的资料运用,仅需要很少的程式码便可达到很高的效能。所以,使用 Eclipse技术来对这个系统的数据进行管理是最好的选择。
2.2 平台开发相关技术
2.2.1 Android技术
Android平台市场份额所占比例越来越大,使用Java语言的Android应用程序的发展将会越来越多。然而,由于无法将大规模的企业级应用部署到安卓平台上,因此,安卓系统的应用程序将以纯客户程序的形式存在,并与传统的大型应用程序进行交互,从而成为大规模企业级应用程序的客户。
2.2.2 mysql数据库介绍
MySQL是一个用来定义数据结构,用表格形式存储信息,建立索引的数据库;能够迅速地找到所需的信息,避免了在查询过程中进行遍历、浪费资源、速度过慢;MySQL之所以受欢迎,主要是因为它很容易,只要有电脑知识,就能无师自通地查阅文件,安装和使用 MySQL;几乎没有什么障碍,然后就是开放源码,开放源码就是安全、自由,还有无数科技迷;可以共同审查流程,共同解决问题。最后是引擎, MySQL与其它数据库的区别在于它支持插件存储引擎。它是一种开放性的设计,可以包容一切,容纳一切。
此次毕业设计的数据库采用了 Mysql数据库,而非 sqlserver,与 sqlserver相比, mysql更加的轻便和便捷。Mysql的主要特征是快速的存储和查询。此外,该系统还使用了 JavaWeb开发技术。在学校的时候,他就学会了 Mysql数据库。
2.2.3 MySQL环境配置
这个软件的资料是 MySQL,需要在特定的文件夹中进行安装,若不是在特定的文件夹中,只需将该文件夹中的文件夹打开即可。之后,请单击 C:\程序档案\ MySQL\ bin\ winMySQLadmin. exe,这里的 C:\程序档案\ MySQL是 MySQL的安装目录。请输入 winMySQLadmin的初始用户、密码(注意:这不是 MySQL里的用户、密码),随便填写就可以了,不用太过关注,当您选择了这个选项的时候,在您的右下方,会有一个红色的图标,红灯亮代表服务停止,绿灯亮代表服务正常,左击这个图标->winnt->install the service 安装此服务,再左击这个图标->winnt->start the service 启动MySQL服务。
修改MySQL数据库的root密码。用cmd进入命令行模式输入如下命令:
cd C:\Program Files\MySQL\bin
MySQLadmin -u root -p password 123
回车出现Enter password: ,这是要输入原密码. 刚安装时密码为空,所以直接回车,此时MySQL 中账号 root 的密码被改为 123 安装完毕。
2.2.4 SSM框架
本技术是Java平台的开源应用框架,其目的地简单化Spring的初始搭建和开发的过程。默认配置了很多框架的使用方式,自动加载Jar包,为了让用户尽可能快的跑起来spring应用程序。
SSM的主要优点有:1.为所有Spring开发提供了一个更快、更广泛的入门体验;2.零配置;3.集成了大量常用的第三方库的配置;4.提供准备好的特性。当今,Java领域开发者几乎都在使用SSM,在开发领域逐渐成为领导者。
2.2.5 B/S架构
将所要求的函数传送给其它的使用者时,采用 B/S的方式有一个独特的优势:在将一个用户的要求传送给其它的 web服务器时,只要在一个网页上就可以完成了。这个功能的一个优点就是可以让客户端变得更加简单,因为大多数的开发的程序都是使用一个浏览器,而用户的日常工作都是由这个浏览器来完成的,而一个服务器可以完成对用户进行的数据的保存和阅读等多个方面的工作。
B/S体系结构,有三个层次,一个是显示,一个是管理,一个是数据。代表了一个逻辑层次:这个服务的这个函数基本上属于一个逻辑层次,当一个 Web服务器做好了一切的时候,它会第一个被发出。当第一个发出的请求被服务器接收到以后,接着在 web服务器上对所接受到的请求信息进行标识,标识这一动作是由服务器来完成的,在通过了标识请求的动作后,把接收到的信息反馈到客户端,那么,就可以让浏览器收到的请求的信息。控制逻辑层:将将控制逻辑层来接受使用者的要求,对应的程式与资料库建立连结是接受使用者资料的要求的第一个前提,之后才会对要求的资讯资料进行加工,在将要求资料进行加工之后,将要求资料送回到网路伺服器中的就是最终的处理完成的成果,最后将会回到使用者方的最终成果,再一次透过网路伺服器。数据层:服务器从Web服务器接收请求是数据层主要任务,但还包括执行数据库查询、修改、删除操作,最后数据库操作结果将返回网络服务器。表示逻辑层,控制逻辑层和数据层三层之间的关系具有独立性,但三层之间又具有藕断丝连的相互关联的特性。

图2-1 B/S模式三层结构图

第三章 系统分析

3.1 可行性分析
一个完善的体系,必然要进行可行性分析,这将直接影响到体系存在问题,对体系进行开发的意义进行剖析,是否可以利用这个 APP来弥补线下跳蚤市场方式中存在的缺陷,从而弥补这些缺陷等,利用这个 APP,不但可以持续降低自己的工作量,而且还可以提高自己的工作和管理效率。因此,在开发这个 APP时,可以实现更大的意义和更大的价值。在 APP在完成后,需要对其进行可行性研究,在进行了研究后,再对其进行研究,从而确定此系统是否可以进行开发。在本软件的研制过程中,从技术、经济和操作三个方面对其进行了可行性的研究。
3.1.1 技术可行性
这个系统的研发选用了 java,其被研发的目标正是要创造出对页面等可见的资讯。在当前的网络环境中, java已经逐渐被公认为是未来网络的主流技术之一。因此,在后台的设计中选用了 MYSQL,该数据库的主要用途是用于的创建与维持资料。对于前台的发展,需要具备功能完善、易于操作等优势,而后台数据库的需要,需要建立并保持数据信息的一致性和完整性。
3.1.2 操作可行性
如今,伴随着科学技术的快速发展,电脑早就走进了人们的日常生活中,因此,对于工作环境也没有了过去那样多的需求,工作人员必须要到规定地点进行工作,有些工作在家里也可以进行。这极大地增加了员工工作的效率。而且,他们的行动方式也更加多样化了。所以,随着时代的发展,管理的计算机和智能化已经成为了一种不可避免的发展方向,现在已经出现了各种各样的智能的软件,这些软件可以满足用户的多种需要,这样不但可以提升工作的速度,还可以满足某些顾客特殊的要求。该系统不但具有简洁的接口,而且还使用了直观的接口,通过使用鼠标和键盘,就可以对有关的信息进行修改,删除,增加等操作。由于这套体系非常的容易掌握,所以初学者只要花一点功夫就能够掌握。从这一点来看,该体系具有一定的操作性。
3.1.3经济可行性
基SSM 跳蚤市场APP,应用程序的开发只需一部一般的电脑就可以进行实施和研发,而且费用低廉。此外,对于一个毕业设计作品来说,其开发费用几乎可以不计,而且,这个系统软件的投入,能够让跳蚤市场变得更为快捷、高效,也能够让我们节省了大量的人力和管理资源,因此,这个跳蚤市场APP在经济上是完全可以做到的。

3.2性能需求分析
对app的性能,从(功能、运行、界面、安全)等方面进行,下面我们逐一进行分析;
1.对软件的性能进行全面的研究:软件的性能,可以针对软件的性能,给出相应的程序和计算方法,并用一张表和一段话来说明用户的性能,确保软件的性能完善;
2.针对应用程序的运转情况进行剖析:应用程序中的各项函数都有相应的编码来撰写相应的相关的资料,并根据需要进行的可行性研究,来对该程序的运转情况进行剖析并展示,以确保其运转顺利;
3. app的界面设计进行分析:对app中的软件进行处理与分析的方式是由不同代码来进行的;从而使界面容易操作。
4.软件的安全问题:因为每一个人物都有自己的个人资料,所以在登陆软件的时候,一定要用自己的帐号和口令登陆,如果帐号和口令出现问题,那么登陆就会失效。登陆后,只能对自己的个人资料进行处理,而不能对其他人的个人资料进行浏览,当然,也就是为了确保系统的安全。
3.3功能分析
根据现实中在跳蚤市场方面的需求,并对该系统进行了仔细的研究,将系统权限按照管理者和用户这两种类型进行了区分。
(1)用户功能需求
用户进入APP可以进行首页,商品信息,朋友圈,我的等操作,在我的页面可以对消息、商品信息、订单信息、我的收藏管理、我要发帖、我的发帖进行详细操作。用户用例图如图3-1所示。
在这里插入图片描述

图3-1 用户用例图

(2)管理员功能需求
管理员登陆后,主要模块包括系统首页、个人中心、消息管理、用户管理、商品类型管理、商品信息管理、订单信息管理、确认收货管理、我的收藏管理、朋友圈、系统管理等功能。管理员用例图如图3-2所示。
在这里插入图片描述

图3-2 管理员用例图

第四章 系统设计

4.1功能结构
为了更好地梳理出本 app的总体思想,将此 app以一个结构图的方式进行表示,并将其设计成一个用于跳蚤市场 APP的功能结构,具体见下表:
在这里插入图片描述

图4-1 app总体结构图

4.2 数据库设计
4.2.1 数据库E/R图
ER-图表是一种以各要素和它们的关联为基础的图表,它能清晰地反映出各要素的关联。对于应用程序中的某些重要的实体,下面是:
(1) 管理员项目E/R图如下所示:
在这里插入图片描述

图4-2管理员E/R图

(2)消息E/R图如下所示:
在这里插入图片描述

图4-3消息E/R图

(3) 用户信息E/R图如下所示:
在这里插入图片描述

图4-4用户信息E/R图

4.2.2 数据库表
数据库表的设计,如下表:
baojingleixing
表注释: 报警类型
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
baojingleixing varchar(200) 否 报警类型
config
表注释: 配置文件
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
name varchar(100) 否 配置参数名称
value varchar(100) 是 NULL 配置参数值
news
表注释: 系统公告
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
title varchar(200) 否 标题
introduction longtext 是 NULL 简介
picture varchar(200) 否 图片
content longtext 否 内容
quxiaojiuyuan
表注释: 取消救援
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
yonghuzhanghao varchar(200) 是 NULL 用户账号
yonghuxingming varchar(200) 是 NULL 用户姓名
baojingleixing varchar(200) 是 NULL 报警类型
lianxidianhua varchar(200) 是 NULL 联系电话
quxiaoyuanyin longtext 是 NULL 取消原因
quxiaoshijian datetime 是 NULL 取消时间
userid bigint(20) 是 NULL 用户id
longitude float 是 NULL 经度
latitude float 是 NULL 纬度
fulladdress varchar(200) 是 NULL 地址
token
表注释: token表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
userid bigint(20) 否 用户id
username varchar(100) 否 用户名
tablename varchar(100) 是 NULL 表名
role varchar(100) 是 NULL 角色
token varchar(200) 否 密码
addtime timestamp 否 CURRENT_TIMESTAMP 新增时间
expiratedtime timestamp 否 CURRENT_TIMESTAMP 过期时间
users
表注释: 用户表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
username varchar(100) 否 用户名
password varchar(100) 否 密码
role varchar(100) 是 管理员 角色
addtime timestamp 否 CURRENT_TIMESTAMP 新增时间
yijianbaojing
表注释: 地铁线路
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
yonghuzhanghao varchar(200) 是 NULL 用户账号
yonghuxingming varchar(200) 是 NULL 用户姓名
baojingleixing varchar(200) 是 NULL 报警类型
lianxidianhua varchar(200) 是 NULL 联系电话
qingkuangmiaoshu longtext 是 NULL 情况描述
baojingshijian datetime 是 NULL 报警时间
userid bigint(20) 是 NULL 用户id
longitude float 是 NULL 经度
latitude float 是 NULL 纬度
fulladdress varchar(200) 是 NULL 地址
yonghu
表注释: 用户
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
yonghuzhanghao varchar(200) 否 用户账号
yonghuxingming varchar(200) 否 用户姓名
mima varchar(200) 否 密码
xingbie varchar(200) 是 NULL 性别
nianling int(11) 是 NULL 年龄
lianxidianhua varchar(200) 是 NULL 联系电话

第五章 系统功能实现

5.1 APP端(用户功能)
用户登录,用户进入app,输入自己的账号和密码,并选择对应的角色进行系统登录操作,如图5-1所示。
在这里插入图片描述

图5-1app端登录界面图

用户登陆系统后,可以对首页、商品信息、朋友圈、我的等内容进行详细操作,如图5-2所示。
在这里插入图片描述

图5-2 app系统首页界面图

商品信息,在地铁线路页面可以查看商品名称、商品类型、图片、新旧程度、原价、售价、数量、用户名、姓名等信息,如图5-3所示。
在这里插入图片描述

图5-3商品信息界面图

用户,在我的页面可以对消息、商品信息、订单信息、我的收藏管理、我要发帖、我的发帖等详细信息进行操作,如图5-4所示。
在这里插入图片描述

图5-5我的界面图

用户信息,在用户信息页面通过用户账号、用户名、密码、姓名、性别、头像、年龄、手机等信息进行保存或退出登录操作,如图5-6所示
在这里插入图片描述

图5-6用户信息界面图

5.2后端(管理员功能)
管理员登录,管理员通过输入用户名,密码,在角色中选择管理员,点击登录进入系统操作进行操作,如图5-7所示。
在这里插入图片描述

图5-7管理员登录界面图

管理员登陆系统后,可以查看系统首页、个人中心、消息管理、用户管理、商品类型管理、商品信息管理、订单信息管理、确认收货管理、我的收藏管理、朋友圈、系统管理等功能,还能对每个功能逐一进行相应操作,如图5-8所示。
在这里插入图片描述

图5-8管理员功能界面图

用户管理,在用户管理页面可以对用户名、姓名、性别、头像、年龄、手机等内容进行修改和删除操作,如图5-9所示。
在这里插入图片描述

图5-9用户管理界面图
该模块控制层主要代码:
* 后端列表
*/
@RequestMapping(“/page”)
public R page(@RequestParam Map<String, Object> params,YonghuEntity yonghu,
HttpServletRequest request){

    EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
	PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));
    return R.ok().put("data", page);
}

/**
 * 前端列表
 */
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,YonghuEntity yonghu, 
	HttpServletRequest request){
    EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
	PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));
    return R.ok().put("data", page);
}

/**
 * 列表
 */
@RequestMapping("/lists")
public R list( YonghuEntity yonghu){
   	EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
  	ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu")); 
    return R.ok().put("data", yonghuService.selectListView(ew));
}

 /**
 * 查询
 */
@RequestMapping("/query")
public R query(YonghuEntity yonghu){
    EntityWrapper< YonghuEntity> ew = new EntityWrapper< YonghuEntity>();
	ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu")); 
	YonghuView yonghuView =  yonghuService.selectView(ew);
	return R.ok("查询用户成功").put("data", yonghuView);
}

/**
 * 后端详情
 */
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
    YonghuEntity yonghu = yonghuService.selectById(id);
    return R.ok().put("data", yonghu);
}


/**
 * 后端保存
 */
@RequestMapping("/save")
public R save(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
	yonghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
	//ValidatorUtils.validateEntity(yonghu);
	YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", yonghu.getYonghuming()));
	if(user!=null) {
		return R.error("用户已存在");
	}

	yonghu.setId(new Date().getTime());
    yonghuService.insert(yonghu);
    return R.ok();
}

/**
 * 前端保存
 */
@RequestMapping("/add")
public R add(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
	yonghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
	//ValidatorUtils.validateEntity(yonghu);
	YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", yonghu.getYonghuming()));
	if(user!=null) {
		return R.error("用户已存在");
	}

	yonghu.setId(new Date().getTime());
    yonghuService.insert(yonghu);
    return R.ok();
}

/**
 * 修改
 */
@RequestMapping("/update")
public R update(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
    //ValidatorUtils.validateEntity(yonghu);
    yonghuService.updateById(yonghu);//全部更新
    return R.ok();
}


/**
 * 删除
 */
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
    yonghuService.deleteBatchIds(Arrays.asList(ids));
    return R.ok();
}

}

商品信息管理,在商品信息管理页面可以对商品名称、商品类型、图片、新旧程度等内容进行详情和删除操作,如图5-10所示。
在这里插入图片描述

图5-10商品信息管理界面图
该模块控制层主要代码:
/**
* 后端列表
*/
@RequestMapping(“/page”)
public R page(@RequestParam Map<String, Object> params,ForumEntity forum,
HttpServletRequest request){
if(!request.getSession().getAttribute(“role”).toString().equals(“管理员”)) {
forum.setUserid((Long)request.getSession().getAttribute(“userId”));
}

    EntityWrapper<ForumEntity> ew = new EntityWrapper<ForumEntity>();
	PageUtils page = forumService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, forum), params), params));
    return R.ok().put("data", page);
}

/**
 * 前端列表
 */
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,ForumEntity forum, 
	HttpServletRequest request){
	if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
		forum.setUserid((Long)request.getSession().getAttribute("userId"));
	}

    EntityWrapper<ForumEntity> ew = new EntityWrapper<ForumEntity>();
	PageUtils page = forumService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, forum), params), params));
    return R.ok().put("data", page);
}

/**
 * 列表
 */
@IgnoreAuth
@RequestMapping("/flist")
public R flist(@RequestParam Map<String, Object> params,ForumEntity forum, HttpServletRequest request){
    EntityWrapper<ForumEntity> ew = new EntityWrapper<ForumEntity>();
	PageUtils page = forumService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, forum), params), params));
    return R.ok().put("data", page);
}

订单信息管理,在订单信息页面可以对订单编号、商品名称、商品类型、图片等内容进行详情,修改,回复和删除操作,如图5-11所示。
在这里插入图片描述

图5-11订单信息管理界面图
该模块控制层主要代码:
/**
* 后端列表
*/
@RequestMapping(“/page”)
public R page(@RequestParam Map<String, Object> params,MessagesEntity messages,
HttpServletRequest request){
if(!request.getSession().getAttribute(“role”).toString().equals(“管理员”)) {
messages.setUserid((Long)request.getSession().getAttribute(“userId”));
}

    EntityWrapper<MessagesEntity> ew = new EntityWrapper<MessagesEntity>();
	PageUtils page = messagesService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, messages), params), params));
    return R.ok().put("data", page);
}

public R save(@RequestBody MessagesEntity messages, HttpServletRequest request){
	messages.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
	//ValidatorUtils.validateEntity(messages);

    messagesService.insert(messages);
    return R.ok();
}

/**
 * 修改
 */
@RequestMapping("/update")
public R update(@RequestBody MessagesEntity messages, HttpServletRequest request){
    //ValidatorUtils.validateEntity(messages);
    messagesService.updateById(messages);//全部更新
    return R.ok();
}


/**
 * 删除
 */
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
    messagesService.deleteBatchIds(Arrays.asList(ids));
    return R.ok();
}
}

第六章 系统测试

在软件开发过程中,系统测试是最后一步骤,但它也是必不可少的、非常关键的一环。没有人可以确保一次撰写完成的系统不会出现差错,而系统测试就是将自己开发的系统变成成品之前的最后一环。在实际应用中,必须对整个系统进行严格、仔细的检测,并在各种条件下对其进行全方位的检测,以消除各种可能的缺陷。
系统的检测并不只是为了找出一个可能存在的 BUG或者 bug,而是为了给用户带来一个很好的体验,以及一个很容易被人接受的、可以被人接受的软件。因此,对系统进行有效地检测和分析,可以有效地提高系统的性能。
对于软件进行测试的方式有很多种,但是现在所使用的方式,有两种方式,一种是将以功能为主体的黑箱测试,另一种是以逻辑为主体的白箱测试,这两种方式都属于两种类型,它们所对应的测试的侧重点也各不相同,在这个项目中,按照具体的需要,我们可以将其应用到的方面,并且要按照一些规律来进行,一个测试要进行,其所需要的基础通常是通过测试用例来确定的,而这些用例通常都是按照需要或者是说明书来进行的,在硬件的生产之前,测试是非常关键的一个环节,因为需要花费大量的时间和精力,所以我们将其所完成的功能,当作是一个测试的关键环节来进行。具体测试过程如下:
测试用例1及测试过程:
登陆:输入登陆信息,帐户,密码,权限,之后点击登陆,开始操作,会有两种状态:一种状态是登陆顺利,这时就可以直接到用户对应的功能页面,开始下一步的工作。二是当出现登陆失败的消息时,会出现一个窗口,请求再次登陆;

测试用例2及测试过程:
管理员登陆:输入登录信息,管理员账户,密码,权限,点击登陆,执行操作,将会出现两种状态:登陆成功,进入管理员拥有权限的功能页面,以及登陆失败。一种是成功登陆,然后在管理员的界面上继续执行下一步的工作;还有一种可能是,当出现了注册失败的提示时,会出现一个对话框,请求再次注册;

7总结与心得体会

7.1 总结
在此基础上,提出了一种新的跳蚤市场 APP,并对其进行了详细的分析。在项目的早期,因为没有进行足够的细致和清晰的需要,在后期的开发中,在编写代码的过程中,出现了很多的问题。因此,在未来的工作和研究过程中,一定要掌握好软件工程的设计思路和方法,从而能够更好地确保本课题的鲁棒性和精确性。
本站点所实现的就是一个跳蚤市场APP,这个软件是根据需要进行了相应的设计,并通过所学的技术来进行设计,不过因为我的水平有限,所以不能够让这个软件能够在市面上推广,只能够进行一些简单的实现,还望以后能够有所改进。
本系统具有以下优点:
该系统具有较高的适用性,选用B/S结构,可以在绝大部分个人平台上使用该系统。
系统将用户权限进行划分,管理员与用户能看到及操作的信息不一样,两者具备不同的操作权限。
该系统操作界面简单明了,大部分人都可以正常使用。
但也存在以下问题需要改进。
运行时窗口不能被刷新,可以改进。
系统过于简单,显示的信息有限。
不能增加多个管理员帐号,否则会对扩大跳蚤市场 APP的范围有利,方便对跳蚤市场信息进行统一管理。
无法及时的对前台信息及跳蚤市场 APP的信息进行预设,很可能会被忽略,影响到管理者为顾客提供更好的服务。
7.2 心得体会
因为缺乏丰富的经历和丰富的知识,所以在开发、设计该系统的过程中,存在着很多的问题,比如所需使用的技术不熟悉、程序报错等。之后,我会主动地问学生自己遇到的问题,还会去寻找与之有关的书籍,慢慢的一点点将自己遇到的问题逐渐解决。所以不管以后在任何时候合作都会让自己事半功倍。通过本系统的完整的开发,可以遇到自己平时写一些简单的小程序遇不到的问题,不仅仅局限与技术与业务方面的,同时也使得自己更加深入的了解软件过程的开发设计思想,对于即将踏入社会工作而言,这些心得都十分重要。在以后的研究生学习生涯也必须加深这方面的理解,将最好的开发技术和最新的科学原理运用到自己以后的开发工作和学习研究中去。

致 谢

总是要看过程,看成果。在此期间,我不但学习到了更加完整的书籍和实际的东西,还体会到了浓厚的同学之谊和师生之谊。在我的大学四年时间里,我做了很多的试验任务,但我还是头一次独自地完成这么一个操作系统。所以,在我面对这些问题的时候,我可以说,我已经做好了充分的心理准备。不过,如果超过了自己的能力范围,我还是要向老师和同学求助。在这里,我要向所有的导师表示诚挚的谢意,如果没有他们,我就无法成功地做这个项目。当我走投无路时,他总会给我指路。比如在开题报告,我的指导教师就细致地指导我该怎么有逻辑地将自己的想法和做法表达清楚,在此由衷感谢他。在设计的过程中,教师百忙之中也乐于给予我指导,不管多晚给教师发消息,不管是不是上班时间去教师办公室寻求帮助,他总能在第一时间对我施以援手,由于我在设计期间需要离校实习,不能及时到教师办公室检查设计进度,当时已经是晚上6点多,我匆匆赶到办公室时,教师依然在伏案办公,桌上是同学们的中期检查报告,检查完毕业设计后,他又继续查看同学们的中期报告,并督促我及时上交报告。教师给的意见总是一针见血地指出我设计及论文中的不足,并举例详细说明我的改进方法,不得不佩服他的学术水平及教学水平。在我开始着手实现这个设计的时候,通过需求分析及可行性分析对该系统有了较为浅显的认识;但是在我真正开始实现时发现事情并没有这么简单。任何成功都不是一蹴而就的,就算是一个简单的毕业设计也需要日积月累的知识和经验。于是,我便去寻求老师和同学的帮助,这也使得我得以从不同的角度重新考虑我的设计。终于,这个系统在我内心有了雏形。在真正实现这个设计的过程中,学习新知识是必定的,同时那些由于时间关系或者本来就没有掌握牢固的知识也有了进一步巩固的机会。然而最重要的是了解到如何作为一个开发人员,以开发人员的思维来看待软件开发的步骤和方法策略。
此次毕业设计的结束标志着我的大学生活进入了尾声,在此期间,我所获得的不仅是在做项目的时候所要学习到的东西,更多的是同学之间的友谊,更多的是师生之间的友谊,最主要的是,我在做什么事情都要具有的一种认真的心态,还有一种是我所要拥有的,那就是我所要拥有的,一种属于我自己的,属于我自己的思维方式。
在结束语中,我真诚地祝福老师和同学,你们有一个美好的未来!工作一帆风顺,希望我们的学院越来越好!

参考文献

[1] 李长江,安筱鹏.开放手机联盟:重塑移动互联网产业链.中国电子报,2018.
[2] 方银旺,赵向道,李欣.Symbian操作系统及其应用程序开发.计算机工程,2013(1):275-277.
[3] 余志龙,陈昱勋,郑名杰等著.Google Android SDK开发范例大全[M].北京:人民邮电出版社,2016:2.
[4] 马宁.嵌入式移动开发.程序员,2017,(12):14-15.
[5] Chris Haseman.Android Essentials.PEF Electronic Book,2018.
[6] 杨丰盛著.Android应用开发揭秘[M].北京:机械工业出版社,2019:96.
[7] W.Frank Ableson (美) Charlie Collins RobiSen(美)著.张波,高朝勤,杨越译.Google Android揭秘[M].北京:人民邮电出版社,2015:2-7.
[8] 朱桂英.Android开发应用从入门到精通[M].北京:中国铁道出版社,2011:21.
[9] 余志龙,陈昱勋,郑名杰等著.Google Android SDK开发范例大全[M].北京:人民邮电出版社,2017:2.
[10] 郭宏志著.Android应用开发详解[M].北京:电子工业出版社,2016:96.
[11] 姚旻旻,刘卫国著.计算机系统应用.计算机应用,2018:17(11).
[12]BruceEckel著.陈昊鹏等译.Thinking in Java 3th Edition[M] .机械工业出版社,2014:75.
[13] Comp-U-Learn Tech India Ltd(美)著,贾素玲译.Java编程基础[M].北京:高等教育出版社,2017:20.
[14] 王水著.软件工程[M].河南:河南科学技术出版社,2018:80.
[15]吴洁明著.软件工程实例教程[M].北京:清华大学出版社,2015:11.
[16] Ed Burnette(美)著.张波等译.Hello Android[M] .北京:人民邮电出版社,2019:34.
[17] Ron patton(美)著小松.王钰,曹跃译.软件测试[M].北京:机械工业出版社,2016:4.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_1406299528

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值