소스 검색

说明文件替换

zhh 6 년 전
부모
커밋
b4ec1256d7
3개의 변경된 파일508개의 추가작업 그리고 508개의 파일을 삭제
  1. 375 0
      README-DEV.md
  2. 0 135
      README-PROD.md
  3. 133 373
      README.md

+ 375 - 0
README-DEV.md

@@ -0,0 +1,375 @@
+# 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登录
+- 注册功能:用户名、密码、手机号、手机验证码
+- 获取验证码:后台生成验证码,验证码绑定手机号
+- 忘记密码:手机号、短信验证码、新密码
+- 登出功能

+ 0 - 135
README-PROD.md

@@ -1,135 +0,0 @@
-# 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)进行部署。

+ 133 - 373
README.md

@@ -1,375 +1,135 @@
 # 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登录
-- 注册功能:用户名、密码、手机号、手机验证码
-- 获取验证码:后台生成验证码,验证码绑定手机号
-- 忘记密码:手机号、短信验证码、新密码
-- 登出功能
+## 前言
+
+`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)进行部署。