114 lines
2.1 KiB
TypeScript
114 lines
2.1 KiB
TypeScript
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;
|
||
}
|