一、功能概述
本地供应商评价功能是小象买菜系统中连接消费者与本地供应商的重要桥梁,通过收集和分析用户反馈,帮助平台优化供应商管理,提升商品质量和服务水平。
二、核心功能模块
1. 评价入口设计
- 订单完成后自动触发:在用户确认收货后24小时内推送评价提醒
- 多维度评价入口:
- 商品详情页评价标签
- 个人中心-我的订单-评价入口
- 供应商主页评价专区
2. 评价体系设计
- 评分维度:
- 商品质量(5分制)
- 配送时效(5分制)
- 包装完整性(5分制)
- 新鲜度(针对生鲜类)(5分制)
- 性价比(5分制)
- 评价内容:
- 文字评价(200字以内)
- 图片上传(最多3张)
- 标签选择(如"新鲜"、"包装完好"、"配送快"等)
3. 评价展示与筛选
- 供应商主页展示:
- 综合评分(各维度加权平均)
- 评价数量统计
- 最新3条评价摘要
- 好评率(4-5星评价占比)
- 筛选功能:
- 按时间筛选(最近1周/1月/全部)
- 按评分筛选(1-5星)
- 带图评价优先展示
4. 评价审核与管理
- 自动过滤机制:
- 敏感词检测
- 广告内容识别
- 重复评价检测
- 人工审核后台:
- 待审核评价列表
- 审核通过/拒绝操作
- 违规评价标记与处理
5. 供应商反馈系统
- 供应商回复功能:
- 对评价进行公开回复
- 私信联系用户解决投诉
- 申诉不合理评价的渠道
- 评价数据看板:
- 评分趋势分析
- 负面评价关键词云
- 改进建议汇总
三、技术实现方案
1. 数据库设计
```sql
CREATE TABLE supplier_ratings (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id BIGINT NOT NULL,
supplier_id BIGINT NOT NULL,
order_id BIGINT NOT NULL,
quality_score TINYINT CHECK (quality_score BETWEEN 1 AND 5),
delivery_score TINYINT CHECK (delivery_score BETWEEN 1 AND 5),
packaging_score TINYINT CHECK (packaging_score BETWEEN 1 AND 5),
freshness_score TINYINT CHECK (freshness_score BETWEEN 1 AND 5), -- 生鲜类专用
price_score TINYINT CHECK (price_score BETWEEN 1 AND 5),
content TEXT,
images VARCHAR(500), -- 存储图片URL,逗号分隔
tags VARCHAR(200), -- 标签ID,逗号分隔
is_anonymous BOOLEAN DEFAULT FALSE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
status TINYINT DEFAULT 0 -- 0待审核,1已发布,2已删除
);
CREATE TABLE supplier_rating_tags (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
type TINYINT NOT NULL -- 1正面,2负面
);
```
2. 核心接口设计
```java
// 提交评价接口
@PostMapping("/api/ratings")
public ResponseEntity<?> submitRating(
@RequestBody RatingSubmitRequest request,
@AuthenticationPrincipal UserDetails userDetails) {
// 参数校验
// 订单状态验证
// 防重复提交验证
// 保存评价数据
// 触发审核流程
// 返回结果
}
// 获取供应商评价列表
@GetMapping("/api/suppliers/{id}/ratings")
public ResponseEntity
> getSupplierRatings(
@PathVariable Long id,
@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "10") Integer size,
@RequestParam(required = false) String sortBy) {
// 查询评价数据
// 分页处理
// 返回结果
}
```
3. 评分计算算法
```python
def calculate_supplier_score(supplier_id):
获取最近90天内的有效评价
ratings = Rating.objects.filter(
supplier_id=supplier_id,
created_at__gte=datetime.now()-timedelta(days=90),
status=1 已发布
)
if not ratings:
return 0
加权计算(可根据业务调整权重)
total = 0
count = 0
for rating in ratings:
生鲜类供应商包含新鲜度评分
if rating.freshness_score is not None:
weighted_score = (
rating.quality_score * 0.3 +
rating.delivery_score * 0.2 +
rating.packaging_score * 0.15 +
rating.freshness_score * 0.25 +
rating.price_score * 0.1
)
else: 非生鲜类
weighted_score = (
rating.quality_score * 0.4 +
rating.delivery_score * 0.3 +
rating.packaging_score * 0.15 +
rating.price_score * 0.15
)
total += weighted_score
count += 1
return round(total / count, 1)
```
四、运营策略建议
1. 评价激励措施:
- 首次评价赠送积分
- 优质评价额外奖励
- 评价排行榜活动
2. 供应商管理:
- 设定评分阈值(如4.2分以下进入观察期)
- 定期向供应商发送改进报告
- 建立供应商培训机制
3. 用户教育:
- 评价引导教程
- 评价价值说明(如何帮助其他用户)
- 负面评价处理流程公示
五、安全与合规考虑
1. 隐私保护:
- 匿名评价选项
- 用户信息脱敏显示
- 评价内容审核防止泄露隐私
2. 反作弊机制:
- IP地址限制
- 设备指纹识别
- 异常评价模式检测
3. 合规要求:
- 遵守《电子商务法》关于评价的规定
- 保留评价原始记录至少3年
- 建立评价申诉处理流程
六、实施路线图
1. 第一阶段(1个月):
- 完成评价体系设计
- 开发评价提交与展示功能
- 搭建基础审核流程
2. 第二阶段(2周):
- 实现供应商反馈系统
- 开发数据看板
- 优化移动端体验
3. 第三阶段(持续):
- 迭代评分算法
- 完善反作弊机制
- 根据用户反馈优化功能
通过以上方案,小象买菜系统可以建立一个科学、公正、透明的本地供应商评价体系,既能帮助消费者做出更明智的购买决策,也能促进供应商不断提升服务质量,形成良性循环的生鲜电商生态。