Compare commits

...

3 Commits

Author SHA1 Message Date
dylan 4d92809b1d feat:新增小时级报表接口 2024-09-10 15:17:18 +08:00
dylan 1c0b28db1f fix: 2024-09-05 14:59:51 +08:00
dylan 6e0325a7ec fix: 2024-09-04 16:00:04 +08:00
5 changed files with 163 additions and 6 deletions

View File

@ -201,3 +201,20 @@ func (ability *Defaultability) TaobaoUnideskRtaReportAsynctaskResultGet(req *req
err = util.HandleJsonResponse(jsonStr, &respStruct)
return &respStruct, err
}
/*
UD报表-小时数据报表查询接口
*/
func (ability *Defaultability) TaobaoUnideskRtaReportHourlyGet(req *request.TaobaoUnideskRtaReportHourlyGetRequest, accessToken string) (*response.TaobaoUnideskRtaReportHourlyGetResponse, error) {
if ability.Client == nil {
return nil, errors.New("Defaultability topClient is nil")
}
var jsonStr, err = ability.Client.ExecuteWithSession("taobao.unidesk.rta.report.hourly.get", req.ToMap(), req.ToFileMap(), accessToken)
var respStruct = response.TaobaoUnideskRtaReportHourlyGetResponse{}
if err != nil {
log.Println("taobaoUnideskRtaReportHourlyGet error", err)
return &respStruct, err
}
err = util.HandleJsonResponse(jsonStr, &respStruct)
return &respStruct, err
}

View File

@ -12,15 +12,10 @@ type AsyncTaskResultGetTopDTO struct {
*/
Id *int64 `json:"id"`
/*
任务创建时间
*/
GmtCreate *int64 `json:"gmt_create"`
/*
任务名称
*/
Name *int64 `json:"name"`
Name *string `json:"name"`
/*
任务状态1待运行2运行中3运行成功4运行失败

View File

@ -0,0 +1,103 @@
package domain
type ReportTopHourlyQueryDTO struct {
/*
排序字段
*/
OrderByField *string `json:"order_by_field,omitempty" required:"false" `
/*
第几页
*/
PageNo *int `json:"page_no,omitempty" required:"false"`
/*
排序方式ASC正序DESC倒序
*/
OrderByType *string `json:"order_by_type,omitempty" required:"false"`
/*
每页多少条
*/
PageSize *int `json:"page_size,omitempty" required:"false"`
/*
分组条件素材分组仅头条2.0支持STAT_GROUP_BY_ADVERTISER_ID按照广告主分组STAT_GROUP_BY_CAMPAIGN_ID按照计划组分组STAT_GROUP_BY_ADGROUP_ID按照计划分组STAT_GROUP_BY_CREATIVE_ID按照创意分组STAT_GROUP_BY_TIME_DAY按照天分组STAT_GROUP_BY_MATERIAL_ID按照素材分组STAT_GROUP_BY_MATERIAL_X_ADGROUP_ID按照素材X计划分组STAT_GROUP_BY_COMBINATION_MATERIAL_ID按照素材组合分组STAT_GROUP_BY_COMBINATION_MATERIALX_CAMPAIGN_ID按照素材组合X项目分组
*/
GroupBy *[]string `json:"group_by" required:"true"`
/*
需要返回的指标不指定则返回默认指标
*/
Fields *[]string `json:"fields,omitempty" required:"false"`
/*
过滤条件
*/
Filtering *ReportFilterTopQueryDTO `json:"filtering,omitempty" required:"false"`
/*
查询时间,只支持今天和昨天,格式:yyyy-MM-dd
*/
TheDate *string `json:"the_date,omitempty" required:"false"`
/*
广告主id
*/
AdvertiserId *int64 `json:"advertiser_id" required:"true"`
/*
平台版本9999升级版API仅巨量2.0API需传入
*/
Version *int `json:"version,omitempty" required:"false"`
}
func (s *ReportTopHourlyQueryDTO) SetOrderByField(v string) *ReportTopHourlyQueryDTO {
s.OrderByField = &v
return s
}
func (s *ReportTopHourlyQueryDTO) SetPageNo(v int) *ReportTopHourlyQueryDTO {
s.PageNo = &v
return s
}
func (s *ReportTopHourlyQueryDTO) SetOrderByType(v string) *ReportTopHourlyQueryDTO {
s.OrderByType = &v
return s
}
func (s *ReportTopHourlyQueryDTO) SetPageSize(v int) *ReportTopHourlyQueryDTO {
s.PageSize = &v
return s
}
func (s *ReportTopHourlyQueryDTO) SetGroupBy(v []string) *ReportTopHourlyQueryDTO {
s.GroupBy = &v
return s
}
func (s *ReportTopHourlyQueryDTO) SetFields(v []string) *ReportTopHourlyQueryDTO {
s.Fields = &v
return s
}
func (s *ReportTopHourlyQueryDTO) SetFiltering(v ReportFilterTopQueryDTO) *ReportTopHourlyQueryDTO {
s.Filtering = &v
return s
}
func (s *ReportTopHourlyQueryDTO) SetTheDate(v string) *ReportTopHourlyQueryDTO {
s.TheDate = &v
return s
}
func (s *ReportTopHourlyQueryDTO) SetAdvertiserId(v int64) *ReportTopHourlyQueryDTO {
s.AdvertiserId = &v
return s
}
func (s *ReportTopHourlyQueryDTO) SetVersion(v int) *ReportTopHourlyQueryDTO {
s.Version = &v
return s
}

View File

@ -0,0 +1,28 @@
package request
import (
"git.sunqdl.cn/fgqj/topsdk/defaultability/domain"
"git.sunqdl.cn/fgqj/topsdk/util"
)
type TaobaoUnideskRtaReportHourlyGetRequest struct {
ReportTopQueryDto *domain.ReportTopHourlyQueryDTO `json:"report_top_query_dto" required:"true" `
}
func (s *TaobaoUnideskRtaReportHourlyGetRequest) SetReportTopQueryDto(v domain.ReportTopHourlyQueryDTO) *TaobaoUnideskRtaReportHourlyGetRequest {
s.ReportTopQueryDto = &v
return s
}
func (req *TaobaoUnideskRtaReportHourlyGetRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if req.ReportTopQueryDto != nil {
paramMap["report_top_query_dto"] = util.ConvertStructList(*req.ReportTopQueryDto)
}
return paramMap
}
func (req *TaobaoUnideskRtaReportHourlyGetRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@ -0,0 +1,14 @@
package response
import "git.sunqdl.cn/fgqj/topsdk/defaultability/domain"
type TaobaoUnideskRtaReportHourlyGetResponse struct {
/*
报表数据
*/
Result []domain.ReportTopDto `json:"result"`
/*
总条数
*/
Total int `json:"total"`
}