diff --git a/CHANGELOG.md b/CHANGELOG.md index b91c118b5..01dcd70da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,35 @@ # 更新日志 +## V 1.7.0 + +*2020-02-15* 支持docker部署、售后管理、通知管理、数据库七天备份。 + +#### Bug 修复 + + * `小商城`后端接口部分存在水平越权漏洞 + * `小商城`验证码未超时仍会发送验证码 + * `小商城`显示管理员评论回复(#340 by sunyinggang) + * `管理后台`管理员评论回复(#340 by sunyinggang) + * `轻商城`添加收货地址返回不正确(#320 by kevinleeex) + +#### 优化 + + * `管理后台`专题支持排序、批量删除 + * `基础系统`数据库四个表索引(#328 #330 #332 #334 by wtune) + +#### 新特性 + + * `基础系统`支持docker部署(参考实现 #321 by yuana1) + * `基础系统`自动备份7天数据到backup文件夹 + * `管理后台`通知中心和通知管理 + * `管理后台`登录页面增加版权内容 + * `管理后台`售后管理 + * `小商城`订单售后列表、售后详情、申请售后 + * `轻商城`实现账号注册功能(#324 by yelongbao) + ## V 1.6.1 -*2019-01-01* +*2020-01-01* #### Bug 修复 diff --git a/README.md b/README.md index 6bfe610f9..884f2dac7 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ litemall = Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 * 商品详情、商品评价、商品分享 * 购物车 * 下单 -* 订单列表、订单详情 +* 订单列表、订单详情、订单售后 * 地址、收藏、足迹、意见反馈 * 客服 @@ -154,7 +154,7 @@ litemall = Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 ## 开发计划 -当前版本[v1.6.1](https://linlinjava.gitbook.io/litemall/changelog) +当前版本[v1.7.0](https://linlinjava.gitbook.io/litemall/changelog) 目前项目开发中,存在诸多不足,以下是目前规划的开发计划。 diff --git a/doc/admin.md b/doc/admin.md index 45fe8af5d..04efe1b0e 100644 --- a/doc/admin.md +++ b/doc/admin.md @@ -8,7 +8,7 @@ * vue-router * axios * element - * vue-element-admin 3.9.3 + * vue-element-admin 4.2.1 * 其他,见package.json * 管理后台后端, 即litemall-admin-api模块 * Spring Boot 2.x @@ -21,8 +21,6 @@ * `改善`管理员登录页面打开慢,优化速度 * `改善`地址优化,目前每一次点击都会请求后台,应该缓存已有的数据 * `改善`vue和vue-element-admin等及时更新 -* `功能`系统数据字典功能 -* `功能`支持数据库备份 ## 4.1 litemall-admin-api diff --git a/doc/api.md b/doc/api.md index d4e7d47b2..35199cae2 100644 --- a/doc/api.md +++ b/doc/api.md @@ -2,8 +2,6 @@ 本项目前后端接口规范和接口文档。 -本项目没有采用Swagger技术,开发者可以自行集成。 - 注意: > 1. 以下API部分基于nideshop开源项目的API设计; > 2. 以下API是参考API,可能不是很合理,欢迎开发者交流。 @@ -417,9 +415,9 @@ API应该存在版本控制,以保证兼容性。 * 团购API完善 -### 1.11 NO Swagger +### 1.11 Not Like Swagger -暂不支持Swagger,基于以下考虑: +本项目不是很接受Swagger,基于以下考虑: * 前后端中立 @@ -440,7 +438,11 @@ API应该存在版本控制,以保证兼容性。 如果使用Swagger,为了得到完整的文档,需要在每一个方法前面加上多个文档注解,文档越是详尽,则注解越多, 造成代码不是很简洁。特别是具备代码属性的注解和Swagger文档注解混杂在一起,可能不是很好。 -如果开发者需要Swagger,可以自行接入。 +当然,本项目也简单地配置了Swagger(见`WxSwagger2Configuration`和`AdminSwagger2Configuration`), +在线Swagger文档链接:http://122.51.199.160:8080/swagger-ui.html + +当然正如上文讨论,本项目不是很接受Swagger的理念,所以后端没有使用Swagger的相关文档注解, +这也导致了Swagger接口文档的不具可读性。如果开发者需要,可以自行在后端补充Swagger注解。 ## 2 商城API服务 diff --git a/doc/platform.md b/doc/platform.md index c699643ab..60546681b 100644 --- a/doc/platform.md +++ b/doc/platform.md @@ -363,15 +363,48 @@ litemall_region表保存了行政区域信息,包括省级、市级、县级 * 401 - 用户可以`删除`、`去评价`、`再次购买` + 用户可以`删除`、`去评价`、`申请售后`、`再次购买` * 402 - 用户可以`删除`、`去评价`、`再次购买` + 用户可以`删除`、`去评价`、`申请售后`、`再次购买` -#### 2.1.4.3 售后处理 +#### 2.1.4.3 申请售后 -目前不支持退货售后相关业务。 +当用户确认收货或者系统自动确认收货以后,订单可以申请售后。 +目前仅支持订单整体售后,而不支持订单商品独立售后。 +这是因为:订单存在商品售价、优惠券减免、团购减免以及物流运费属性, +如果要支持单个商品退款,那么存在一个需要解决的问题就是单个商品的 +退款金额如何计算。如果开发者这里考虑清楚,也可以参考当前代码实现 +订单商品独立售后 + +litemall_order表中存在`aftersale_status`字段,记录订单售后状态。 +而具体的售后记录则是litemall_aftersale表记录。 + +这里`type`字段表示当前售后类型,目前存在三种类型: + +* 如果type=0,即“未收货退款”,通常是系统超时自动确认收货,而实际上用户没有收货,因此可以选择这个; +* 如果type=1,即“无需退货退款”,通常是用户确认收货后申请售后,而管理员同意可以不需要退货,直接退款给用户; +* 如果type=2,即“退货退款”,通常是用户确认收货后申请售后,管理员同意用户退货,当管理员收到货以后再退款给用户。 + +需要注意的是:当前实现中,如果是“退货退款”类型,那么管理员在进行退款以后,系统会自动恢复货品数量。 +这是因为管理员完成“退货退款”售后,说明管理员已经收到用户的退货。 +开发者可以改变这里的实现逻辑,例如采用独立的退货入库流程。 + +`status`字段表示当前售后状态,分别是: + +* 如果status=0,未申请售后; +* 如果status=1,用户申请售后,等待管理员审核; +* 如果status=2,管理员审核通过,等待管理员退款; +* 如果status=3,管理员已退款,售后完成; +* 如果status=4,管理员审核不通过,售后完成; +* 如果status=5,用户已取消售后,当用户在申请售后以后可以在管理员审核前申请取消。 + +这里需要补充的是:订单litemall_order表的`aftersale_status`字段,和订单售后litemall_aftersale +表的`status`字段是完全一致的,方便前端分别查询订单状态和订单售后状态。 + +`amount`字段表示当前售后退款金额,正如前面所述当前仅支持订单整体售后,因此目前设计的退款金额是 +订单实际付款-订单运费。 #### 2.1.4.4 商品评价 @@ -386,11 +419,12 @@ litemall_region表保存了行政区域信息,包括省级、市级、县级 评论表litemall_comment保存评论相关的信息,其中最关键的是`type`字段和`value_id`字段。 -这里`type`字段表示当前评论类型,目前存在三种类型: +这里`type`字段表示当前评论类型,目前存在两种类型: * 如果type=0,则当前评论是订单商品评论,value_id是订单商品ID; * 如果type=1,则当前评论是专题评论,value_id是专题ID; -* 如果type=2,则当前评论是订单商品评论的回复,value_id是订单商品的评论ID。 + +`admin_content`字段则拥有记录管理后台管理员对用户评论的回复。 ### 2.1.6 团购设计 diff --git a/doc/project.md b/doc/project.md index 4ae1d64bf..0aea0e20c 100644 --- a/doc/project.md +++ b/doc/project.md @@ -87,7 +87,7 @@ litemall是一个简单的商场系统,基于现有的开源项目,重新实 * 购物车 * 下单 * 个人 -* 订单列表、订单详情 +* 订单列表、订单详情、订单售后 * 地址列表、地址添加、地址删除 * 收藏、足迹、关于 @@ -142,6 +142,7 @@ litemall是一个简单的商场系统,基于现有的开源项目,重新实 * 团购活动 * 系统管理 * 管理员 + * 通知管理 * 对象存储 * 权限管理 * 定时任务(待定) @@ -155,6 +156,9 @@ litemall是一个简单的商场系统,基于现有的开源项目,重新实 * 用户统计 * 订单统计 * 商品统计 +* 个人 + * 通知中心 + * 密码修改 ## 1.3 项目技术 @@ -303,11 +307,11 @@ Spring Boot技术栈参考以下文档或者项目: 如果开发者运行litemall_schema.sql失败,可以打开该文件: ``` drop database if exists litemall; -drop user if exists 'litemall'@'localhost'; +drop user if exists 'litemall'@'%'; create database litemall default character set utf8mb4 collate utf8mb4_unicode_ci; use litemall; -create user 'litemall'@'localhost' identified by 'litemall123456'; -grant all privileges on litemall.* to 'litemall'@'localhost'; +create user 'litemall'@'%' identified by 'litemall123456'; +grant all privileges on litemall.* to 'litemall'@'%'; flush privilege ``` 可以看到几个命令,用于创建数据库、用户和访问权限,因此开发者可以利用 @@ -315,7 +319,7 @@ flush privilege ### 1.4.2 Spring Boot开发环境 -1. 安装JDK8 +1. 安装JDK8(可以是Oracle JDK或者OpenJDK) 2. 安装Maven 3. 安装Git(可选) 4. 安装IDEA Community,建议安装Maven插件和Git插件。 @@ -955,7 +959,7 @@ sudo mysql_secure_installation > 这里很可能是开发者litemall-admin模块的`config/dep.env.js`或者`condig/prod.env.js` > 没有设置正确的管理后台后端地址,例如这里的`http://xxx.xxx.xxx.xxx:8080/admin` -#### 1.5.1.6 项目辅助脚本 +#### 1.5.1.6 deploy部署脚本 在前面的项目打包和项目部署中都是采用手动命令来部署。 这里可以写一些脚本简化: @@ -992,6 +996,10 @@ cd litemall 不过由于需要设置的信息会包含敏感安全信息,强烈建议开发者参考这里的deploy文件夹, 然后实现自己的deploy文件夹,妥善处置外部配置文件和脚本中的敏感安全信息!!! +#### 1.5.1.7 docker部署脚本 + +本项目也简单实现了docker部署方案,具体可以看docker文件夹。 + ### 1.5.2 单机多服务部署方案 diff --git a/doc/wxmall.md b/doc/wxmall.md index 078aa4422..dddde2149 100644 --- a/doc/wxmall.md +++ b/doc/wxmall.md @@ -12,7 +12,6 @@ 目前发现存在的一些问题: -* `缺失`商品评价中管理员回复功能,进一步地用户之间相互评价回复 * `缺失`后台服务返回的token存在有效期,小商场应该自动刷新 * `缺失`账号多次登录失败,应该小商城出现图片验证码限制,或者后台账号锁定 * `改善`商品搜索中采用更好的搜索机制 @@ -24,8 +23,6 @@ * `改善`商品好评计算与显示,例如90%好评 * `改善`商品的评论列表中显示评价的评论分数、商品规格 * `改善`商品的评论列表中的图片点击可放大,同时用户评价的多个图片可以选择左右滑动查看。 -* `改善`当一些页面查询数据没有更新时,底部显示相应的提醒,例如“没有更多数据”。 -* `改善`个人页面中实现订单部件,显示用户订单数量,同时点击以后跳转到订单的相应页面。 * `改善`商品的订单中支持订单号搜索功能 * `改善`在一些内容比较多的页面中支持“顶部”功能