Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
wwwanlingxiao
mall
Commits
b4ec1256
Commit
b4ec1256
authored
Nov 23, 2018
by
zhh
Browse files
说明文件替换
parent
b74ae2b5
Changes
3
Hide whitespace changes
Inline
Side-by-side
README-DEV.md
0 → 100644
View file @
b4ec1256
# mall
## 技术选型
### 后端技术
技术 | 名称
----|----
Spring Boot | 容器+MVC框架
Spring Security | 认证和授权框架
MyBatis | ORM框架
MyBatisGenerator | 数据层代码生成
PageHelper | MyBatis物理分页插件
Swagger-UI | 文档生产工具
Hibernator-Validator | 验证框架
Elasticsearch | 搜索引擎
RabbitMq | 消息队列
Redis | 分布式缓存
MongoDb | NoSql数据库
Docker | 应用容器引擎
Druid | 数据库连接池
### 前端技术
技术 | 名称
----|----
Vue | 前端框架
Vue-router | 路由框架
Vuex | 全局状态管理框架
Element | 前端UI框架
Axios | 前端HTTP框架
Js-cookie | cookie管理工具
### 框架搭建
功能 | 完成
----|----
集成MyBatis | ✔
集成MyBatisGenerator | ✔
集成SpringSecurity | ✔
集成Swagger-UI | ✔
集成Hibernator-Validator | ✔
集成日志功能 | ✔
集成监控功能 | ✔
crud操作demo | ✔
合理规划包结构 | ✔
SpringAOP通用日志处理 | ✔
SpringAOP通用验证失败结果返回 | ✔
CommonResult对通用返回结果进行封装 | ✔
SpringSecurity登录改为Restful形式 | ✔
JWT登录、注册、获取token | ✔
JTA事务处理 | ✔
集成单元测试 | ✔
OSS上传功能 | ✔
Elasticsearch搜索功能 | ✔
HTTPS支持 | ✔
Redis数字型ID生成 | ✔
SpringTask定时任务支持 | ✔
docker容器化部署 | ✔
配置区分生产和测试环境 | ✔
ELK日志收集功能 | ✔
RabbitMq异步通信 | ✔
RestTemplate服务间调用 | ✔
SpringSecurity权限管理功能 | ✔
集成SpringCloud |
### 使用工具
工具 | 下载地址
----|----
开发工具idea | https://www.jetbrains.com/idea/download
redis客户端连接工具 | https://redisdesktop.com/download
mongo客户端连接工具 | https://robomongo.org/download
本地host管理 | https://oldj.github.io/SwitchHosts/
Linux远程连接工具 | http://www.netsarang.com/download/software.html
数据库连接工具 | http://www.formysql.com/xiazai.html
数据库设计工具 | http://powerdesigner.de/
原型设计工具 | https://www.axure.com/
思维导图设计工具 | http://www.edrawsoft.cn/mindmaster
gif录制工具 | https://www.screentogif.com/
### 后台功能
#### 后台登录功能 ✔
-
后台用户注册功能
-
后台用户登录后获取token
-
刷新token功能
#### 商品管理 ✔
> **商品分类管理**
-
按父分类编号分页查看分类列表
-
添加、编辑、删除分类
-
转移分类商品
> **商品品牌管理**
-
按品牌名称搜索分页查看品牌列表
-
添加、编辑、删除品牌
-
查看当前品牌的所有产品
> **商品属性分类管理**
-
添加商品属性分类(名称)
-
分页查询全部商品属性分类
-
删除单个商品属性分类
-
修改单个属性分类名称
-
查询单个属性分类信息
> **商品属性管理**
-
根据分类查询属性列表或参数列表(分页,支持类型)
-
添加商品属性
-
查询单个商品属性
-
编辑商品属性
-
批量删除商品属性
-
分页查询全部商品属性
> **添加商品**
-
选择商品分类:根据商品分类id查找分类
-
选择品牌:查询全部品牌
-
选择运费模版:查询全部运费模版
-
设置会员价格:查询所有会员等级,传入List
<PmsMemberPrice>
-
添加阶梯价格: 参数传入List
<PmsProductLadder>
-
设置满减价格: 参数传入List
<PmsProductFullReduction>
-
选择商品属性类别:获取所有商品属性分类,根据商品属性分类的id获取规格和参数(type=0->规格;type=1->参数)
-
选择规格并生成库存信息:前端实现
-
添加sku库存信息:参数传入List
<PmsSkuStock>
-
设置属性图片:设置到pic和album_pics字段中去
-
添加商品参数:参数传入List
<PmsProductAttributeValue>
-
添加自定义商品规格:参数传入List
<PmsProductAttributeValue>
-
关联专题:参数传入List
<CmsSubjectProductRelation>
关系
-
关联优选:参数传入List
<CmsPrefrenceAreaProductRelation>
关系
> **修改商品**
-
根据商品id查询商品信息
-
查询商品基本信息:商品分类名称、品牌名称、运费模版名称
-
查询商品促销信息:商品的会员价格、阶梯价格、满减价格
-
查询商品属性信息:商品属性类别名称、sku库存信息、属性分类对应规格和参数值
-
查询商品关联信息:商品关联专题和关联优选
-
修改商品信息:商品属性分类及规格不可修改,只支持单个sku的修改、删除、新增;商品属性分类及规格可以修改:修改后同时显示原sku库存及属性分类
> **商品分页查询**
-
商品的状态:全部商品、已上架、未上架、待审核、未通过 (publishStatus verifyStatus)
-
商品名称(%name%)
-
商品货号(productSn)
-
商品分类id(productCategoryId)
-
商品品牌id(brandId)
-
批量操作:上下架、推荐、新品、转移分类、放入回收站、审核
-
查看记录:审核记录,操作日志
-
sku:根据产品及sku编号获取sku信息,批量修改sku信息
> **商品回收管理**
-
分页展示回收商品列表
-
回收商品还原功能
#### 促销管理
> **秒杀活动管理**
-
活动列表展示
-
活动上下线
-
设置活动商品
-
添加、编辑、删除活动
> **优惠券管理**
-
优惠券列表展示
-
添加、编辑、删除优惠券
-
查看优惠券领取记录
> **活动管理**
-
活动列表展示
-
添加、编辑、删除活动
-
活动上下线
-
发布到广告
> **首页推荐**
-
品牌推荐:列表展示、是否推荐、排序、删除、多选加入品牌
-
新鲜好物:商品列表展示、是否推荐、排序、删除、多选加入商品
-
人气推荐:商品列表展示、是否推荐、排序、删除、多选加入商品
-
专题精选:专题列表展示、是否推荐、排序、删除、多选加入专题
-
广告管理:广告列表展示、是否上线、排序、删除、添加编辑广告
#### 内容管理
> **专题管理**
-
专题列表:查看、删除、推荐专题
-
添加、编辑专题:选择专题分类、添加、删除关联商品
-
专题分类管理:控制显示、排序、编辑删除分类
> **优选主题**
-
优选列表:控制显示、排序、删除
-
添加、编辑优选:关联和删除商品
> **话题管理**
-
专题列表:查看、删除、热门话题
-
话题分类管理:控制显示、排序、编辑删除分类
> **帮助管理**
-
帮助列表:查看、删除、控制显示
-
添加、编辑帮助:选择帮助分类
-
帮助分类管理:控制显示、排序、编辑删除分类
#### 用户管理
> **用户管理**
-
用户列表:帐号启用、删除、群发短信
-
批量操作:群发短信、站内信、推送、设置标签、赠送优惠券
-
查看、编辑用户信息:用户详情(统计信息、收货地址、订单记录)、编辑资料、登录日志
-
购买力筛选:最近消费、消费次数、消费金额、订单均价、商品分类、会员等级、用户标签
-
用户标签管理:标签列表、添加、编辑、删除
-
会员等级设置:列表、添加、编辑、设置默认会员等级
> **成才值及积分**
-
成长值及积分查询:列表展示、积分明细、成长值明细、修改数值
-
任务奖励设置:新手任务、日常任务
-
更多规则设置:成长值规则、积分规则、积分消费设置
#### 订单管理
> **订单列表**
-
订单搜索:订单编号、收货人姓名/号码、订单状态、订单分类、订单来源、提交时间
-
订单操作:查看订单、关闭订单、订单发货、订单跟踪、删除订单
-
批量操作:批量发货、关闭订单、删除订单
> **查看订单**
-
订单状态:提交订单、支付订单、平台发货、确认收货、完成评价
-
订单详情操作:修改发票信息、修改收货人信息、修改商品信息、修改费用信息、发送站内信、关闭订单、备注订单、取消订单、订单跟踪、删除订单
-
订单基本信息:订单信息、优惠信息、用户信息
-
发票信息:类型、抬头、内容、收票人信息
-
收货人信息:收货人、手机号、邮政编码、收货地址
-
商品信息:包含商品基本信息
-
费用信息:合计及优惠信息
-
操作信息:订单状态改变记录
> **订单设置**
-
秒杀订单超时时间
-
正常订单超时时间
-
订单自动完成时间
-
自动结束交易时间
-
自动好评时间
> **退货申请处理**
-
退货申请搜索:服务单号、收货人姓名/号码、处理状态、申请时间、操作人员、处理时间
-
批量操作:删除
-
查看详情:退货商品、服务单信息、确认退货、拒绝退货、确认收货
> **退货原因设置**
-
原因列表:类型、排序、是否启用、添加时间
-
添加、编辑原因:同上
-
批量操作:删除
#### 权限管理 ✔
> **权限管理**
-
权限管理:添加权限、删除权限、修改权限、以树形结构返回权限
-
角色管理:添加角色、删除角色、更新角色、角色列表、获取相应角色权限、修改相应角色权限
-
成员管理:添加、编辑、删除成员、成员列表、为成员分配角色、获取成员角色、分配+-权限、获取权限列表
角色 | 菜单
----|----
管理员 | 所有菜单权限
运营 | 首页、用户、促销、运营、内容
财务 | 首页、统计、财务
美工 | 首页、商品
客服 | 首页、商品、订单
### 前台功能
#### 商品搜索 ✔
> **综合搜索功能**
-
搜索:根据商品标题、副标题、关键字进行搜索;
-
筛选:未选择分类时聚合搜索结果,选择出现次数最多的分类,选择分类以后可以根据选择分类的筛选字段进行筛选;
-
排序:按新品、销量、价格进行排序
-
搜索返回结果:商品ID、商品图片、名称、副标题、价格、商品销量、新品、商品的参数、品牌名称、分类名称
-
接口:从数据库中查询相关数据并导入es,插入(修改)数据接口,删除数据接口
-
品牌分类筛选:根据搜索结果聚合返回品牌、分类及属性
> **商品推荐功能**
-
推荐某商品的相关商品、根据该商品的品牌(10)、分类(6)、名称(8)、关键字(2)、副标题(2)
-
根据用户一周浏览记录推荐商品,根据用户搜索记录推荐商品
> **商品热搜功能**
-
根据用户搜索记录聚合生成热搜词
> **商品搜索联想功能**
-
根据用户搜索记录聚合生成热搜词
#### 购物流程 ✔
> **购物车**
-
添加商品到购物车
-
购物车商品列表(商品主图、商品名称、商品数量、商品规格)
-
修改购物车中商品数量
-
购物车中商品重选规格
-
购物车中商品删除功能
> **生成确认单**
-
生成确认单信息:收货信息、商品信息、价格信息、发票信息、支付方式
-
选择收货地址:默认收货地址
-
选择优惠券及积分抵扣:展示可用优惠券和不可以优惠券
-
计算商品价格:商品合计、运费、优惠券抵扣、积分抵扣、活动优惠
-
选择支付方式:在线支付及货到付款
-
计算应付金额:合计+运费-优惠券抵扣-积分抵扣-活动优惠
> **提交订单**
-
将确认单信息转化为订单
-
删除购物车中相关商品
-
添加订单到数据库并锁定库存
-
在线支付选择支付方式:支付宝、微信、银联、ApplePay
> **支付订单**
-
支付完成后修改订单状态为已支付、扣除库存
> **取消订单(未支付情况下)**
-
订单超时后自动取消订单,解除商品库存锁定,返还优惠券,积分
#### 会员模块(我的)✔
> **我的关注**
-
关注品牌列表:品牌logo、名称、地址、关注数量
-
取消关注功能
-
关注列表展示
> **我的收藏**
-
收藏的商品:商品主图、名称、卖点、价格、找相似
-
收藏的专题:专题主图、标题、副标题、收藏数、浏览数、评论数
-
收藏的话题:话题主图、标题、副标题、收藏数、浏览数、评论数
> **我的足迹**
-
浏览过的商品:商品主图、名称、卖点、价格、找相似
-
删除记录功能
-
浏览列表展示
> **会员登录注册**
-
登录功能:https登录
-
注册功能:用户名、密码、手机号、手机验证码
-
获取验证码:后台生成验证码,验证码绑定手机号
-
忘记密码:手机号、短信验证码、新密码
-
登出功能
README-PROD.md
deleted
100644 → 0
View file @
b74ae2b5
# mall
## 前言
`mall`
项目致力于打造一个完整的电商系统,采用现阶段流行技术实现。
## 项目介绍
`mall`
项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现。
前台商城系统包含用户中心、会员成长、优惠券、积分、运营推广、内容推荐、商品展示、订单流程、订单管理、售后及服务等模块。
后台管理系统包含商品、订单、用户、促销、运营、内容、统计、财务、设置、权限等管理系统模块。
### 项目演示
> 后台管理系统
-
前端项目
`mall-admin-web`
地址:https://github.com/macrozheng/mall-admin-web
-
[
后台管理系统功能演示.gif
](
document/resource/mall-admin.gif
)
### 组织结构
```
lua
mall
├──
mall
-
mbg
-- MyBatisGenerator生成的数据库操作代码
├──
mall
-
admin
-- 后台商城管理系统
├──
mall
-
search
-- 基于Elasticsearch的商品搜索系统
├──
mall
-
portal
-- 前台商城系统
└──
mall
-
demo
-- 框架搭建时的测试代码
```
### 技术选型
#### 后端技术
技术 | 说明 | 官网
----|----|----
Spring Boot | 容器+MVC框架 |
[
https://spring.io/projects/spring-boot
](
https://spring.io/projects/spring-boot
)
Spring Security | 认证和授权框架 |
[
https://spring.io/projects/spring-security
](
https://spring.io/projects/spring-security
)
MyBatis | ORM框架 |
[
http://www.mybatis.org/mybatis-3/zh/index.html
](
http://www.mybatis.org/mybatis-3/zh/index.html
)
MyBatisGenerator | 数据层代码生成 |
[
http://www.mybatis.org/generator/index.html
](
http://www.mybatis.org/generator/index.html
)
PageHelper | MyBatis物理分页插件 |
[
http://git.oschina.net/free/Mybatis_PageHelper
](
http://git.oschina.net/free/Mybatis_PageHelper
)
Swagger-UI | 文档生产工具 |
[
https://github.com/swagger-api/swagger-ui
](
https://github.com/swagger-api/swagger-ui
)
Hibernator-Validator | 验证框架 |
[
http://hibernate.org/validator/
](
http://hibernate.org/validator/
)
Elasticsearch | 搜索引擎 |
[
https://github.com/elastic/elasticsearch
](
https://github.com/elastic/elasticsearch
)
RabbitMq | 消息队列 |
[
https://www.rabbitmq.com/
](
https://www.rabbitmq.com/
)
Redis | 分布式缓存 |
[
https://redis.io/
](
https://redis.io/
)
MongoDb | NoSql数据库 |
[
https://www.mongodb.com/
](
https://www.mongodb.com/
)
Docker | 应用容器引擎 |
[
https://www.docker.com/
](
https://www.docker.com/
)
Druid | 数据库连接池 |
[
https://github.com/alibaba/druid
](
https://github.com/alibaba/druid
)
OSS | 对象存储 |
[
https://github.com/aliyun/aliyun-oss-java-sdk
](
https://github.com/aliyun/aliyun-oss-java-sdk
)
JWT | JTW登录支持 |
[
https://github.com/jwtk/jjwt
](
https://github.com/jwtk/jjwt
)
LogStash | 日志收集 |
[
https://github.com/logstash/logstash-logback-encoder
](
https://github.com/logstash/logstash-logback-encoder
)
Lombok | 简化对象封装工具 |
[
https://github.com/rzwitserloot/lombok
](
https://github.com/rzwitserloot/lombok
)
#### 前端技术
技术 | 说明 | 官网
----|----|----
Vue | 前端框架 |
[
https://vuejs.org/
](
https://vuejs.org/
)
Vue-router | 路由框架 |
[
https://router.vuejs.org/
](
https://router.vuejs.org/
)
Vuex | 全局状态管理框架 |
[
https://vuex.vuejs.org/
](
https://vuex.vuejs.org/
)
Element | 前端UI框架 |
[
https://element.eleme.io/
](
https://element.eleme.io/
)
Axios | 前端HTTP框架 |
[
https://github.com/axios/axios
](
https://github.com/axios/axios
)
v-charts | 基于Echarts的图表框架 |
[
https://v-charts.js.org/
](
https://v-charts.js.org/
)
Js-cookie | cookie管理工具 |
[
https://github.com/js-cookie/js-cookie
](
https://github.com/js-cookie/js-cookie
)
nprogress | 进度条控件 |
[
https://github.com/rstacruz/nprogress
](
https://github.com/rstacruz/nprogress
)
#### 架构图
#### 模块介绍
##### 后台管理系统 `mall-admin`
-
商品管理:
[
功能结构图-商品.jpg
](
document/resource/mind_product.jpg
)
-
订单管理:
[
功能结构图-订单.jpg
](
document/resource/mind_order.jpg
)
-
促销管理:
[
功能结构图-促销.jpg
](
document/resource/mind_sale.jpg
)
-
内容管理:
[
功能结构图-内容.jpg
](
document/resource/mind_content.jpg
)
-
用户管理:
[
功能结构图-用户.jpg
](
document/resource/mind_member.jpg
)
##### 前台商城系统 `mall-portal`
[
功能结构图-前台.jpg
](
document/resource/mind_portal.jpg
)
## 环境搭建
### 开发工具
工具 | 说明 | 官网
----|----|----
IDEA | 开发IDE | https://www.jetbrains.com/idea/download
RedisDesktop | redis客户端连接工具 | https://redisdesktop.com/download
Robomongo | mongo客户端连接工具 | https://robomongo.org/download
SwitchHosts| 本地host管理 | https://oldj.github.io/SwitchHosts/
X-shell | Linux远程连接工具 | http://www.netsarang.com/download/software.html
Navicat | 数据库连接工具 | http://www.formysql.com/xiazai.html
PowerDesigner | 数据库设计工具 | http://powerdesigner.de/
Axure | 原型设计工具 | https://www.axure.com/
MindMaster | 思维导图设计工具 | http://www.edrawsoft.cn/mindmaster
ScreenToGif | gif录制工具 | https://www.screentogif.com/
### 开发环境
工具 | 版本号 | 下载
----|----|----
JDK | 1.8 | https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Mysql | 5.7 | https://www.mysql.com/
Redis | 3.2 | https://redis.io/download
Elasticsearch | 2.4 | https://www.elastic.co/downloads
MongoDb | 3.2 | https://www.mongodb.com/download-center
RabbitMq | 5.25 | http://www.rabbitmq.com/download.html
nginx | 1.10 | http://nginx.org/en/download.html
### 搭建步骤
> 本地环境搭建
-
本地安装开发环境中的所有工具并启动,采用默认配置即可;
-
克隆源代码到本地,使用IDEA打开,并完成编译;
-
在mysql中新建mall数据库,导入document/sql下的mall.sql文件;
-
启动mall-admin项目:直接运行com.macro.mall.MallAdminApplication即可,
接口文档地址:http://localhost:8080/swagger-ui.html;
-
启动mall-search项目:直接运行com.macro.mall.search.MallSearchApplication即可,
接口文档地址:http://localhost:8081/swagger-ui.html;
-
启动mall-portal项目:直接运行com.macro.mall.portal.MallPortalApplication即可,
接口文档地址:http://localhost:8085/swagger-ui.html;
-
克隆
`mall-admin-web`
项目,并导入到IDEA中并完成编译,
[
mall-admin-web
](
https://github.com/macrozheng/mall-admin-web
)
;
-
运行命令:npm run dev,访问地址:
[
http://localhost:8090
](
http://localhost:8090
)
即可打开后台管理系统页面;
-
ELK日志收集系统的搭建:参考
[
elk.md
](
document/elk/elk.md
)
。
> docker环境部署
-
安装CenterOs7.2在VirtualBox虚拟机中;
-
配置本地host:参考
[
host.txt
](
document/docker/host.txt
)
,将ip地址改为虚拟机的ip地址;
-
使用maven构建
`mall-admin`
、
`mall-search`
、
`mall-portal`
的docker镜像,参考
[
docker.md
](
document/docker/docker.md
)
中的使用maven构建Docker镜像;
-
参考
[
docker-deploy.md
](
document/docker/docker-deploy.md
)
进行部署。
\ No newline at end of file
README.md
View file @
b4ec1256
# mall
# mall
## 技术选型
## 前言
### 后端技术
`mall`
项目致力于打造一个完整的电商系统,采用现阶段流行技术实现。
技术 | 名称
## 项目介绍
----|----
Spring Boot | 容器+MVC框架
`mall`
项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现。
Spring Security | 认证和授权框架
前台商城系统包含用户中心、会员成长、优惠券、积分、运营推广、内容推荐、商品展示、订单流程、订单管理、售后及服务等模块。
MyBatis | ORM框架
后台管理系统包含商品、订单、用户、促销、运营、内容、统计、财务、设置、权限等管理系统模块。
MyBatisGenerator | 数据层代码生成
PageHelper | MyBatis物理分页插件
### 项目演示
Swagger-UI | 文档生产工具
Hibernator-Validator | 验证框架
> 后台管理系统
Elasticsearch | 搜索引擎
RabbitMq | 消息队列
-
前端项目
`mall-admin-web`
地址:https://github.com/macrozheng/mall-admin-web
Redis | 分布式缓存
-
[
后台管理系统功能演示.gif
](
document/resource/mall-admin.gif
)
MongoDb | NoSql数据库
Docker | 应用容器引擎
### 组织结构
Druid | 数据库连接池
```
lua
### 前端技术
mall
├──
mall
-
mbg
-- MyBatisGenerator生成的数据库操作代码
技术 | 名称
├──
mall
-
admin
-- 后台商城管理系统
----|----
├──
mall
-
search
-- 基于Elasticsearch的商品搜索系统
Vue | 前端框架
├──
mall
-
portal
-- 前台商城系统
Vue-router | 路由框架
└──
mall
-
demo
-- 框架搭建时的测试代码
Vuex | 全局状态管理框架
```
Element | 前端UI框架
Axios | 前端HTTP框架
### 技术选型
Js-cookie | cookie管理工具
#### 后端技术
### 框架搭建
技术 | 说明 | 官网
功能 | 完成
----|----|----
----|----
Spring Boot | 容器+MVC框架 |
[
https://spring.io/projects/spring-boot
](
https://spring.io/projects/spring-boot
)
集成MyBatis | ✔
Spring Security | 认证和授权框架 |
[
https://spring.io/projects/spring-security
](
https://spring.io/projects/spring-security
)
集成MyBatisGenerator | ✔
MyBatis | ORM框架 |
[
http://www.mybatis.org/mybatis-3/zh/index.html
](
http://www.mybatis.org/mybatis-3/zh/index.html
)
集成SpringSecurity | ✔
MyBatisGenerator | 数据层代码生成 |
[
http://www.mybatis.org/generator/index.html
](
http://www.mybatis.org/generator/index.html
)
集成Swagger-UI | ✔
PageHelper | MyBatis物理分页插件 |
[
http://git.oschina.net/free/Mybatis_PageHelper
](
http://git.oschina.net/free/Mybatis_PageHelper
)
集成Hibernator-Validator | ✔
Swagger-UI | 文档生产工具 |
[
https://github.com/swagger-api/swagger-ui
](
https://github.com/swagger-api/swagger-ui
)
集成日志功能 | ✔
Hibernator-Validator | 验证框架 |
[
http://hibernate.org/validator/
](
http://hibernate.org/validator/
)
集成监控功能 | ✔
Elasticsearch | 搜索引擎 |
[
https://github.com/elastic/elasticsearch
](
https://github.com/elastic/elasticsearch
)
crud操作demo | ✔
RabbitMq | 消息队列 |
[
https://www.rabbitmq.com/
](
https://www.rabbitmq.com/
)
合理规划包结构 | ✔
Redis | 分布式缓存 |
[
https://redis.io/
](
https://redis.io/
)
SpringAOP通用日志处理 | ✔
MongoDb | NoSql数据库 |
[
https://www.mongodb.com/
](
https://www.mongodb.com/
)
SpringAOP通用验证失败结果返回 | ✔
Docker | 应用容器引擎 |
[
https://www.docker.com/
](
https://www.docker.com/
)
CommonResult对通用返回结果进行封装 | ✔
Druid | 数据库连接池 |
[
https://github.com/alibaba/druid
](
https://github.com/alibaba/druid
)
SpringSecurity登录改为Restful形式 | ✔
OSS | 对象存储 |
[
https://github.com/aliyun/aliyun-oss-java-sdk
](
https://github.com/aliyun/aliyun-oss-java-sdk
)
JWT登录、注册、获取token | ✔
JWT | JTW登录支持 |
[
https://github.com/jwtk/jjwt
](
https://github.com/jwtk/jjwt
)
JTA事务处理 | ✔
LogStash | 日志收集 |
[
https://github.com/logstash/logstash-logback-encoder
](
https://github.com/logstash/logstash-logback-encoder
)
集成单元测试 | ✔
Lombok | 简化对象封装工具 |
[
https://github.com/rzwitserloot/lombok
](
https://github.com/rzwitserloot/lombok
)
OSS上传功能 | ✔
Elasticsearch搜索功能 | ✔
#### 前端技术
HTTPS支持 | ✔
Redis数字型ID生成 | ✔
技术 | 说明 | 官网
SpringTask定时任务支持 | ✔
----|----|----
docker容器化部署 | ✔
Vue | 前端框架 |
[
https://vuejs.org/
](
https://vuejs.org/
)
配置区分生产和测试环境 | ✔
Vue-router | 路由框架 |
[
https://router.vuejs.org/
](
https://router.vuejs.org/
)
ELK日志收集功能 | ✔
Vuex | 全局状态管理框架 |
[
https://vuex.vuejs.org/
](
https://vuex.vuejs.org/
)
RabbitMq异步通信 | ✔
Element | 前端UI框架 |
[
https://element.eleme.io/
](
https://element.eleme.io/
)
RestTemplate服务间调用 | ✔
Axios | 前端HTTP框架 |
[
https://github.com/axios/axios
](
https://github.com/axios/axios
)
SpringSecurity权限管理功能 | ✔
v-charts | 基于Echarts的图表框架 |
[
https://v-charts.js.org/
](
https://v-charts.js.org/
)
集成SpringCloud |
Js-cookie | cookie管理工具 |
[
https://github.com/js-cookie/js-cookie
](
https://github.com/js-cookie/js-cookie
)
nprogress | 进度条控件 |
[
https://github.com/rstacruz/nprogress
](
https://github.com/rstacruz/nprogress
)
### 使用工具
#### 架构图
工具 | 下载地址
----|----
#### 模块介绍
开发工具idea | https://www.jetbrains.com/idea/download
redis客户端连接工具 | https://redisdesktop.com/download
##### 后台管理系统 `mall-admin`
mongo客户端连接工具 | https://robomongo.org/download
本地host管理 | https://oldj.github.io/SwitchHosts/
-
商品管理:
[
功能结构图-商品.jpg
](
document/resource/mind_product.jpg
)
Linux远程连接工具 | http://www.netsarang.com/download/software.html
-
订单管理:
[
功能结构图-订单.jpg
](
document/resource/mind_order.jpg
)
数据库连接工具 | http://www.formysql.com/xiazai.html
-
促销管理:
[
功能结构图-促销.jpg
](
document/resource/mind_sale.jpg
)
数据库设计工具 | http://powerdesigner.de/
-
内容管理:
[
功能结构图-内容.jpg
](
document/resource/mind_content.jpg
)
原型设计工具 | https://www.axure.com/
-
用户管理:
[
功能结构图-用户.jpg
](
document/resource/mind_member.jpg
)
思维导图设计工具 | http://www.edrawsoft.cn/mindmaster
gif录制工具 | https://www.screentogif.com/
##### 前台商城系统 `mall-portal`
### 后台功能
[
功能结构图-前台.jpg
](
document/resource/mind_portal.jpg
)
#### 后台登录功能 ✔
## 环境搭建
-
后台用户注册功能
### 开发工具
-
后台用户登录后获取token
-
刷新token功能
工具 | 说明 | 官网
----|----|----
#### 商品管理 ✔
IDEA | 开发IDE | https://www.jetbrains.com/idea/download
RedisDesktop | redis客户端连接工具 | https://redisdesktop.com/download
> **商品分类管理**
Robomongo | mongo客户端连接工具 | https://robomongo.org/download
SwitchHosts| 本地host管理 | https://oldj.github.io/SwitchHosts/
-
按父分类编号分页查看分类列表
X-shell | Linux远程连接工具 | http://www.netsarang.com/download/software.html
-
添加、编辑、删除分类
Navicat | 数据库连接工具 | http://www.formysql.com/xiazai.html
-
转移分类商品
PowerDesigner | 数据库设计工具 | http://powerdesigner.de/
Axure | 原型设计工具 | https://www.axure.com/
> **商品品牌管理**
MindMaster | 思维导图设计工具 | http://www.edrawsoft.cn/mindmaster
ScreenToGif | gif录制工具 | https://www.screentogif.com/
-
按品牌名称搜索分页查看品牌列表
-
添加、编辑、删除品牌
### 开发环境
-
查看当前品牌的所有产品
工具 | 版本号 | 下载
> **商品属性分类管理**
----|----|----
JDK | 1.8 | https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
-
添加商品属性分类(名称)
Mysql | 5.7 | https://www.mysql.com/
-
分页查询全部商品属性分类
Redis | 3.2 | https://redis.io/download
-
删除单个商品属性分类
Elasticsearch | 2.4 | https://www.elastic.co/downloads
-
修改单个属性分类名称
MongoDb | 3.2 | https://www.mongodb.com/download-center
-
查询单个属性分类信息
RabbitMq | 5.25 | http://www.rabbitmq.com/download.html
nginx | 1.10 | http://nginx.org/en/download.html
> **商品属性管理**
### 搭建步骤
-
根据分类查询属性列表或参数列表(分页,支持类型)
-
添加商品属性
> 本地环境搭建
-
查询单个商品属性
-
编辑商品属性
-
本地安装开发环境中的所有工具并启动,采用默认配置即可;
-
批量删除商品属性
-
克隆源代码到本地,使用IDEA打开,并完成编译;
-
分页查询全部商品属性
-
在mysql中新建mall数据库,导入document/sql下的mall.sql文件;
-
启动mall-admin项目:直接运行com.macro.mall.MallAdminApplication即可,
> **添加商品**
接口文档地址:http://localhost:8080/swagger-ui.html;
-
启动mall-search项目:直接运行com.macro.mall.search.MallSearchApplication即可,
-
选择商品分类:根据商品分类id查找分类
接口文档地址:http://localhost:8081/swagger-ui.html;
-
选择品牌:查询全部品牌
-
启动mall-portal项目:直接运行com.macro.mall.portal.MallPortalApplication即可,
-
选择运费模版:查询全部运费模版
接口文档地址:http://localhost:8085/swagger-ui.html;
-
设置会员价格:查询所有会员等级,传入List
<PmsMemberPrice>
-
克隆
`mall-admin-web`
项目,并导入到IDEA中并完成编译,
[
mall-admin-web
](
https://github.com/macrozheng/mall-admin-web
)
;
-
添加阶梯价格: 参数传入List
<PmsProductLadder>
-
运行命令:npm run dev,访问地址:
[
http://localhost:8090
](
http://localhost:8090
)
即可打开后台管理系统页面;
-
设置满减价格: 参数传入List
<PmsProductFullReduction>
-
ELK日志收集系统的搭建:参考
[
elk.md
](
document/elk/elk.md
)
。
-
选择商品属性类别:获取所有商品属性分类,根据商品属性分类的id获取规格和参数(type=0->规格;type=1->参数)
-
选择规格并生成库存信息:前端实现
> docker环境部署
-
添加sku库存信息:参数传入List
<PmsSkuStock>
-
设置属性图片:设置到pic和album_pics字段中去
-
安装CenterOs7.2在VirtualBox虚拟机中;
-
添加商品参数:参数传入List
<PmsProductAttributeValue>
-
配置本地host:参考
[
host.txt
](
document/docker/host.txt
)
,将ip地址改为虚拟机的ip地址;
-
添加自定义商品规格:参数传入List
<PmsProductAttributeValue>
-
使用maven构建
`mall-admin`
、
`mall-search`
、
`mall-portal`
的docker镜像,参考
[
docker.md
](
document/docker/docker.md
)
中的使用maven构建Docker镜像;
-
关联专题:参数传入List
<CmsSubjectProductRelation>
关系
-
参考
[
docker-deploy.md
](
document/docker/docker-deploy.md
)
进行部署。
-
关联优选:参数传入List
<CmsPrefrenceAreaProductRelation>
关系
\ No newline at end of file
> **修改商品**
-
根据商品id查询商品信息
-
查询商品基本信息:商品分类名称、品牌名称、运费模版名称
-
查询商品促销信息:商品的会员价格、阶梯价格、满减价格
-
查询商品属性信息:商品属性类别名称、sku库存信息、属性分类对应规格和参数值
-
查询商品关联信息:商品关联专题和关联优选
-
修改商品信息:商品属性分类及规格不可修改,只支持单个sku的修改、删除、新增;商品属性分类及规格可以修改:修改后同时显示原sku库存及属性分类
> **商品分页查询**
-
商品的状态:全部商品、已上架、未上架、待审核、未通过 (publishStatus verifyStatus)
-
商品名称(%name%)
-
商品货号(productSn)
-
商品分类id(productCategoryId)
-
商品品牌id(brandId)
-
批量操作:上下架、推荐、新品、转移分类、放入回收站、审核
-
查看记录:审核记录,操作日志
-
sku:根据产品及sku编号获取sku信息,批量修改sku信息
> **商品回收管理**
-
分页展示回收商品列表
-
回收商品还原功能
#### 促销管理
> **秒杀活动管理**
-
活动列表展示
-
活动上下线
-
设置活动商品
-
添加、编辑、删除活动
> **优惠券管理**
-
优惠券列表展示
-
添加、编辑、删除优惠券
-
查看优惠券领取记录
> **活动管理**
-
活动列表展示
-
添加、编辑、删除活动
-
活动上下线
-
发布到广告
> **首页推荐**
-
品牌推荐:列表展示、是否推荐、排序、删除、多选加入品牌
-
新鲜好物:商品列表展示、是否推荐、排序、删除、多选加入商品
-
人气推荐:商品列表展示、是否推荐、排序、删除、多选加入商品
-
专题精选:专题列表展示、是否推荐、排序、删除、多选加入专题
-
广告管理:广告列表展示、是否上线、排序、删除、添加编辑广告
#### 内容管理
> **专题管理**
-
专题列表:查看、删除、推荐专题
-
添加、编辑专题:选择专题分类、添加、删除关联商品
-
专题分类管理:控制显示、排序、编辑删除分类
> **优选主题**
-
优选列表:控制显示、排序、删除
-
添加、编辑优选:关联和删除商品
> **话题管理**
-
专题列表:查看、删除、热门话题
-
话题分类管理:控制显示、排序、编辑删除分类
> **帮助管理**
-
帮助列表:查看、删除、控制显示
-
添加、编辑帮助:选择帮助分类
-
帮助分类管理:控制显示、排序、编辑删除分类
#### 用户管理
> **用户管理**
-
用户列表:帐号启用、删除、群发短信
-
批量操作:群发短信、站内信、推送、设置标签、赠送优惠券
-
查看、编辑用户信息:用户详情(统计信息、收货地址、订单记录)、编辑资料、登录日志
-
购买力筛选:最近消费、消费次数、消费金额、订单均价、商品分类、会员等级、用户标签
-
用户标签管理:标签列表、添加、编辑、删除
-
会员等级设置:列表、添加、编辑、设置默认会员等级
> **成才值及积分**
-
成长值及积分查询:列表展示、积分明细、成长值明细、修改数值
-
任务奖励设置:新手任务、日常任务
-
更多规则设置:成长值规则、积分规则、积分消费设置
#### 订单管理
> **订单列表**
-
订单搜索:订单编号、收货人姓名/号码、订单状态、订单分类、订单来源、提交时间
-
订单操作:查看订单、关闭订单、订单发货、订单跟踪、删除订单
-
批量操作:批量发货、关闭订单、删除订单
> **查看订单**
-
订单状态:提交订单、支付订单、平台发货、确认收货、完成评价
-
订单详情操作:修改发票信息、修改收货人信息、修改商品信息、修改费用信息、发送站内信、关闭订单、备注订单、取消订单、订单跟踪、删除订单
-
订单基本信息:订单信息、优惠信息、用户信息
-
发票信息:类型、抬头、内容、收票人信息
-
收货人信息:收货人、手机号、邮政编码、收货地址
-
商品信息:包含商品基本信息
-
费用信息:合计及优惠信息
-
操作信息:订单状态改变记录
> **订单设置**
-
秒杀订单超时时间
-
正常订单超时时间
-
订单自动完成时间
-
自动结束交易时间
-
自动好评时间
> **退货申请处理**
-
退货申请搜索:服务单号、收货人姓名/号码、处理状态、申请时间、操作人员、处理时间
-
批量操作:删除
-
查看详情:退货商品、服务单信息、确认退货、拒绝退货、确认收货
> **退货原因设置**
-
原因列表:类型、排序、是否启用、添加时间
-
添加、编辑原因:同上
-
批量操作:删除
#### 权限管理 ✔
> **权限管理**
-
权限管理:添加权限、删除权限、修改权限、以树形结构返回权限
-
角色管理:添加角色、删除角色、更新角色、角色列表、获取相应角色权限、修改相应角色权限
-
成员管理:添加、编辑、删除成员、成员列表、为成员分配角色、获取成员角色、分配+-权限、获取权限列表
角色 | 菜单
----|----
管理员 | 所有菜单权限
运营 | 首页、用户、促销、运营、内容
财务 | 首页、统计、财务
美工 | 首页、商品
客服 | 首页、商品、订单
### 前台功能
#### 商品搜索 ✔
> **综合搜索功能**
-
搜索:根据商品标题、副标题、关键字进行搜索;
-
筛选:未选择分类时聚合搜索结果,选择出现次数最多的分类,选择分类以后可以根据选择分类的筛选字段进行筛选;
-
排序:按新品、销量、价格进行排序
-
搜索返回结果:商品ID、商品图片、名称、副标题、价格、商品销量、新品、商品的参数、品牌名称、分类名称
-
接口:从数据库中查询相关数据并导入es,插入(修改)数据接口,删除数据接口
-
品牌分类筛选:根据搜索结果聚合返回品牌、分类及属性
> **商品推荐功能**
-
推荐某商品的相关商品、根据该商品的品牌(10)、分类(6)、名称(8)、关键字(2)、副标题(2)
-
根据用户一周浏览记录推荐商品,根据用户搜索记录推荐商品
> **商品热搜功能**
-
根据用户搜索记录聚合生成热搜词
> **商品搜索联想功能**
-
根据用户搜索记录聚合生成热搜词
#### 购物流程 ✔
> **购物车**
-
添加商品到购物车
-
购物车商品列表(商品主图、商品名称、商品数量、商品规格)
-
修改购物车中商品数量
-
购物车中商品重选规格
-
购物车中商品删除功能
> **生成确认单**
-
生成确认单信息:收货信息、商品信息、价格信息、发票信息、支付方式
-
选择收货地址:默认收货地址
-
选择优惠券及积分抵扣:展示可用优惠券和不可以优惠券
-
计算商品价格:商品合计、运费、优惠券抵扣、积分抵扣、活动优惠
-
选择支付方式:在线支付及货到付款
-
计算应付金额:合计+运费-优惠券抵扣-积分抵扣-活动优惠
> **提交订单**
-
将确认单信息转化为订单
-
删除购物车中相关商品
-
添加订单到数据库并锁定库存
-
在线支付选择支付方式:支付宝、微信、银联、ApplePay
> **支付订单**
-
支付完成后修改订单状态为已支付、扣除库存
> **取消订单(未支付情况下)**
-
订单超时后自动取消订单,解除商品库存锁定,返还优惠券,积分
#### 会员模块(我的)✔
> **我的关注**
-
关注品牌列表:品牌logo、名称、地址、关注数量
-
取消关注功能
-
关注列表展示
> **我的收藏**
-
收藏的商品:商品主图、名称、卖点、价格、找相似
-
收藏的专题:专题主图、标题、副标题、收藏数、浏览数、评论数
-
收藏的话题:话题主图、标题、副标题、收藏数、浏览数、评论数
> **我的足迹**
-
浏览过的商品:商品主图、名称、卖点、价格、找相似
-
删除记录功能
-
浏览列表展示
> **会员登录注册**
-
登录功能:https登录
-
注册功能:用户名、密码、手机号、手机验证码
-
获取验证码:后台生成验证码,验证码绑定手机号
-
忘记密码:手机号、短信验证码、新密码
-
登出功能
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment