Add Voucher Undian
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
package response
|
||||
|
||||
// UndianListResponse represents the response for undian list API
|
||||
type UndianListResponse struct {
|
||||
Events []UndianEventResponse `json:"events"`
|
||||
}
|
||||
|
||||
// UndianEventResponse represents an undian event with customer's vouchers and prizes
|
||||
type UndianEventResponse struct {
|
||||
ID int64 `json:"id"`
|
||||
Title string `json:"title"`
|
||||
Description *string `json:"description"`
|
||||
ImageURL *string `json:"image_url"`
|
||||
Status string `json:"status"`
|
||||
StartDate string `json:"start_date"`
|
||||
EndDate string `json:"end_date"`
|
||||
DrawDate string `json:"draw_date"`
|
||||
MinimumPurchase float64 `json:"minimum_purchase"`
|
||||
DrawCompleted bool `json:"draw_completed"`
|
||||
DrawCompletedAt *string `json:"draw_completed_at"`
|
||||
TermsConditions *string `json:"terms_and_conditions"`
|
||||
Prefix *string `json:"prefix"`
|
||||
CreatedAt string `json:"created_at"`
|
||||
UpdatedAt string `json:"updated_at"`
|
||||
VoucherCount int `json:"voucher_count"`
|
||||
TotalPrizes int `json:"total_prizes"`
|
||||
Vouchers []UndianVoucherResponse `json:"vouchers"`
|
||||
Prizes []UndianPrizeResponse `json:"prizes"`
|
||||
}
|
||||
|
||||
// UndianVoucherResponse represents a customer's voucher
|
||||
type UndianVoucherResponse struct {
|
||||
ID int64 `json:"id"`
|
||||
VoucherCode string `json:"voucher_code"`
|
||||
VoucherNumber *int `json:"voucher_number"`
|
||||
IsWinner bool `json:"is_winner"`
|
||||
PrizeRank *int `json:"prize_rank"`
|
||||
WonAt *string `json:"won_at"`
|
||||
CreatedAt string `json:"created_at"`
|
||||
}
|
||||
|
||||
// UndianPrizeResponse represents a prize in the undian event
|
||||
type UndianPrizeResponse struct {
|
||||
ID int64 `json:"id"`
|
||||
Rank int `json:"rank"`
|
||||
PrizeName string `json:"prize_name"`
|
||||
PrizeValue *float64 `json:"prize_value"`
|
||||
PrizeDescription *string `json:"prize_description"`
|
||||
PrizeType string `json:"prize_type"`
|
||||
PrizeImageURL *string `json:"prize_image_url"`
|
||||
WinningVoucherID *int64 `json:"winning_voucher_id,omitempty"`
|
||||
WinnerUserID *int64 `json:"winner_user_id,omitempty"`
|
||||
IsWon bool `json:"is_won"`
|
||||
Amount *int64 `json:"amount"`
|
||||
}
|
||||
|
||||
// ActiveEventsResponse represents the response for active events API (without customer data)
|
||||
type ActiveEventsResponse struct {
|
||||
Events []ActiveEventResponse `json:"events"`
|
||||
}
|
||||
|
||||
// ActiveEventResponse represents an active undian event (without customer-specific data)
|
||||
type ActiveEventResponse struct {
|
||||
ID int64 `json:"id"`
|
||||
Title string `json:"title"`
|
||||
Description *string `json:"description"`
|
||||
ImageURL *string `json:"image_url"`
|
||||
Status string `json:"status"`
|
||||
StartDate string `json:"start_date"`
|
||||
EndDate string `json:"end_date"`
|
||||
DrawDate string `json:"draw_date"`
|
||||
MinimumPurchase float64 `json:"minimum_purchase"`
|
||||
DrawCompleted bool `json:"draw_completed"`
|
||||
DrawCompletedAt *string `json:"draw_completed_at"`
|
||||
TermsConditions *string `json:"terms_and_conditions"`
|
||||
Prefix *string `json:"prefix"`
|
||||
CreatedAt string `json:"created_at"`
|
||||
UpdatedAt string `json:"updated_at"`
|
||||
}
|
||||
Reference in New Issue
Block a user