基于SSM框架贺州学院校园二手交易平台设计与实现huanziqch

随着中国新四大发明的诞生,网购成了千千万万网友们购物的新方式,新的购物方式促进商业的发展,但随着人们生活水平的提高,许多新购置的物品用了没多少天,甚至没多少次就开始嫌弃、就开始不再使用,成为了闲置物品,大量的闲置物品已然爆发式增长。

在网购人群中,学生网购已经是非常常见,随着购物的便捷,学生们四年下来手里头有着太多的闲置的废旧物,一到大四毕业季,学生离校时都会丢弃一些学习资料和生活用具,这些闲置的废旧物造成校园垃圾增长,给环境保洁员工作带来极大的压力,更是造成了资源浪费。作为本届的毕业生我深有体会。

而现在网上主流的二手交易平台“闲鱼”、“转转”,更多的是面向同城交易、国内外交易,缺乏一个面向学生群体的二手交易平台,而学生消费群体,一到每年的毕业季大量的闲置物品无法及时处理,而想要购置二手物品的大一、大二等同校的同学由于缺乏途径,并不知道那个学长学姐有哪些闲置的物品。如果学校有一个自己的校园二手交易平台,而已发布者身份真实明确,就是我们学校的学生,那我们的学弟学妹就可以直接在我们学校自己的校园二手交易平台上购置同校友发布的闲置物品,方便又安心,而对于我们毕业生来说,直接把闲置物品放在我们自己学校的二手交易平台,直接在校园内就能交易,方便快捷、省心省事。

对于每一个即将离校的学生来说,无论之前是如何的嫌弃学校的各种不好,抱怨饭堂的有多不好吃,到了要离开的时候,多少都是有点舍不得。而通过二手交易平台,把回忆留给校园,闲置物品留给学弟学妹,还能换一张离去的车票,一举多得!

平台的特色及创新点

1、SSM框架开发,数据库使用MySQL,整个项目进行分布式架构,降低了平台的耦合度,对某个功能修改或增加新功能,都不会对其它功能模块产生影响,将传统部分功能拆分出来,形成各个独立的子系统。各子系统之间都是以服务的形式提供API接口给其他模块调用

2、使用solr搜索引擎、搭建nginx图片服务器、单机版redis缓存数据库,大大提高效率,以应付高访问,高并发(美中不足的是没有搭建集群做高可用)

3、使用学校教务系统账号进行贺州学院学生身份认证(通过HttpClient模拟登陆),发布者身份信息真实、平台由学生(可以跟计算机协会合作,由他们进行维护)维护,平台安全可靠

(1)用户表t_user如表3.2.1所示。

表3.2.1用户表t_user

列名

类型

主外键

备注

id

int

主键/自增

表唯一id

username

varchar

用户名

password

密码

phone

eamil

credit

信用度/10-100

register_time

login_time

login_city

logout_time

chat_id

外键

聊天表id之间用“,”隔开

is_authentication

是否身份认证/0否1是

status

0注销/1正常/-1冻结

(2)用户信息表t_user_datum如表3.2.2所示。

表3.2.2用户信息表t_user_datum

user_id

t_user表的id

name

真实姓名

idcard

身份证号

birthdate

出生日期

gender

性别/0女1男

xh

学号

xy

学院

zy

专业

bj

班级

tx

头像图片存放路径

(3)出售表t_sell如表3.2.3所示。

表3.2.3出售表t_sell

发布用户id

type

商品类型id

title

标题

describe_

text

描述

photos

图片/json格式可存多张

price

转让价格

original_price

原价

release_time

browse_count

浏览次数

-1审核失败/0审核中/1正常/2下架

(4)求购表t_purchase如表3.2.4所示。

表3.2.4求购表t_purchase

求购商品类型id

求购价格

(5)商品类型表t_type如表3.2.5所示。

表3.2.5商品类型表t_type

is----_parent

是否父类

parent_id

父类id/商品类表id

(6)后台管理员表t_admin如表3.2.6所示。

表3.2.6后台管理员表t_admin

level

等级

is_vip

0普通推荐/1VIP推荐

flag

0求购/1闲置

item_id

商品id

img

商品图片

商品标题

转让价

position_id

图片地址

location

链接地址

(9)聊天记录表t_chat如表3.2.9所示。

表3.2.9聊天记录表t_chat

消息内容/json格式追加

user_user

聊天的两个人(_隔开)

update_time

position

is_parent

协议阅读展示

使用layer框架iframe父子操作层;a标签触发js自定义函数,弹窗展示。

MD5对注册密码加密、存储密文

使用封装好的MD5Util.java传入一个明文,返回一个32位的密文,将用户注册密码MD5加密后保存到数据表t_user。

登陆表单非空、正则的前端验证

使用封装好的jscheckform方法返回参数是Boolean类型,获取表单上的信息并传入checkform中,如果为空、不匹配给定的正则,返回false,否则返回true;在ajaxbeforeSubmit中使用;如果整个beforeSubmit方法返回false则不提交表单,反之提交。

手机短信验证注册

购买阿里云市场的短信验证API,价格也比较便宜4元/100次,购买成功后会生成一个AppCode,调用提供的API是传入skin短信模板(想要使用自定义的短信模板需要申请购买,我这里使用供应商提供的短信模板),code验证码,phone手机号码,然后在header请求头中设置Authorization传入这样的格式的值:"APPCODE"+AppCode。验证码是一个4位数的随机数,如果发送成功,则在响应回来的json中code为OK。页面中点击“免费获取验证码”触发sendSMS事件,在通过表单验证后执行seanSMS.do,用户在有效期间内输入正确的短信验证码则能通过注册验证。

用户唯一验证

注册

服务端图形验证码

使用扩展包validate/image.jsp;访问该jsp,在session设置rand;在我们的action中取得session作用域中rand的值跟前端表单输入的验证码判断是否匹配即可。

cookie记住密码

七天免登陆

短信找回密码

因为一个账号只能绑定一个手机号码,同时用户名是唯一的,所有页面中我直接让用户输入手机号码,点击发送短信时后台要判断是否有绑定该手机号的用户存在,存在则发送找回密码验证码,并存到session中。通过验证码后跳到输入新密码页面,用户输入信息后请求后台MD5加密后存起来即可。

商品类型分类

商品类目使用ul实现,首先先查出所有的父类类型分类,当鼠标滑到对应的li时触发mouseenter改变li的背景颜色同时请求后台根据父类id查询所有的子类商品类型分类并在右边显示div追加展示;离开li或div时mouseleave事件改变回li原来的背景颜色同时隐藏展示div(离开li进入div并不触发),当点击对应的商品类型分类时,则按照该商品类型进行全文检索并跳转到检索结果页面。值得注意的是为了增加系统效率,我们先去redis缓存中查找,如果redis中没有则去数据库查询,然后放到redis中,使用类型id作为key,使用字符串”TYPE”作为field。

系统公告

为了对平台的一些信息跟状态进行通知,特意在首页开辟一块区域作为公告栏。同样是在页面加载的时候ajax异步获取系统公告信息,同样为了增加系统效率,我们先去redis缓存中查找,如果redis中没有则去数据库查询,然后放到redis中,使用作为key,使用字符串作为field。

精品闲置、求购推荐

solr全文检索

基本信息

校园身份认证功能

进行校园身份认证时本校园二手交易平台的一大特色。我通过HttpClients模拟登陆教务系统,获取学生信息,使用jsoup俗称“大杀器”进行解析响应回来的html匹配个人信息a标签地址并做携带参数页Referer进行第二次请求,使用jsoup来解析响应回来的htm匹配所有学生信息获取我们想要的学生信息。在存储过程中要进行唯一性认证,一个账号只能认证一次,一个学生教务教务系统账号只能绑定一个平台账号。目前头像的上传我是这样做的,先把图片下载的用户电脑本地作为临时文件,再调用FtpUtil.upload()方法读取文件上传到我们nginx图片服务器,成功上传后删除用户电脑中的临时文件。(因为上传需要传入一个InputStream但是在写代码过程中发现从响应回来的HttpResponse获取到的数据转为InputStream时文件出现损失导致上传后图片无法正常打开的情况)。而一个重要的技术点就是验证码的问题,在编写代码时发现想使用Tesseract-OCR开源工具,然而,实现起来没那么简单,所以我的做法是把教务系统的验证码直接writeTo到用户的HttpServletResponse获取图片验证码,直接响应回浏览器,让用户自己手动输入再传到后台。

发布闲置

发布闲置功能主要是使用了百度富文本UEditor,百度前端团队开发的框架,简单、轻量,正确引入后再js代码中使用UE.getEditor实例化编辑器并调用getEditor方法创建编辑器实例,在ueditor.config.js配置文件中配置一些属性、比如那些按钮功能显示在工具栏中,通过修改图片上传路径,修改成上传到我们的nginx图片服务器上。UEditor内置有很多编辑功能跟图片,足够我们使用。

发布求购

发布求购跟4.1.6.3发布闲置流程一样,不同的是求购不需要有图片轮播,但UEditor商品描述中依然要可以图片,后台代码也没有了去匹配img标签,获取图片路径,因为求购表没有photos。后面的流程就跟发布闲置一样了。

我的闲置

在这个功能中,可以查看、修改、下架我的闲置商品。在我的闲置中需要调用服务层子系统中的getSellByPage.do(用到mybatis的一个分页插件pagehelper),像这种共有的、常用的查询功能在后台子系统要用到,所以把它提到服务层中去,使用封装好的HttpClientUtil工具类调用,解析返回来的结果响应回前端页面。查看功能是携带商品id请求后台获取商品的详情信息并做弹窗显示。修改功能则是对已经发布了的商品进行修改(商品类型不能修改),修改后需要管理员重新审核。值得注意的是逆向工程生成的mybatis的update语句是updateByPrimaryKey,但因为商品描述describe_的类型为text,所有必须要用updateByPrimaryKeyWithBLOBs才能更新。商品的下架则是修改了商品的状态并不是真正的删除数据,下架成功好同步更新solr,在大数据火的一塌糊涂的今天,数据是很重要的,一般来说是不会真正删除数据。

我的求购

我的求购功能跟我的闲置几乎是一模一样,业务流程也是相差甚微。

后台系统使用的是easyUI前端框架做前端页面。首页使用easyUI-tabs选项卡,页面简洁大方。

用户管理

用户管理包括查看用户信息、冻结用户账号、解除用户账号冻结状态。使用easyUI的table网络表格datagrid。配合使用mybatis的pagehelper分页插件轻松快捷的实习分页、排序功能。

点击查看用户信息后携带用户id查询用户注册信息,如果已经认证,获取用户认证证信息后做响应返回前端做layer弹框展示。冻结用户账号则是修改用户信息中的状态,修改成功后清除redis中该用户的信息。做到实时状态更新。解冻同样也是修改状态,但是不用对redis进行操作。

闲置管理

求购管理

求购管理的业务流程跟闲置管理差不多,相差无几。

服务层是为了方便以后对平台进行扩展,将一些公用的、常用的操作提到服务层,虽然它也单独部署成了一个项目单他并没有前端页面。

THE END
1.高校二手交易平台(需求文档)设计实现一个针对高校学生的二手交易平台,满足学生在线发布商品,在线二手商品的购买交易,订单查看,个人信息管理以及管理员对用户信息,商品信息,订单信息,系统信息等信息的管理,系统页面简洁美观,兼容性好,运行没有bug,能够满足用户的需求。 5、指导教师意见 https://blog.csdn.net/2401_86117024/article/details/144142933
2.校园二手物品交易网站的设计与实现期刊[1]徐慧,朱志勇,刘巍,等.校园二手物品交易网站研究与设计[J].中国教育网络,2017,(2):82-84.doi:10.3969/j.issn.1672-9781.2017.02.037. [2]蔡子慧,刘雨萌.校园二手物品交易平台的设计与实现[J].建筑工程技术与设计,2018,(17):917. [3]马杰.校园二手物品交易平台的设计与实现[J].河南科技,2017,(19):43...https://d.wanfangdata.com.cn/periodical/hljkjxx202126044
3.毕业设计校园二手物品交易平台毕业设计ssm基于java的校园二手物品交易平台的设计与实现+jsp源码含文档含教程 后台是ssm框架,页面是jsp,数据库mysql,jdk1.8,开发工具用ecplise、myecplise、sts、idea都可以 本基于Java的校园二手物品交易平台采用Java语言和Jsp技术,框架采用SSM,搭配Mysql数据库,运行在Idea里。本系统针对校园二手商品的交易而开发,提供管...https://www.iteye.com/resource/weixin_43199861-11010521
4.校园二手交易平台(精选十篇)首先校内二手商品交易平台可以整合校园内各种零散的二手商品信息, 为广大师生提供了方便, 它突破了传统校内跳蚤市场的弊端, 比如交易时间有限或者交易方式较为单一性等, 通过依托于微信公众平台, 是校内二手物品的流通效率更高, 也更方便;在校内二手物品交易平台采取线上信息回馈与线下实体交易相结合的方式, 避免了因为...https://www.360wenmi.com/f/cnkey447o7r3.html
5.校园二手商品交易网站的设计与实现在校园网中实现学生的二手商品随着校园内学生消费水平的提高,二手商品交易成为了一种日益普遍的校园经济活动。为了方便学生,减少资源浪费,提升校园内物品流通效率,本文将详细阐述在校园网中设计与实现一个学生二手商品交易网站的过程。该平台旨在为校园内学生提供一个安全、便捷、高效的交易环境,以促进二手商品的流通和资源的有效利用。 https://www.autocms.cn/a/6ms60v52.html
6.高校二手物品交易网站的设计与实现如今大学校园内,跳蚤市场变得流行,但操作性不强,因此大学生很多被闲置的物品并不能得到及时的有效地解决。另一方面,由于现有的信息传播局限性,想要买到廉价的二手物品的同学也无法及时找到相应的商家。这些同学之间缺少的是一个媒介,一个实现资源价值均匀分配的平台。基于这些现状,本二手物品交易网相应产生,以“新大学,...https://wap.cnki.net/touch/web/Dissertation/Article/-1014136923.html
7.校园二手市场范文12篇(全文)因此,这种交易方式能够充分地利用大学生手中的闲置资源,从而深受广大学生的青睐。但是,因为各大校园并没有一个完整的交易平台,这种物物交换的方式就很难实现,从而导致这些闲置物品并不能得到很好的利用,造成了很大的资源浪费。 3.3 网络营销 随着互联网上电子商务的快速发展,网络营销的交易方式也逐渐出现在大学的二手...https://www.99xueshu.com/w/ikeyjvilp09e.html
8.基于javaweb的学生二手书籍交易平台的设计与实现基于javaweb的学生二手书籍交易平台的设计与实现 1.立题意义 随着互联网技术的快速发展,网络时代的到来,网络信息也将会改变当今社会。各行各业在日常企业经营管理等方面也在慢慢的向规范化和网络化趋势汇合[1]。校园二手书交易系统的信息化程度体现在将互联网与信息技术应用于经营与管理,以现代化工具代替传统手工作业...https://blog.51cto.com/u_6668792/9398440
9.2022届中美联合毕业作品展为了实现资源再利用,体现环保、节约的理念,帮助在校大学生实现旧物再用及旧物变现,特开发校园二手交易平台。该平台可以进行二手物品的展示和买卖,为需要二手交易的学生搭建了沟通渠道,校园二手交易平台以微信小程序的形式面向学生,方便易用。实现了用户登陆注册、二手商品的发布和购买、个人商品的订单管理、买卖双方的沟通...https://da.njcit.cn/2022/0602/c1802a129172/page.htm
10.校园二手市场策划书(通用10篇)基于Internet技术的发展,时机成熟时在网上构建校园二手交易平台,方便在校学生集中处理对自己利用率不高的物品,让大家可以通过一个安全规范的平台交换或低价出售、购买自己的物品。目前,保护生态环境是我国面临的一项十分艰巨的任务,大学生是社会的中坚力量,树立正确的生态环境道德和环境保护意识是社会发展的必然要求,也是...https://www.gdyjs.com/shiyongwen/cehuashu/507656.html
11.毕业论文校园二手交易系统的设计与实现Web校园二手交易系统的设计与实现 目录 1引言 (1) 1.1 开发背景 (1) 1.2 开发意义 (1) 1.3 可行性研究 (2) 2系统构架分析 (2) 2.1 JAVA语言简洁 (2) 2.2 JAVAEE技术介绍 (2) 2.3 SERVLET/Jsp技术 (3) 2.4 JAVABeans技术 (3) 2.5 开发环境及环境配置 (4) 2.5.1 系统环境及Java/JSP环境配置 (4...https://m.360docs.net/doc/c75952621.html
12.大学校园闲置物品交易平台APP计划书“互联网+”大学生创新创业大赛 项目计划书 项目名称: 大学校园闲置物品交易平台 App 所属组别: 创意组 项目类型: “互联网+”社会服务 团队成员: 黄安、侯远卓、陶磊、王金龙、路畅 指导教师: 季璇 申报日期: 2019 年 5 月 目录 一.项目概述 二.公司简介 公司概述 公司 Logo 公司介绍 公司目标 组织结构...https://doc.mbalib.com/view/ee25a07e8126db9930e1b4e1a6276d11.html