/**
 * 商品评价模型
 */

// 评价维度
export interface EvaluationDimension {
  name: string      // 维度名称（如：质量、服务、物流）
  score: number     // 维度评分（1-5）
}

// 评价数据
export interface ShopEvaluation {
  id: number
  goodsId: number           // 商品ID
  goodsName: string        // 商品名称
  goodsImage: string       // 商品图片
  orderId: number         // 订单ID
  userId: number          // 用户ID
  userName: string        // 用户名（脱敏）
  userAvatar?: string     // 用户头像
  score: number          // 总评分（1-5）
  dimensions?: EvaluationDimension[]  // 评价维度
  content: string        // 评价内容
  images: string[]       // 评价图片
  isAnonymous: boolean   // 是否匿名
  likes: number         // 点赞数
  isLiked: boolean      // 当前用户是否点赞
  reply?: string        // 商家回复
  replyTime?: string    // 回复时间
  createTime: string    // 评价时间
  updateTime?: string   // 更新时间
}

// 评价查询参数
export interface ShopEvaluationParam {
  page?: number
  limit?: number
  goodsId?: number      // 按商品查询
  userId?: number       // 按用户查询
  orderId?: number      // 按订单查询
  minScore?: number     // 最低评分
  maxScore?: number     // 最高评分
  hasImages?: boolean   // 是否有图
  isLiked?: boolean    // 是否点赞过
  sortBy?: string      // 排序方式（newest, mostLiked）
  keywords?: string    // 关键词搜索
}

// 创建评价参数
export interface CreateEvaluationParams {
  orderId: number
  goodsId: number
  score: number
  dimensions?: EvaluationDimension[]
  content: string
  images?: string[]
  isAnonymous: boolean
}

// 点赞/取消点赞参数
export interface LikeEvaluationParams {
  evaluationId: number
  isLiked: boolean
}

// 评价统计
export interface EvaluationStats {
  total: number        // 总评价数
  averageScore: number // 平均评分
  scoreDistribution: {  // 评分分布
    [key: number]: number
  }
  imageCount: number   // 有图评价数
  positiveCount: number // 好评数（4-5星）
  neutralCount: number  // 中评数（3星）
  negativeCount: number // 差评数（1-2星）
}
