78 lines
4.3 KiB
Go
78 lines
4.3 KiB
Go
package dto
|
|
|
|
// GoodsListRequest 商品列表请求。
|
|
type GoodsListRequest struct {
|
|
PageRequest
|
|
GoodsType int8 `form:"goods_type" binding:"omitempty,oneof=1 2 3 4 5"`
|
|
Status int8 `form:"status" binding:"omitempty,oneof=1 2"` // 1=上架 2=下架;不传=全部
|
|
Keyword string `form:"keyword"`
|
|
}
|
|
|
|
// GoodsItem 商品信息。
|
|
type GoodsItem struct {
|
|
ID int64 `json:"id"`
|
|
GoodsCode string `json:"goods_code"`
|
|
GoodsName string `json:"goods_name"`
|
|
GoodsType int8 `json:"goods_type"` // 1=会员包 2=上传包 3=AI 推荐包 4=衣柜分享包 5=搭配分享包
|
|
Price int64 `json:"price"` // 原价(分)
|
|
DiscountPrice int64 `json:"discount_price"`
|
|
MemberDays int64 `json:"member_days"`
|
|
UploadQuota int64 `json:"upload_quota"` // 上传额度(对应业务表 cos_quota)
|
|
AIRecommendQuota int64 `json:"ai_recommend_quota"` // AI 推荐额度
|
|
ClosetShareQuota int64 `json:"closet_share_quota"` // 衣柜分享额度
|
|
OutfitShareQuota int64 `json:"outfit_share_quota"` // 搭配分享额度
|
|
ValidDays int64 `json:"valid_days"` // 赠送额度有效期天数(加量包;会员包 0=跟随 VIP)
|
|
Description string `json:"description"`
|
|
Status int8 `json:"status"` // 1=上架 2=下架
|
|
ProductID string `json:"product_id"` // 虚拟支付道具ID(只读,空=未发布)
|
|
ProductStatus int8 `json:"product_status"` // 虚拟支付道具发布状态 0=未发布 1=发布中 2=已发布 3=发布失败(只读)
|
|
CreatedAt int64 `json:"created_at"`
|
|
UpdatedAt int64 `json:"updated_at"`
|
|
}
|
|
|
|
// GoodsListResponse 商品列表响应。
|
|
type GoodsListResponse struct {
|
|
PageResponse
|
|
List []GoodsItem `json:"list"`
|
|
}
|
|
|
|
// GoodsCreateRequest 创建商品请求。
|
|
type GoodsCreateRequest struct {
|
|
GoodsCode string `json:"goods_code" binding:"required,max=64"`
|
|
GoodsName string `json:"goods_name" binding:"required,max=64"`
|
|
GoodsType int8 `json:"goods_type" binding:"required,oneof=1 2 3 4 5"`
|
|
Price int64 `json:"price" binding:"required,min=0,max=100000000"`
|
|
DiscountPrice int64 `json:"discount_price" binding:"required,min=0,max=100000000"`
|
|
MemberDays int64 `json:"member_days" binding:"omitempty,min=0"`
|
|
UploadQuota int64 `json:"upload_quota" binding:"omitempty,min=0"`
|
|
AIRecommendQuota int64 `json:"ai_recommend_quota" binding:"omitempty,min=0"`
|
|
ClosetShareQuota int64 `json:"closet_share_quota" binding:"omitempty,min=0"`
|
|
OutfitShareQuota int64 `json:"outfit_share_quota" binding:"omitempty,min=0"`
|
|
ValidDays int64 `json:"valid_days" binding:"omitempty,min=0,max=3650"`
|
|
Description string `json:"description" binding:"omitempty,max=500"`
|
|
Status int8 `json:"status" binding:"omitempty,oneof=1 2"`
|
|
ProductID string `json:"product_id" binding:"omitempty,max=64"` // 虚拟支付道具ID
|
|
ProductStatus int8 `json:"product_status" binding:"omitempty,oneof=0 2"` // 虚拟支付道具发布状态 0=未发布 2=已发布
|
|
}
|
|
|
|
// GoodsUpdateRequest 更新商品请求(传什么改什么)。
|
|
type GoodsUpdateRequest struct {
|
|
GoodsName *string `json:"goods_name" binding:"omitempty,max=64"`
|
|
Price *int64 `json:"price" binding:"omitempty,min=0,max=100000000"`
|
|
DiscountPrice *int64 `json:"discount_price" binding:"omitempty,min=0,max=100000000"`
|
|
MemberDays *int64 `json:"member_days" binding:"omitempty,min=0"`
|
|
UploadQuota *int64 `json:"upload_quota" binding:"omitempty,min=0"`
|
|
AIRecommendQuota *int64 `json:"ai_recommend_quota" binding:"omitempty,min=0"`
|
|
ClosetShareQuota *int64 `json:"closet_share_quota" binding:"omitempty,min=0"`
|
|
OutfitShareQuota *int64 `json:"outfit_share_quota" binding:"omitempty,min=0"`
|
|
ValidDays *int64 `json:"valid_days" binding:"omitempty,min=0,max=3650"`
|
|
Description *string `json:"description" binding:"omitempty,max=500"`
|
|
ProductID *string `json:"product_id" binding:"omitempty,max=64"` // 虚拟支付道具ID(传空串表示解除登记)
|
|
ProductStatus *int8 `json:"product_status" binding:"omitempty,oneof=0 2"` // 虚拟支付道具发布状态 0=未发布 2=已发布
|
|
}
|
|
|
|
// GoodsStatusRequest 商品上下架请求。
|
|
type GoodsStatusRequest struct {
|
|
Status int8 `json:"status" binding:"required,oneof=1 2"` // 1=上架 2=下架
|
|
}
|