shoppingmall 是使用ssm框架开发的一个仿照的是天猫的购物商城项目的服务端。
项目用到的工具如netapp(做内网穿透)、nginx(做静态资源代理)、FTP(文件、图片服务器)在tools目录下。
项目的数据库文件在sql目录下
项目的restful接口使用文档在api文档目录下
项目的工程代码在shoppingmall下
项目主要用到的技术以及作用
spring、springmvc、mybatis、mysql、nginx、ftp、maven-3.5.4、JDK1.8
spring做后端整合框架
springmvc前端控制和请求转发、文件上传处理、http消息转换
mysql数据库做数据存储
mybatis做数据访问框架
maven用作项目构建工具
同时还是用了mybatis三剑客
一、 mybatis-generator 是一个mybatis代码生成插件,该插件根据数据库的表生成1.与数据库表对应的对象实体 2. 访问数据库的dao层接口 3.dao层接口的实现的mapper.xml文件
二、 mybaytis-PageHelper做mybatis的分页插件,对查询到的数据进行分页
三、mybatis-plugin插件用来自动检查Mapper(dao层接口)与Mapper.xml文件(dao层的实现)的冲突,mapper.xml文件编辑时候自动补全,dao层接口方法直接导航到xml的sql实现语句。
ftp服务器存放项目上传的图片(商品的图片)、文件等,先通过springmvc上传图片到tomcat然后再通过FTPClient上传到ftp服务器,用到的时候直接去ftp服务器去取。
nginx做ftp服务器上图片、文件等静态资源的代理,当请求ftp上的资源时,先被nginx截取请求,然后nginx会将请求转发到ftp服务器相应资源的目录。
项目的用户
- 该后端项目有三种用户: 买家、商家、管理员
- 已经的注册好三个用户的账号密码分别为 buyer/12345(买家)、seller/12345(商家)、admin/12345(管理员)
- 各个用户的介绍
3.1 买家时商城的消费者,可以搜索查看购物商城的商品、添加商品到自己的购物车、勾选购物车中的商品以及收货地址进行下单、对订单进行付款(使用支付宝余额的方式进行支付)、对商品进行签收。
3.2 商家是商城的商品提供者、商家在商城上开店、上传自己的商品图片描述提供买家浏览购买,同时商家可以对买家下单的商品进行发货等。
3.3 管理员是整个商城的管理者,拥有最大权限,同时管理员可以增加或者删除商城商品的分类,比如增加电子产品分类、西装分类、球类分类等。
商城的各个模块
-
用户模块
买家: 注册、登陆、查看个人信息、修改个人信息、修改密码、密码找回
商家: 注册、登陆、查看个人信息、修改个人信息
管理员: 注册、登陆
-
分类模块
管理员: 添加新的分类(如iphone手机分类、篮球分类)、修改分类、删除分类、获取分类信息
-
店铺模块
商家: 开店(可以开多个店铺,比如开个零食店、服装店)、修改店铺信息、关闭店铺(关店跑路)、获取店铺信息
-
商品模块
商家: 上架商品(在自己的某个店铺里面新增某种商品)、下架商品(不卖了)、修改商品(改价格促销、修改一个醒目的标题等信息)、上传商品的图片、查看商品信息。
买家: 搜索商品(通过关键字搜索、分类搜索、店铺名字搜索等)、加入购物车
-
购物车模块
买家:从购物车删除、修改购物车上该商品的数量、选中或者取消选中该商品、全选或者取消全选购物车商品、查看购物车上所有的商品信息
-
地址模块
买家:新增收货地址、删除收货地址、修改收货地址、获取收货地址列表
商家:新增发货地址、删除发货地址、修改发货地址、获取发货地址列表
-
订单模块
买家:下单(勾选购物车上的商品然后下单)、取消订单(不想买了)、查看订单信息或者查看历史订单、查看订单状态(付款了木有、订单取消了没、订单发货了木有、到货了没)
商家: 对订单进行发货
-
支付模块
买家: 买家通过支付宝余额进行支付