github.com/bububa/oceanengine/marketing-api@v0.0.0-20210315120513-0b953137f7a6/model/advertiser/fund_daily_stat.go (about)

     1  package advertiser
     2  
     3  import (
     4  	"net/url"
     5  	"strconv"
     6  	"time"
     7  
     8  	"github.com/bububa/oceanengine/marketing-api/model"
     9  )
    10  
    11  type FundDailyStatRequest struct {
    12  	AdvertiserID uint64    `json:"advertiser_id,omitempty"`
    13  	StartDate    time.Time `json:"start_date,omitempty"` // 开始时间,格式YYYY-MM-DD,默认当前年份的1月1日
    14  	EndDate      time.Time `json:"end_date,omitempty"`   // 结束时间,格式YYYY-MM-DD,默认为今天
    15  	Page         int       `json:"page,omitempty"`       // 页码. 默认值: 1
    16  	PageSize     int       `json:"page_size,omitempty"`  // 页面数据量. 默认值: 10
    17  }
    18  
    19  func (r FundDailyStatRequest) Encode() string {
    20  	values := &url.Values{}
    21  	values.Set("advertiser_id", strconv.FormatUint(r.AdvertiserID, 10))
    22  	if !r.StartDate.IsZero() {
    23  		values.Set("start_date", r.StartDate.Format("2006-01-02"))
    24  	}
    25  	if !r.EndDate.IsZero() {
    26  		values.Set("end_date", r.EndDate.Format("2006-01-02"))
    27  	}
    28  	if r.Page > 0 {
    29  		values.Set("page", strconv.Itoa(r.Page))
    30  	}
    31  	if r.PageSize > 0 {
    32  		values.Set("page_size", strconv.Itoa(r.PageSize))
    33  	}
    34  	return values.Encode()
    35  }
    36  
    37  type FundDailyStatResponse struct {
    38  	model.BaseResponse
    39  	Data *FundDailyStatResponseData `json:"data,omitempty"`
    40  }
    41  
    42  type FundDailyStatResponseData struct {
    43  	List     []FundDailyStatResponseList `json:"list,omitempty"`
    44  	PageInfo *model.PageInfo             `json:"page_info,omitempty"`
    45  }
    46  
    47  type FundDailyStatResponseList struct {
    48  	AdvertiserID    uint64  `json:"advertiser_id,omitempty"`     // 广告主ID
    49  	Date            string  `json:"date,omitempty"`              // 日期
    50  	Balance         float64 `json:"balance,omitempty"`           // 日终结余(单位元)
    51  	CashCost        float64 `json:"cash_cost,omitempty"`         // 现金支出(单位元)
    52  	Cost            float64 `json:"cost,omitempty"`              // 总支出(单位元)
    53  	Frozen          float64 `json:"frozen,omitempty"`            // 冻结(单位元)
    54  	Income          float64 `json:"income,omitempty"`            // 总存入(单位元)
    55  	RewardCost      float64 `json:"reward_cost,omitempty"`       // 赠款支出(单位元)
    56  	ReturnGoodsCost float64 `json:"return_goods_cost,omitempty"` // 返货支出(单位元)
    57  	TransferIn      float64 `json:"transfer_in,omitempty"`       // 总转入(单位元)
    58  	TransferOut     float64 `json:"transfer_out,omitempty"`      // 总转出(单位元)
    59  }