natsio/model/campaign_response.go

89 lines
3.8 KiB
Go

package model
import "go.mongodb.org/mongo-driver/bson/primitive"
// ResponseCampaignTransactionAll ...
type ResponseCampaignTransactionAll struct {
List []ResponseNatsCampaignTransaction `json:"list"`
Total int64 `json:"total"`
Limit int64 `json:"limit"`
}
// ResponseNatsCampaignTransaction ...
type ResponseNatsCampaignTransaction struct {
ID string `json:"_id"`
Cash float64 `json:"cash"`
Campaign ResponseCampaignShortInfo `json:"campaign"`
Options ResponseCampaignTransactionOptions `json:"options"`
Seller primitive.ObjectID `json:"seller"`
Type string `json:"type"`
Status string `json:"status"`
RejectedReason string `json:"rejectedReason"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
Item *ResponseCampaignItemShortInfo `json:"item"`
ApprovedBy primitive.ObjectID `json:"approvedBy,omitempty"`
RejectedBy primitive.ObjectID `json:"rejectedBy,omitempty"`
ApprovedAt string `json:"approvedAt,omitempty"`
RejectedAt string `json:"rejectedAt,omitempty"`
CompletedAt string `json:"completedAt,omitempty"`
RejectReason string `json:"rejectReason,omitempty"`
AdminConfirmData *ResponseCampaignTransactionAdminConfirmData `json:"adminConfirmData,omitempty"`
}
// ResponseCampaignShortInfo ...
type ResponseCampaignShortInfo struct {
ID string `json:"_id"`
Name string `json:"name"`
Status string `json:"status"`
}
// ResponseCampaignItemShortInfo ...
type ResponseCampaignItemShortInfo struct {
ID string `json:"_id"`
Name string `json:"name"`
Status string `json:"status"`
}
// ResponseCampaignTransactionOptions ...
type ResponseCampaignTransactionOptions struct {
Link string `json:"link"`
SocialChannel string `json:"socialChannel"`
Milestone int64 `json:"milestone"`
MilestoneTitle string `json:"milestoneTitle"`
}
// ResponseCampaignTransactionAdminConfirmData ...
type ResponseCampaignTransactionAdminConfirmData struct {
FriendPublicTotal int64 `json:"friendPublicTotal"`
}
// ResponseCampaignSellerStatisticList ...
type ResponseCampaignSellerStatisticList struct {
List []ResponseCampaignSellerStatistic `json:"list"`
}
// ResponseCampaignSellerStatistic ...
type ResponseCampaignSellerStatistic struct {
SellerID primitive.ObjectID `json:"sellerId"`
Statistic CampaignSellerStatistic `json:"Statistic"`
}
// CampaignSellerStatistic ...
type CampaignSellerStatistic struct {
TotalNotRejected int64 `bson:"totalNotRejected" json:"totalNotRejected"`
CashTotalNotRejected float64 `bson:"cashTotalNotRejected" json:"cashTotalNotRejected"`
TotalCompleted int64 `bson:"totalCompleted" json:"totalCompleted"`
CashTotalCompleted float64 `bson:"cashTotalCompleted" json:"cashTotalCompleted"`
TotalPending int64 `bson:"totalPending" json:"totalPending"`
CashTotalPending float64 `bson:"cashTotalPending" json:"cashTotalPending"`
TotalApproved int64 `bson:"totalApproved" json:"totalApproved"`
CashTotalApproved float64 `bson:"cashTotalApproved" json:"cashTotalApproved"`
TotalRejected int64 `bson:"totalRejected" json:"totalRejected"`
CashTotalRejected float64 `bson:"cashTotalRejected" json:"cashTotalRejected"`
}