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.ResponseCampaignSellerStatisticList, error) { | ||||
| 	msg, err := natsio.GetServer().Request(subject.Campaign.GetCampaignSellerStatisticBySellerIDs, toBytes(req)) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 
 | ||||
| 	var r struct { | ||||
| 		Data  *model.ResponseCampaignSellerStatisticList `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