一、系统目标 开发一个供应商评价系统,实现以下功能: 1.收集用户对供应商商品和服务的反馈 2.量化供应商表现,为采购决策提供依据 3.激励供应商提升服务质量 4.建立透明、公平的供应商管理体系 二、系统架构设计 1.整体架构 -前端层:用户评价入口、供应商查看评
一、系统目标
开发一个供应商评价系统,实现以下功能:
1. 收集用户对供应商商品和服务的反馈
2. 量化供应商表现,为采购决策提供依据
3. 激励供应商提升服务质量
4. 建立透明、公平的供应商管理体系
二、系统架构设计
1. 整体架构
- 前端层:用户评价入口、供应商查看评价界面
- 服务层:评价管理服务、数据分析服务、通知服务
- 数据层:评价数据库、供应商数据库、用户数据库
- 接口层:与美团买菜主系统、供应商系统对接
2. 数据库设计
评价表(supplier_evaluation)
```
- evaluation_id (主键)
- supplier_id (外键)
- user_id (外键)
- order_id (外键)
- overall_score (1-5分)
- item_quality_score (商品质量评分)
- delivery_score (配送评分)
- freshness_score (新鲜度评分)
- price_score (性价比评分)
- evaluation_content (文字评价)
- evaluation_time (评价时间)
- has_images (是否有图片)
- is_anonymous (是否匿名)
```
供应商表现汇总表(supplier_performance)
```
- supplier_id (主键)
- avg_score (平均评分)
- evaluation_count (评价数量)
- quality_avg (质量平均分)
- delivery_avg (配送平均分)
- freshness_avg (新鲜度平均分)
- price_avg (价格平均分)
- last_updated (最后更新时间)
```
三、核心功能实现
1. 评价收集流程
1. 用户下单完成:订单状态变为"已完成"后触发评价邀请
2. 评价入口:
- 订单详情页评价按钮
- 推送通知提醒
- 短信/APP消息提醒
3. 评价内容:
- 星级评分(1-5星)
- 分类评分(商品质量、配送服务、新鲜度、性价比)
- 文字评价(可选)
- 图片上传(可选)
4. 评价提交:
- 前端验证
- 后端存储
- 触发供应商通知
2. 评价处理逻辑
```python
def submit_evaluation(user_id, order_id, supplier_id, ratings, comments=None, images=None):
1. 验证评价有效性
if not is_valid_order(user_id, order_id):
raise Exception("无效订单")
if not is_recent_order(order_id):
raise Exception("只能评价近期订单")
2. 保存评价数据
evaluation = Evaluation(
supplier_id=supplier_id,
user_id=user_id,
order_id=order_id,
overall_score=ratings[overall],
quality_score=ratings[quality],
delivery_score=ratings[delivery],
freshness_score=ratings[freshness],
price_score=ratings[price],
comments=comments,
images=images,
create_time=datetime.now()
)
db.session.add(evaluation)
db.session.commit()
2. 更新供应商评分汇总
update_supplier_performance(supplier_id)
3. 通知供应商
notify_supplier(supplier_id, evaluation.id)
return True
```
3. 供应商表现计算
```python
def update_supplier_performance(supplier_id):
获取供应商所有评价
evaluations = Evaluation.query.filter_by(supplier_id=supplier_id).all()
if not evaluations:
return False
计算各项平均分
total = len(evaluations)
avg_overall = sum(e.overall_score for e in evaluations) / total
avg_quality = sum(e.quality_score for e in evaluations) / total
avg_delivery = sum(e.delivery_score for e in evaluations) / total
avg_freshness = sum(e.freshness_score for e in evaluations) / total
avg_price = sum(e.price_score for e in evaluations) / total
更新供应商表现表
SupplierPerformance.query.filter_by(supplier_id=supplier_id).update({
avg_score: avg_overall,
quality_avg: avg_quality,
delivery_avg: avg_delivery,
freshness_avg: avg_freshness,
price_avg: avg_price,
evaluation_count: total,
last_updated: datetime.now()
})
db.session.commit()
```
三、关键功能实现
1. 评价权重设计
根据业务需求,可为不同评价维度设置不同权重:
- 商品质量:35%
- 配送服务:25%
- 新鲜度:20%
- 价格合理性:15%
- 包装完整性:5%
2. 供应商分级机制
根据综合评分将供应商分为:
- A级(4.5-5分):优先合作
- B级(4-4.49分):正常合作
- C级(3.5-3.99分):观察改进
- D级(<3.5分):限制合作或淘汰
3. 评价审核机制
- 自动过滤敏感词和广告内容
- 人工审核可疑评价(如短时间内大量相似评价)
- 图片内容识别(AI审核)
三、技术实现要点
1. 前端实现
```javascript
// 评价页面示例
function renderEvaluationForm(supplierId, orderId) {
return `
评论