Files
mp-10550/src/api/shop/shopGoodsReview/model/index.ts

114 lines
2.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import type { PageParam } from '@/api/index';
/**
* 商品评价
*/
export interface ShopGoodsReview {
// 评价ID
reviewId?: number;
// 商品ID
goodsId?: number;
// 订单ID
orderId?: number;
// 用户ID
userId?: number;
// 用户昵称
nickname?: string;
// 用户头像
avatar?: string;
// 评价内容
content?: string;
// 评分 1-5星
rating?: number;
// 评价图片JSON数组格式
images?: string;
// 是否匿名评价
isAnonymous?: boolean;
// 商家回复
reply?: string;
// 商家回复时间
replyTime?: string;
// 评价状态 0待审核 1已通过 2已拒绝
status?: number;
// 是否置顶
isTop?: boolean;
// 点赞数
likeCount?: number;
// 创建时间
createTime?: string;
// 更新时间
updateTime?: string;
// 商品信息
goodsName?: string;
goodsImage?: string;
goodsPrice?: string;
// SKU信息
skuId?: number;
specInfo?: string;
}
/**
* 评价统计
*/
export interface ReviewStats {
// 总评价数
totalCount: number;
// 好评数
goodCount: number;
// 中评数
mediumCount: number;
// 差评数
badCount: number;
// 好评率
goodRate: number;
// 平均评分
avgRating: number;
// 各星级统计
ratingStats: {
[key: number]: number; // 星级 -> 数量
};
}
/**
* 评价查询参数
*/
export interface ShopGoodsReviewParam extends PageParam {
// 商品ID
goodsId?: number;
// 用户ID
userId?: number;
// 订单ID
orderId?: number;
// 评分筛选
rating?: number;
// 状态筛选
status?: number;
// 是否有图片
hasImages?: boolean;
// 排序方式 time:时间 rating:评分 like:点赞数
sortBy?: string;
// 排序方向 asc:升序 desc:降序
sortOrder?: string;
}
/**
* 提交评价请求
*/
export interface SubmitReviewRequest {
// 商品ID
goodsId: number;
// 订单ID
orderId: number;
// 评价内容
content: string;
// 评分
rating: number;
// 评价图片
images?: string[];
// 是否匿名
isAnonymous?: boolean;
// SKU信息
skuId?: number;
specInfo?: string;
}