feature-campaign-get-seller-statistic #127
|
@ -34,3 +34,25 @@ func (c Campaign) GetCampaignTransaction(p model.GetCampaignTransactionsRequest)
|
|||
}
|
||||
return r.Data, nil
|
||||
}
|
||||
|
||||
// GetCampaignSellerStatistic ....
|
||||
func (c Campaign) GetCampaignSellerStatistic(req model.GetCampaignSellerStatisticBySellerIDs) (*model.ResponseCampaignSellerStatistic, error) {
|
||||
msg, err := natsio.GetServer().Request(subject.Campaign.GetCampaignSellerStatisticBySellerIDs, toBytes(req))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r struct {
|
||||
Data *model.ResponseCampaignSellerStatistic `json:"data"`
|
||||
Error string `json:"error"`
|
||||
}
|
||||
|
||||
if err = json.Unmarshal(msg.Data, &r); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if r.Error != "" {
|
||||
return nil, errors.New(r.Error)
|
||||
}
|
||||
return r.Data, nil
|
||||
}
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
package model
|
||||
|
||||
import "time"
|
||||
import (
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
"time"
|
||||
)
|
||||
|
||||
// GetCampaignTransactionsRequest ...
|
||||
type GetCampaignTransactionsRequest struct {
|
||||
|
@ -12,3 +15,8 @@ type GetCampaignTransactionsRequest struct {
|
|||
Page int64 `json:"page"`
|
||||
Limit int64 `json:"limit"`
|
||||
}
|
||||
|
||||
// GetCampaignSellerStatisticBySellerIDs ...
|
||||
type GetCampaignSellerStatisticBySellerIDs struct {
|
||||
SellerIDs []primitive.ObjectID
|
||||
}
|
||||
|
|
|
@ -57,3 +57,32 @@ type ResponseCampaignTransactionOptions struct {
|
|||
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"`
|
||||
}
|
||||
|
|
|
@ -10,6 +10,8 @@ func getCampaignValue(val string) string {
|
|||
// Campaign ...
|
||||
var Campaign = struct {
|
||||
GetListCampaignTransactionAdminInfoByIDs string
|
||||
GetCampaignSellerStatisticBySellerIDs string
|
||||
}{
|
||||
GetListCampaignTransactionAdminInfoByIDs: getCampaignValue("get_list_campaign_transaction_admin_info_by_ids"),
|
||||
GetCampaignSellerStatisticBySellerIDs: getCampaignValue("get_campaign_seller_statistic_by_seller_ids"),
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue