商品评论架构
需求概述
- 评论分为两种:初次评论和追加评论
- 只有在订单确认收货后,才可以对订单商品进行评论操作
- 初评和追评都需要平台进行审核操作,审核通过后,评论才会被展示在商品详情页面
类图
会员评论类图
平台审核类图
商家回复类图
订单评论状态变更类图
数据库结构
会员评论表(es_member_comment)
字段名 | 类型与长度 | 备注 |
---|---|---|
comment_id | bigint(20) | 主键ID |
goods_id | bigint(20) | 商品ID |
sku_id | bigint(20) | 商品skuID |
member_id | bigint(20) | 会员ID |
member_name | varchar(50) | 会员名称 |
member_face | varchar(255) | 会员头像 |
seller_id | bigint(20) | 商家ID |
goods_name | varchar(255) | 商品名称 |
goods_img | varchar(255) | 商品图片 |
content | longtext | 评论内容 |
create_time | bigint(20) | 评论时间 |
have_image | int(1) | 评论是否有图片 0:否,1:是 |
status | int(1) | 状态 0:删除,1:正常 |
grade | varchar(50) | 好中差评 good:好评,neutral:中评,bad:差评 |
order_sn | varchar(50) | 订单编号 |
reply_status | int(1) | 是否回复 0:否,1:是 |
audit_status | varchar(50) | 初评审核状态 WAIT_AUDIT:待审核,PASS_AUDIT:审核通过,REFUSE_AUDIT:审核拒绝 |
comments_type | varcharr(50) | 评论类型,INITIAL:初评,ADDITIONAL:追评 |
parent_id | bigint(20) | 初次评论ID(如果comments_type=INITIAL,此值为0) |
说明
1.初评审核拒绝,不能进行追评操作,无法再次评论或修改评论
2.初评审核通过,且没有追评的评论可以进行追评操作,商家可对评论进行回复
3.追评审核拒绝,无法再次追评;
4.追评审核通过,商家可进行回复
5.在两个环节中,任何一次审核拒绝,都需要将订单项中评论状态修改为评论完成,即表示审核通过,无法进行追评操作;
6.两次审核都通过,在追评审核通过后,需要将订单项中评论状态修改为评论完成,
7.parent_id默认为0,当comments_type=ADDITIONAL时,parent_id为追评所属初评id
评论回复表(es_comment_reply)
字段名 | 类型与长度 | 备注 |
---|---|---|
reply_id | bigint(20) | 主键ID |
comment_id | bigint(20) | 评论ID |
content | longtext | 回复内容 |
create_time | bigint(20) | 回复时间 |
role | varchar(50) | 回复人类型 SELLER:商家,BUYER:买家 |
path | varchar(255) | 回复ID路径,例如:0|10| |
reply_type | varchar(50) | 回复类型 INITIAL:初评,ADDITIONAL:追评 |
评论图片表(es_comment_gallery)
字段名 | 类型与长度 | 备注 |
---|---|---|
img_id | bigint(20) | 主键ID |
comment_id | bigint(20) | 评论ID |
original | varchar(255) | 评论图片 |
sort | int(10) | 排序值 |
订单商品表(es_order_items)
订单商品表新增评论状态字段,用来判断订单商品是否已经被用户评论
字段名 | 类型与长度 | 备注 |
---|---|---|
comment_status | varchar(255) | 评论状态 UNFINISHED:未评论,WAIT_CHASE:待追评,FINISHED:评论完成 |
评论状态说明:
未评论:在订单确认收货的情况下,未评论的订单用户可进行评论,此状态下用户可评论;
待追评:已经评论但是没有追评,此状态下用户可追评;
评论完成:表示初评且追评完成,此状态下用户不可进行任何评论