Compare commits

..

3 Commits

Author SHA1 Message Date
c8162b1bfe golang版本升级1.26.0 2026-04-03 11:30:12 +08:00
2c6a8490b8 golang版本升级1.26.0 2026-04-03 11:15:09 +08:00
lmk
41089cca2d 批量新增 获取广告计划数据 2026-04-02 17:02:47 +08:00
13 changed files with 2274 additions and 4 deletions

View File

@@ -1,4 +1,4 @@
FROM golang:1.25.3
FROM golang:1.26.0
RUN go env -w GO111MODULE=on
RUN go env -w GOPROXY=https://goproxy.cn,direct
ENV WORKDIR /usr/local/bin/app

View File

@@ -14,6 +14,8 @@ const (
StorewideReportDetailTable = "storewide_report_detail" // 全站数据detail表
CreativeReportSumTable = "creative_report_sum" // 广告创意数据sum表
CreativeReportDetailTable = "creative_report_detail" // 广告创意数据detail表
UnitReportSumTable = "unit_report_sum" // 广告创意数据detail表
UnitReportDetailTable = "unit_report_detail" // 广告创意数据detail表
UnitReportSumTable = "unit_report_sum" // 广告单元数据detail表
UnitReportDetailTable = "unit_report_detail" // 广告单元数据detail表
CampaignReportSumTable = "campaign_report_sum" // 广告计划数据detail表
CampaignReportDetailTable = "campaign_report_detail" // 广告计划数据detail表
)

View File

@@ -0,0 +1,35 @@
package copydata
import (
dto "cid/model/dto/copydata"
service "cid/service/copydata"
"context"
"gitea.com/red-future/common/beans"
)
type campaignReport struct{}
var CampaignReport = new(campaignReport)
// CreateCampaignReportSum 创建广告计划效果指标表
func (c *campaignReport) CreateCampaignReportSum(ctx context.Context, req *dto.CreateCampaignReportSumReq) (res *dto.CreateCampaignReportSumRes, err error) {
ctx = context.WithValue(ctx, "user", &beans.User{UserName: "admin"})
return service.CampaignReportSum.Create(ctx, req.CampaignReportSumItem)
}
// BatchCreateCampaignReportSum 批量创建广告计划效果指标表
func (c *campaignReport) BatchCreateCampaignReportSum(ctx context.Context, req *dto.BatchCreateCampaignReportSumReq) (res *dto.BatchCreateCampaignReportSumRes, err error) {
return service.CampaignReportSum.BatchCreate(ctx, req)
}
// CreateCampaignReportDetail 创建广告效果指标表
func (c *campaignReport) CreateCampaignReportDetail(ctx context.Context, req *dto.CreateCampaignReportDetailReq) (res *dto.CreateCampaignReportDetailRes, err error) {
ctx = context.WithValue(ctx, "user", &beans.User{UserName: "admin"})
return service.CampaignReportSum.CreateDetail(ctx, req.CampaignReportDetailItem)
}
// BatchCreateCampaignReportDetail 批量创建广告效果指标表
func (c *campaignReport) BatchCreateCampaignReportDetail(ctx context.Context, req *dto.BatchCreateCampaignReportDetailReq) (res *dto.BatchCreateCampaignReportDetailRes, err error) {
return service.CampaignReportSum.BatchCreateDetail(ctx, req)
}

View File

@@ -0,0 +1,81 @@
package copydata
import (
consts "cid/consts/public"
dto "cid/model/dto/copydata"
entity "cid/model/entity/copydata"
"context"
"errors"
"gitea.com/red-future/common/db/gfdb"
"github.com/gogf/gf/v2/util/gconv"
)
var CampaignReportDetail = new(CampaignReportDetailDao)
type CampaignReportDetailDao struct{}
func (d *CampaignReportDetailDao) Insert(ctx context.Context, req *dto.CampaignReportDetailItem) (id int64, err error) {
var entityData *entity.CampaignReportDetail
if err = gconv.Struct(req, &entityData); err != nil {
return
}
r, err := gfdb.DB(ctx).Model(ctx, consts.CampaignReportDetailTable).Data(&entityData).Insert()
if err != nil {
return
}
return r.LastInsertId()
}
func (d *CampaignReportDetailDao) BatchInsert(ctx context.Context, reqs []*dto.CampaignReportDetailItem) (successCount int64, failCount int64, failedIndexes []int64, err error) {
if len(reqs) == 0 {
return 0, 0, nil, errors.New("批量插入数据不能为空")
}
batchSize := 100
successCount = 0
failCount = 0
failedIndexes = make([]int64, 0)
for i := 0; i < len(reqs); i += batchSize {
end := i + batchSize
if end > len(reqs) {
end = len(reqs)
}
batch := reqs[i:end]
entityList := make([]*entity.CampaignReportDetail, len(batch))
for j, req := range batch {
var entityData entity.CampaignReportDetail
if err = gconv.Struct(req, &entityData); err != nil {
failCount++
failedIndexes = append(failedIndexes, int64(i+j))
continue
}
entityList[j] = &entityData
}
if len(entityList) == 0 {
continue
}
_, err = gfdb.DB(ctx).Model(ctx, consts.CampaignReportDetailTable).Data(entityList).Insert()
if err != nil {
for k := range batch {
_, singleErr := d.Insert(ctx, batch[k])
if singleErr != nil {
failCount++
failedIndexes = append(failedIndexes, int64(i+k))
} else {
successCount++
}
}
} else {
successCount += int64(len(entityList))
}
}
return successCount, failCount, failedIndexes, nil
}

View File

@@ -0,0 +1,86 @@
package copydata
import (
consts "cid/consts/public"
dto "cid/model/dto/copydata"
entity "cid/model/entity/copydata"
"context"
"errors"
"gitea.com/red-future/common/db/gfdb"
"github.com/gogf/gf/v2/util/gconv"
)
var CampaignReportSum = new(CampaignReportSumDao)
type CampaignReportSumDao struct{}
// Insert 插入广告计划效果指标表
func (d *CampaignReportSumDao) Insert(ctx context.Context, req *dto.CampaignReportSumItem) (id int64, err error) {
var entityData *entity.CampaignReportSum
if err = gconv.Struct(req, &entityData); err != nil {
return
}
r, err := gfdb.DB(ctx).Model(ctx, consts.CampaignReportSumTable).Data(&entityData).Insert()
if err != nil {
return
}
return r.LastInsertId()
}
// BatchInsert 批量插入广告计划效果指标表
func (d *CampaignReportSumDao) BatchInsert(ctx context.Context, reqs []*dto.CampaignReportSumItem) (successCount int64, failCount int64, failedIndexes []int64, err error) {
if len(reqs) == 0 {
return 0, 0, nil, errors.New("批量插入数据不能为空")
}
// 分批处理,每批 100 条
batchSize := 100
successCount = 0
failCount = 0
failedIndexes = make([]int64, 0)
for i := 0; i < len(reqs); i += batchSize {
end := i + batchSize
if end > len(reqs) {
end = len(reqs)
}
batch := reqs[i:end]
entityList := make([]*entity.CampaignReportSum, len(batch))
for j, req := range batch {
var entityData entity.CampaignReportSum
if err = gconv.Struct(req, &entityData); err != nil {
failCount++
failedIndexes = append(failedIndexes, int64(i+j))
continue
}
entityList[j] = &entityData
}
if len(entityList) == 0 {
continue
}
// 执行批量插入
_, err = gfdb.DB(ctx).Model(ctx, consts.CampaignReportSumTable).Data(entityList).Insert()
if err != nil {
// 批量插入失败,尝试逐条插入
for k := range batch {
_, singleErr := d.Insert(ctx, batch[k])
if singleErr != nil {
failCount++
failedIndexes = append(failedIndexes, int64(i+k))
} else {
successCount++
}
}
} else {
successCount += int64(len(entityList))
}
}
return successCount, failCount, failedIndexes, nil
}

2
go.mod
View File

@@ -1,6 +1,6 @@
module cid
go 1.25.5
go 1.26.0
require (
gitea.com/red-future/common v0.0.4

337
go.sum Normal file
View File

@@ -0,0 +1,337 @@
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
gitea.com/red-future/common v0.0.4/go.mod h1:UI9N5UUjilbMPF7+/lypZSnqDVHigt14300oSRrAyZg=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4=
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/bwmarrin/snowflake v0.3.0/go.mod h1:NdZxfVWX+oR6y2K0o6qAYv6gIOP9rjG0/E9WsDpxqwE=
github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag=
github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I=
github.com/clbanning/mxj/v2 v2.7.0/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn/Qo+ve2s=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dgraph-io/badger/v4 v4.2.0/go.mod h1:qfCqhPoWDFJRx1gp5QwwyGo8xk1lbHUxvK9nK0OGAak=
github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA=
github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
github.com/emirpasic/gods/v2 v2.0.0-alpha/go.mod h1:W0y4M2dtBB9U5z3YlghmpuUhiaZT2h6yoeE+C1sCp6A=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gogf/gf/contrib/drivers/pgsql/v2 v2.10.0/go.mod h1:B0s0fVzn0W220E8UTpSGzrrGKsop5KcB90twBeLCiz0=
github.com/gogf/gf/contrib/nosql/redis/v2 v2.9.5/go.mod h1:cjy18NsSLZQf5zaLAzuo7B2gr8GGjCTWDTEPY7T+6FI=
github.com/gogf/gf/contrib/registry/consul/v2 v2.9.5/go.mod h1:sjQyMry9+0POYZCA6lHXBxO77WoNKkruJpRB4xKqk5k=
github.com/gogf/gf/contrib/trace/otlphttp/v2 v2.9.5/go.mod h1:cfzTn2HS9RDX8f5pUVkbGxUWcSosouqfNQ1G6cY0V88=
github.com/gogf/gf/v2 v2.10.0/go.mod h1:Svl1N+E8G/QshU2DUbh/3J/AJauqCgUnxHurXWR4Qx0=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang-jwt/jwt/v5 v5.3.1/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/glog v1.2.5/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w=
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/flatbuffers v1.12.1/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/grokify/html-strip-tags-go v0.1.0/go.mod h1:ZdzgfHEzAfz9X6Xe5eBLVblWIxXfYSQ40S/VKrAOGpc=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2/go.mod h1:pkJQ2tZHJ0aFOVEEot6oZmaVEZcRme73eIFmhiVuRWs=
github.com/hashicorp/consul/api v1.26.1/go.mod h1:B4sQTeaSO16NtynqrAdwOlahJ7IUDZM9cj2420xYL8A=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M=
github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs=
github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8=
github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc=
github.com/hashicorp/memberlist v0.5.0/go.mod h1:yvyXLpo0QaGE59Y7hDTsTzDD25JYBZ4mHgHUZ8lrOI0=
github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/magiconair/properties v1.8.10/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso=
github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI=
github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/olekukonko/errors v1.1.0/go.mod h1:ppzxA5jBKcO1vIpCXQ9ZqgDh8iwODz6OXIGKU8r5m4Y=
github.com/olekukonko/ll v0.0.9/go.mod h1:En+sEW0JNETl26+K8eZ6/W4UQ7CYSrrgg/EdIYT2H8g=
github.com/olekukonko/tablewriter v1.1.0/go.mod h1:5c+EBPeSqvXnLLgkm9isDdzR3wjfBkHR9Nhfp3NWrzo=
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A=
github.com/redis/go-redis/v9 v9.12.1/go.mod h1:huWgSWd8mW6+m0VPhJjSSQ+d6Nh1VICQ6Q5lHuCH/Iw=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
github.com/tiger1103/gfast-token v1.0.10/go.mod h1:a/21mxmj7zFeNvjhZSC0XpEAFHfb1aT2k6DXnufFU1s=
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4=
github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM=
github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfSfmXjznFBSZNN13rSJjlIOI1fUNAtF7rmI=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
go.mongodb.org/mongo-driver/v2 v2.4.0/go.mod h1:jHeEDJHJq7tm6ZF45Issun9dbogjfnPySb1vXA7EeAI=
go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0/go.mod h1:ri3aaHSmCTVYu2AWv44YMauwAQc0aqI9gHKIcSbI1pU=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0/go.mod h1:kldtb7jDTeol0l3ewcmd8SDvx3EmIE7lyvqbasU3QC4=
go.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI=
go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg=
go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs=
go.opentelemetry.io/proto/otlp v1.7.1/go.mod h1:b2rVh6rfI/s2pHWNlB7ILJcRALpcNDzKhACevjI+ZnE=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.44.0/go.mod h1:013i+Nw79BMiQiMsOPcVCB5ZIJbYkerPrGnOa00tvmc=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20250128144449-3edf0e91c1ae/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5/go.mod h1:j3QtIyytwqGr1JUDtYXwtMXWPKsEa5LtzIFN1Wn5WvE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5/go.mod h1:M4/wBTSeyLxupu3W3tJtOgB14jILAS/XWPSSa3TAlJc=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

View File

@@ -28,6 +28,7 @@ func main() {
copydata.StorewideReport,
copydata.CreativeReport,
copydata.UnitReport,
copydata.CampaignReport,
})
select {}
}

View File

@@ -0,0 +1,230 @@
package copydata
import (
"gitea.com/red-future/common/beans"
"github.com/gogf/gf/v2/frame/g"
)
type CreateCampaignReportDetailReq struct {
g.Meta `path:"/createCampaignReportDetail" method:"post" tags:"广告效果明细报表" summary:"创建广告效果指标明细表" dc:"创建新的广告效果指标明细表"`
*CampaignReportDetailItem
}
type CreateCampaignReportDetailRes struct {
Id int64 `json:"id" dc:"广告效果明细 ID"`
}
type BatchCreateCampaignReportDetailReq struct {
g.Meta `path:"/batchCreateCampaignReportDetail" method:"post" tags:"广告效果明细报表" summary:"批量创建广告效果指标明细表" dc:"批量创建广告效果指标明细表"`
Items []*CampaignReportDetailItem `json:"items" v:"required" dc:"广告效果明细列表"`
}
type BatchCreateCampaignReportDetailRes struct {
SuccessCount int64 `json:"successCount" dc:"成功数量"`
FailCount int64 `json:"failCount" dc:"失败数量"`
FailedItems []int64 `json:"failedItems" dc:"失败项索引"`
}
type CampaignReportDetailItem struct {
T0OrderPaymentAmt *float64 `json:"t0OrderPaymentAmt" dc:"当日总成交订单金额"`
CreativeMaterialType string `json:"creativeMaterialType" dc:"视频素材类型"`
LiveName string `json:"liveName" dc:"直播间名称"`
AuthorId string `json:"authorId" dc:"直播用户快手 Id"`
PicUrl string `json:"picUrl" dc:"图片 URL"`
PicName string `json:"picName" dc:"图片名称"`
PicId string `json:"picId" dc:"图片 Id"`
CoverUrl string `json:"coverUrl" dc:"封面 URL"`
CoverId *int64 `json:"coverId" dc:"封面 Id"`
ItemOrderConversionRatio *float64 `json:"itemOrderConversionRatio" dc:"转化率"`
ItemCardClickRatio *float64 `json:"itemCardClickRatio" dc:"点击率"`
ItemCardClkCnt *int64 `json:"itemCardClkCnt" dc:"商品卡点击数"`
LivePlayCntCost *float64 `json:"livePlayCntCost" dc:"直播间观看成本"`
AdMerchantFollowCost *float64 `json:"adMerchantFollowCost" dc:"涨粉成本"`
AdMerchantFollow *int64 `json:"adMerchantFollow" dc:"涨粉数"`
NetT0OrderCnt *int64 `json:"netT0OrderCnt" dc:"当日累计净成交订单数"`
NetT0Roi *float64 `json:"netT0Roi" dc:"净成交 ROI"`
NetT0Gmv *float64 `json:"netT0Gmv" dc:"净成交 GMV"`
PhotoName string `json:"photoName" dc:"视频名称"`
PhotoIdStr string `json:"photoIdStr" dc:"视频 id"`
PhotoId string `json:"photoId" dc:"视频 id"`
ModPriceSegment string `json:"modPriceSegment" dc:"设备价格区间"`
AgeSegment string `json:"ageSegment" dc:"年龄段"`
Province string `json:"province" dc:"省份名称"`
Gender string `json:"gender" dc:"性别"`
AdPhotoPlayedFiveRatio *float64 `json:"adPhotoPlayedFiveRatio" dc:"作品 5 秒播放率"`
AdPhotoPlayedThreeRatio *float64 `json:"adPhotoPlayedThreeRatio" dc:"作品 3 秒播放率"`
OrderSubmitRoi *float64 `json:"orderSubmitRoi" dc:"订单提交 ROI"`
OrderSubmitAmt *int64 `json:"orderSubmitAmt" dc:"外部订单金额"`
EventOrderSubmitCost *float64 `json:"eventOrderSubmitCost" dc:"订单提交成本"`
EventOrderSubmit *int64 `json:"eventOrderSubmit" dc:"订单提交数"`
EventOrderPaidRoi *float64 `json:"eventOrderPaidRoi" dc:"订单支付率"`
EventAppInvoked *int64 `json:"eventAppInvoked" dc:"唤起应用数"`
EventAddShoppingCart *int64 `json:"eventAddShoppingCart" dc:"添加购物车次数"`
ConversionNumCost *float64 `json:"conversionNumCost" dc:"转化成本(回传时间)"`
AdEffectivePlayNum *int64 `json:"adEffectivePlayNum" dc:"有效播放数"`
AdItemClick *int64 `json:"adItemClick" dc:"行为数"`
MerchantProductId string `json:"merchantProductId" dc:"商品 ID"`
CostTotal *float64 `json:"costTotal" dc:"花费"`
AdShow *int64 `json:"adShow" dc:"曝光数"`
AdShow1kCost *float64 `json:"adShow1kCost" dc:"平均千次广告曝光花费"`
Impression *int64 `json:"impression" dc:"封面曝光数"`
PhotoClick *int64 `json:"photoClick" dc:"封面点击数"`
PhotoClickRatio *float64 `json:"photoClickRatio" dc:"封面点击率"`
Click *int64 `json:"click" dc:"素材曝光数"`
ActionbarClick *int64 `json:"actionbarClick" dc:"行为数"`
ActionbarClickCost *float64 `json:"actionbarClickCost" dc:"行为成本"`
EspClickRatio *float64 `json:"espClickRatio" dc:"行为率"`
ActionRatio *float64 `json:"actionRatio" dc:"素材点击率"`
AdItemClickCount *int64 `json:"adItemClickCount" dc:"预约组件点击数"`
EspLivePlayedSeconds *int64 `json:"espLivePlayedSeconds" dc:"直播平均观看时长"`
PlayedThreeSeconds *int64 `json:"playedThreeSeconds" dc:"作品 3 秒播放数"`
Play3sRatio *float64 `json:"play3sRatio" dc:"作品 3 秒播放率"`
PlayedFiveSeconds *int64 `json:"playedFiveSeconds" dc:"作品 5 秒播放数"`
Play5sRatio *float64 `json:"play5sRatio" dc:"作品 5 秒播放率"`
PlayedEnd *int64 `json:"playedEnd" dc:"作品完播数"`
PlayEndRatio *float64 `json:"playEndRatio" dc:"作品完播率"`
Share *int64 `json:"share" dc:"作品分享数"`
Comment *int64 `json:"comment" dc:"作品评论数"`
Likes *int64 `json:"likes" dc:"作品点赞数"`
Report *int64 `json:"report" dc:"作品举报数"`
Block *int64 `json:"block" dc:"作品拉黑数"`
ItemNegative *int64 `json:"itemNegative" dc:"详情页减少此类作品数"`
LiveShare *int64 `json:"liveShare" dc:"直播送礼数"`
LiveComment *int64 `json:"liveComment" dc:"直播评论数"`
LiveReward *int64 `json:"liveReward" dc:"直播送礼数"`
EffectivePlayCount *int64 `json:"effectivePlayCount" dc:"有效播放数"`
EffectivePlayRatio *float64 `json:"effectivePlayRatio" dc:"有效播放率"`
ConversionNum *int64 `json:"conversionNum" dc:"转化数"`
ConversionCostEsp *float64 `json:"conversionCostEsp" dc:"转化成本"`
Roi *float64 `json:"roi" dc:"直接 ROI"`
Gmv *float64 `json:"gmv" dc:"直接 GMV"`
T0Gmv *float64 `json:"t0Gmv" dc:"当日累计 GMV"`
T1Gmv *float64 `json:"t1Gmv" dc:"次日累计 GMV"`
T7Gmv *float64 `json:"t7Gmv" dc:"7 日累计 GMV"`
T15Gmv *float64 `json:"t15Gmv" dc:"15 日累计 GMV"`
T30Gmv *float64 `json:"t30Gmv" dc:"30 日累计 GMV"`
T0Roi *float64 `json:"t0Roi" dc:"当日累计 ROI"`
T1Roi *float64 `json:"t1Roi" dc:"次日累计 ROI"`
T7Roi *float64 `json:"t7Roi" dc:"7 日累计 ROI"`
T15Roi *float64 `json:"t15Roi" dc:"15 日累计 ROI"`
T30Roi *float64 `json:"t30Roi" dc:"30 日累计 ROI"`
PaiedOrder *int64 `json:"paiedOrder" dc:"直接订单数"`
OrderRatio *float64 `json:"orderRatio" dc:"直接下单率"`
T0OrderCnt *int64 `json:"t0OrderCnt" dc:"当日累计订单数"`
T0OrderCntCost *float64 `json:"t0OrderCntCost" dc:"当日累计订单成本"`
T0OrderCntRatio *float64 `json:"t0OrderCntRatio" dc:"累计订单下单率"`
T1OrderCnt *int64 `json:"t1OrderCnt" dc:"次日累计订单数"`
T7OrderCnt *int64 `json:"t7OrderCnt" dc:"7 日累计订单数"`
T15OrderCnt *int64 `json:"t15OrderCnt" dc:"15 日累计订单数"`
T30OrderCnt *int64 `json:"t30OrderCnt" dc:"30 日累计订单数"`
MerchantRecoFans *int64 `json:"merchantRecoFans" dc:"涨粉数"`
T1Retention *float64 `json:"t1Retention" dc:"次日涨粉留存数"`
T7Retention *float64 `json:"t7Retention" dc:"7 日涨粉留存数"`
T15Retention *float64 `json:"t15Retention" dc:"15 日涨粉留存数"`
T30Retention *float64 `json:"t30Retention" dc:"30 日涨粉留存数"`
T1RetentionRatio *float64 `json:"t1RetentionRatio" dc:"次日涨粉留存率"`
T7RetentionRatio *float64 `json:"t7RetentionRatio" dc:"7 日涨粉留存率"`
T15RetentionRatio *float64 `json:"t15RetentionRatio" dc:"15 日涨粉留存率"`
T30RetentionRatio *float64 `json:"t30RetentionRatio" dc:"30 日涨粉留存率"`
ReservationSuccess *int64 `json:"reservationSuccess" dc:"直播预约成功数"`
ReservationCost *float64 `json:"reservationCost" dc:"直播预约成功成本"`
StandardLivePlayedStarted *int64 `json:"standardLivePlayedStarted" dc:"直播观看数"`
AdLivePlayCnt *int64 `json:"adLivePlayCnt" dc:"直播间人气数"`
AdLivePlayCntCost *float64 `json:"adLivePlayCntCost" dc:"直播间人气成本"`
LiveAudienceCost *float64 `json:"liveAudienceCost" dc:"直播观看成本"`
LiveEventGoodsView *int64 `json:"liveEventGoodsView" dc:"直播间商品点击数"`
GoodsClickRatio *float64 `json:"goodsClickRatio" dc:"直播间商品点击率"`
DirectAttrPlatNewBuyerCnt *int64 `json:"directAttrPlatNewBuyerCnt" dc:"直接平台新客"`
T30AttrPlatTotalBuyerCnt *int64 `json:"t30AttrPlatTotalBuyerCnt" dc:"30 日累计平台新客"`
DirectAttrSellerNewBuyerCnt *int64 `json:"directAttrSellerNewBuyerCnt" dc:"直接店铺新客"`
T30AttrSellerTotalBuyerCnt *int64 `json:"t30AttrSellerTotalBuyerCnt" dc:"30 日累计店铺新客"`
T3Gmv *float64 `json:"t3Gmv" dc:"3 日累计 GMV"`
T3OrderCnt *int64 `json:"t3OrderCnt" dc:"3 日累计订单数"`
T3Roi *float64 `json:"t3Roi" dc:"3 日累计 ROI"`
T7IndirectOrderAmt *float64 `json:"t7IndirectOrderAmt" dc:"7 日间接订单金额"`
T7IndirectOrderCnt *int64 `json:"t7IndirectOrderCnt" dc:"7 日间接订单数"`
FansT0GmvPerFans *float64 `json:"fansT0GmvPerFans" dc:"新增粉丝人均销售额"`
FansT3GmvPerFans *float64 `json:"fansT3GmvPerFans" dc:"3 日新增粉丝人均销售额"`
FansT7GmvPerFans *float64 `json:"fansT7GmvPerFans" dc:"7 日新增粉丝人均销售额"`
FansT15GmvPerFans *float64 `json:"fansT15GmvPerFans" dc:"15 日新增粉丝人均销售额"`
FansT30GmvPerFans *float64 `json:"fansT30GmvPerFans" dc:"30 日新增粉丝人均销售额"`
RecoFansCost *float64 `json:"recoFansCost" dc:"涨粉成本"`
QcpxWhiteboxDirectOrderPaymentAmt *float64 `json:"qcpxWhiteboxDirectOrderPaymentAmt" dc:"智能优惠券订单 GMV"`
QcpxWhiteboxDirectOrderCnt *int64 `json:"qcpxWhiteboxDirectOrderCnt" dc:"智能优惠券订单数"`
FansT0Gmv *float64 `json:"fansT0Gmv" dc:"涨粉当日 GMV"`
FansT1Gmv *float64 `json:"fansT1Gmv" dc:"涨粉次日 GMV"`
FansT7Gmv *float64 `json:"fansT7Gmv" dc:"涨粉 7 日 GMV"`
FansT15Gmv *float64 `json:"fansT15Gmv" dc:"涨粉 15 日 GMV"`
FansT30Gmv *float64 `json:"fansT30Gmv" dc:"涨粉 30 日 GMV"`
FansT0Roi *float64 `json:"fansT0Roi" dc:"涨粉当日 ROI"`
FansT1Roi *float64 `json:"fansT1Roi" dc:"涨粉次日 ROI"`
FansT7Roi *float64 `json:"fansT7Roi" dc:"涨粉 7 日 ROI"`
FansT15Roi *float64 `json:"fansT15Roi" dc:"涨粉 15 日 ROI"`
FansT30Roi *float64 `json:"fansT30Roi" dc:"涨粉 30 日 ROI"`
T0ShopNewBuyerOrderPaymentAmt *float64 `json:"t0ShopNewBuyerOrderPaymentAmt" dc:"当日新客 GMV"`
T1ShopNewBuyerOrderPaymentAmt *float64 `json:"t1ShopNewBuyerOrderPaymentAmt" dc:"投后 1 日新客 GMV"`
T3ShopNewBuyerOrderPaymentAmt *float64 `json:"t3ShopNewBuyerOrderPaymentAmt" dc:"投后 3 日新客 GMV"`
T7ShopNewBuyerOrderPaymentAmt *float64 `json:"t7ShopNewBuyerOrderPaymentAmt" dc:"投后 7 日新客 GMV"`
T15ShopNewBuyerOrderPaymentAmt *float64 `json:"t15ShopNewBuyerOrderPaymentAmt" dc:"投后 15 日新客 GMV"`
T30ShopNewBuyerOrderPaymentAmt *float64 `json:"t30ShopNewBuyerOrderPaymentAmt" dc:"投后 30 日新客 GMV"`
T0ShopNewBuyerOrderCnt *int64 `json:"t0ShopNewBuyerOrderCnt" dc:"当日新客成交订单量"`
T1ShopNewBuyerOrderCnt *int64 `json:"t1ShopNewBuyerOrderCnt" dc:"投后 1 日新客成交订单量"`
T3ShopNewBuyerOrderCnt *int64 `json:"t3ShopNewBuyerOrderCnt" dc:"投后 3 日新客成交订单量"`
T7ShopNewBuyerOrderCnt *int64 `json:"t7ShopNewBuyerOrderCnt" dc:"投后 7 日新客成交订单量"`
T15ShopNewBuyerOrderCnt *int64 `json:"t15ShopNewBuyerOrderCnt" dc:"投后 15 日新客成交订单量"`
T30ShopNewBuyerOrderCnt *int64 `json:"t30ShopNewBuyerOrderCnt" dc:"投后 30 日新客成交订单量"`
T1NewBuyerRepurchaseRatio *float64 `json:"t1NewBuyerRepurchaseRatio" dc:"投后 1 日新客复购率"`
T3NewBuyerRepurchaseRatio *float64 `json:"t3NewBuyerRepurchaseRatio" dc:"投后 3 日新客复购率"`
T7NewBuyerRepurchaseRatio *float64 `json:"t7NewBuyerRepurchaseRatio" dc:"投后 7 日新客复购率"`
T15NewBuyerRepurchaseRatio *float64 `json:"t15NewBuyerRepurchaseRatio" dc:"投后 15 日新客复购率"`
T30NewBuyerRepurchaseRatio *float64 `json:"t30NewBuyerRepurchaseRatio" dc:"投后 30 日新客复购率"`
T0ShopNewBuyerRoi *float64 `json:"t0ShopNewBuyerRoi" dc:"投后当日新客 ROI"`
T1ShopNewBuyerRoi *float64 `json:"t1ShopNewBuyerRoi" dc:"投后 1 日新客 ROI"`
T3ShopNewBuyerRoi *float64 `json:"t3ShopNewBuyerRoi" dc:"投后 3 日新客 ROI"`
T7ShopNewBuyerRoi *float64 `json:"t7ShopNewBuyerRoi" dc:"投后 7 日新客 ROI"`
T15ShopNewBuyerRoi *float64 `json:"t15ShopNewBuyerRoi" dc:"投后 15 日新客 ROI"`
T30ShopNewBuyerRoi *float64 `json:"t30ShopNewBuyerRoi" dc:"投后 30 日新客 ROI"`
CreateCardOrderCnt *int64 `json:"createCardOrderCnt" dc:"有效制卡订单数(回传时间)"`
ForwardTsCreateCardOrderCnt *int64 `json:"forwardTsCreateCardOrderCnt" dc:"有效制卡订单数(计费时间)"`
CreateCardOrderCost *float64 `json:"createCardOrderCost" dc:"有效制卡订单成本(回传时间)"`
ForwardTsCreateCardOrderCost *float64 `json:"forwardTsCreateCardOrderCost" dc:"有效制卡订单成本(计费时间)"`
ActivateCardOrderCnt *int64 `json:"activateCardOrderCnt" dc:"电话卡激活订单数(回传时间)"`
ForwardTsActivateCardOrderCnt *int64 `json:"forwardTsActivateCardOrderCnt" dc:"电话卡激活订单数(计费时间)"`
ActivateCardOrderCost *float64 `json:"activateCardOrderCost" dc:"电话卡激活订单成本(回传时间)"`
ForwardTsActivateCardOrderCost *float64 `json:"forwardTsActivateCardOrderCost" dc:"电话卡激活订单成本(计费时间)"`
CreateCardOrderRatio *float64 `json:"createCardOrderRatio" dc:"有效制卡订单率(回传时间)"`
ForwardTsCreateCardOrderRatio *float64 `json:"forwardTsCreateCardOrderRatio" dc:"有效制卡订单率(计费时间)"`
ActivateCardOrderCntRatio *float64 `json:"activateCardOrderCntRatio" dc:"电话卡激活率(回传时间)"`
ForwardTsActivateCardOrderRatio *float64 `json:"forwardTsActivateCardOrderRatio" dc:"电话卡激活率(计费时间)"`
LivePlayCnt *int64 `json:"livePlayCnt" dc:"全站直播观看数"`
ItemEntranceClkCnt *int64 `json:"itemEntranceClkCnt" dc:"小黄车点击数"`
ShowCnt *int64 `json:"showCnt" dc:"全站曝光"`
ReportDateStr string `json:"reportDateStr" v:"required" dc:"时间"`
CampaignId *int64 `json:"campaignId" dc:"计划 ID"`
CampaignName string `json:"campaignName" dc:"计划名称"`
UnitId *int64 `json:"unitId" dc:"单元 ID"`
UnitName string `json:"unitName" dc:"单元名称"`
CreativeId *int64 `json:"creativeId" dc:"创意 ID"`
CreativeName string `json:"creativeName" dc:"创意名称"`
CidActualRoiAfterSubsidy *float64 `json:"cidActualRoiAfterSubsidy" dc:"补贴后实际 ROI"`
CidCouponAmount *int64 `json:"cidCouponAmount" dc:"核销券金额"`
CidCouponCallbackPaidRefundAmount *int64 `json:"cidCouponCallbackPaidRefundAmount" dc:"退单有回传_核销券金额"`
CidVoucherCost *float64 `json:"cidVoucherCost" dc:"券成本"`
}
type ListCampaignReportDetailReq struct {
g.Meta `path:"/listCampaignReportDetail" method:"get" tags:"广告效果明细报表" summary:"获取广告效果指标明细表列表" dc:"分页查询广告效果指标明细表列表"`
*beans.Page
ReportDateStr string `json:"reportDateStr" dc:"时间"`
CampaignId *int64 `json:"campaignId" dc:"计划 ID"`
UnitId *int64 `json:"unitId" dc:"单元 ID"`
CreativeId *int64 `json:"creativeId" dc:"创意 ID"`
AuthorId string `json:"authorId" dc:"直播用户快手 Id"`
MerchantProductId string `json:"merchantProductId" dc:"商品 ID"`
Keyword string `json:"keyword" dc:"关键字"`
}
type ListCampaignReportDetailRes struct {
List []*CampaignReportDetailItem `json:"list" dc:"广告效果明细列表"`
Total int `json:"total" dc:"总数"`
}

View File

@@ -0,0 +1,237 @@
package copydata
import (
"gitea.com/red-future/common/beans"
"github.com/gogf/gf/v2/frame/g"
)
// CreateCampaignReportSumReq 创建广告计划效果指标表请求
type CreateCampaignReportSumReq struct {
g.Meta `path:"/createCampaignReportSum" method:"post" tags:"广告计划报表" summary:"创建广告计划效果指标表" dc:"创建新的广告计划效果指标表"`
*CampaignReportSumItem
}
// CreateCampaignReportSumRes 创建广告计划效果指标表响应
type CreateCampaignReportSumRes struct {
Id int64 `json:"id" dc:"广告计划效果 ID"`
}
// BatchCreateCampaignReportSumReq 批量创建广告计划效果指标表请求
type BatchCreateCampaignReportSumReq struct {
g.Meta `path:"/batchCreateCampaignReportSum" method:"post" tags:"广告计划报表" summary:"批量创建广告计划效果指标表" dc:"批量创建广告计划效果指标表"`
Items []*CampaignReportSumItem `json:"items" v:"required" dc:"广告计划效果列表"`
}
// BatchCreateCampaignReportSumRes 批量创建广告计划效果指标表响应
type BatchCreateCampaignReportSumRes struct {
SuccessCount int64 `json:"successCount" dc:"成功数量"`
FailCount int64 `json:"failCount" dc:"失败数量"`
FailedItems []int64 `json:"failedItems" dc:"失败项索引"`
}
// CampaignReportSumItem 广告计划效果指标表项
type CampaignReportSumItem struct {
T0OrderPaymentAmt *float64 `json:"t0OrderPaymentAmt" dc:"当日总成交订单金额"`
CreativeMaterialType string `json:"creativeMaterialType" dc:"视频素材类型视频HORIZONTAL_SCREEN, VERTICAL_SCREEN, UNKNOWN_TYPE图集ATLAS长图ATLAS_VERTICAL"`
LiveName string `json:"liveName" dc:"直播间名称"`
AuthorId string `json:"authorId" dc:"直播用户快手 Id"`
PicUrl string `json:"picUrl" dc:"图片 URL"`
PicName string `json:"picName" dc:"图片名称"`
PicId string `json:"picId" dc:"图片 Id"`
CoverUrl string `json:"coverUrl" dc:"封面 URL"`
CoverId *int64 `json:"coverId" dc:"封面 Id"`
ItemOrderConversionRatio *float64 `json:"itemOrderConversionRatio" dc:"转化率"`
ItemCardClickRatio *float64 `json:"itemCardClickRatio" dc:"点击率"`
ItemCardClkCnt *int64 `json:"itemCardClkCnt" dc:"商品卡点击数"`
LivePlayCntCost *float64 `json:"livePlayCntCost" dc:"直播间观看成本"`
AdMerchantFollowCost *float64 `json:"adMerchantFollowCost" dc:"涨粉成本"`
AdMerchantFollow *int64 `json:"adMerchantFollow" dc:"涨粉数"`
NetT0OrderCnt *int64 `json:"netT0OrderCnt" dc:"当日累计净成交订单数"`
NetT0Roi *float64 `json:"netT0Roi" dc:"净成交 ROI"`
NetT0Gmv *float64 `json:"netT0Gmv" dc:"净成交 GMV"`
PhotoName string `json:"photoName" dc:"视频名称"`
PhotoIdStr string `json:"photoIdStr" dc:"视频 id"`
PhotoId string `json:"photoId" dc:"视频 id"`
ModPriceSegment string `json:"modPriceSegment" dc:"设备价格区间"`
AgeSegment string `json:"ageSegment" dc:"年龄段"`
Province string `json:"province" dc:"省份名称"`
Gender string `json:"gender" dc:"性别"`
AdPhotoPlayedFiveRatio *float64 `json:"adPhotoPlayedFiveRatio" dc:"作品 5 秒播放率"`
AdPhotoPlayedThreeRatio *float64 `json:"adPhotoPlayedThreeRatio" dc:"作品 3 秒播放率"`
OrderSubmitRoi *float64 `json:"orderSubmitRoi" dc:"订单提交 ROI"`
OrderSubmitAmt *int64 `json:"orderSubmitAmt" dc:"外部订单金额"`
EventOrderSubmitCost *float64 `json:"eventOrderSubmitCost" dc:"订单提交成本"`
EventOrderSubmit *int64 `json:"eventOrderSubmit" dc:"订单提交数"`
EventOrderPaidRoi *float64 `json:"eventOrderPaidRoi" dc:"订单支付率"`
EventAppInvoked *int64 `json:"eventAppInvoked" dc:"唤起应用数"`
EventAddShoppingCart *int64 `json:"eventAddShoppingCart" dc:"添加购物车次数"`
ConversionNumCost *float64 `json:"conversionNumCost" dc:"转化成本(回传时间)"`
AdEffectivePlayNum *int64 `json:"adEffectivePlayNum" dc:"有效播放数"`
AdItemClick *int64 `json:"adItemClick" dc:"行为数"`
MerchantProductId string `json:"merchantProductId" dc:"商品 ID"`
CostTotal *float64 `json:"costTotal" dc:"花费"`
AdShow *int64 `json:"adShow" dc:"曝光数"`
AdShow1kCost *float64 `json:"adShow1kCost" dc:"平均千次广告曝光花费"`
Impression *int64 `json:"impression" dc:"封面曝光数"`
PhotoClick *int64 `json:"photoClick" dc:"封面点击数"`
PhotoClickRatio *float64 `json:"photoClickRatio" dc:"封面点击率"`
Click *int64 `json:"click" dc:"素材曝光数"`
ActionbarClick *int64 `json:"actionbarClick" dc:"行为数"`
ActionbarClickCost *float64 `json:"actionbarClickCost" dc:"行为成本"`
EspClickRatio *float64 `json:"espClickRatio" dc:"行为率"`
ActionRatio *float64 `json:"actionRatio" dc:"素材点击率"`
AdItemClickCount *int64 `json:"adItemClickCount" dc:"预约组件点击数"`
EspLivePlayedSeconds *int64 `json:"espLivePlayedSeconds" dc:"直播平均观看时长"`
PlayedThreeSeconds *int64 `json:"playedThreeSeconds" dc:"作品 3 秒播放数"`
Play3sRatio *float64 `json:"play3sRatio" dc:"作品 3 秒播放率"`
PlayedFiveSeconds *int64 `json:"playedFiveSeconds" dc:"作品 5 秒播放数"`
Play5sRatio *float64 `json:"play5sRatio" dc:"作品 5 秒播放率"`
PlayedEnd *int64 `json:"playedEnd" dc:"作品完播数"`
PlayEndRatio *float64 `json:"playEndRatio" dc:"作品完播率"`
Share *int64 `json:"share" dc:"作品分享数"`
Comment *int64 `json:"comment" dc:"作品评论数"`
Likes *int64 `json:"likes" dc:"作品点赞数"`
Report *int64 `json:"report" dc:"作品举报数"`
Block *int64 `json:"block" dc:"作品拉黑数"`
ItemNegative *int64 `json:"itemNegative" dc:"详情页减少此类作品数"`
LiveShare *int64 `json:"liveShare" dc:"直播送礼数"`
LiveComment *int64 `json:"liveComment" dc:"直播评论数"`
LiveReward *int64 `json:"liveReward" dc:"直播送礼数"`
EffectivePlayCount *int64 `json:"effectivePlayCount" dc:"有效播放数"`
EffectivePlayRatio *float64 `json:"effectivePlayRatio" dc:"有效播放率"`
ConversionNum *int64 `json:"conversionNum" dc:"转化数"`
ConversionCostEsp *float64 `json:"conversionCostEsp" dc:"转化成本"`
Roi *float64 `json:"roi" dc:"直接 ROI"`
Gmv *float64 `json:"gmv" dc:"直接 GMV"`
T0Gmv *float64 `json:"t0Gmv" dc:"当日累计 GMV"`
T1Gmv *float64 `json:"t1Gmv" dc:"次日累计 GMV"`
T7Gmv *float64 `json:"t7Gmv" dc:"7 日累计 GMV"`
T15Gmv *float64 `json:"t15Gmv" dc:"15 日累计 GMV"`
T30Gmv *float64 `json:"t30Gmv" dc:"30 日累计 GMV"`
T0Roi *float64 `json:"t0Roi" dc:"当日累计 ROI"`
T1Roi *float64 `json:"t1Roi" dc:"次日累计 ROI"`
T7Roi *float64 `json:"t7Roi" dc:"7 日累计 ROI"`
T15Roi *float64 `json:"t15Roi" dc:"15 日累计 ROI"`
T30Roi *float64 `json:"t30Roi" dc:"30 日累计 ROI"`
PaiedOrder *int64 `json:"paiedOrder" dc:"直接订单数"`
OrderRatio *float64 `json:"orderRatio" dc:"直接下单率"`
T0OrderCnt *int64 `json:"t0OrderCnt" dc:"当日累计订单数"`
T0OrderCntCost *float64 `json:"t0OrderCntCost" dc:"当日累计订单成本"`
T0OrderCntRatio *float64 `json:"t0OrderCntRatio" dc:"累计订单下单率"`
T1OrderCnt *int64 `json:"t1OrderCnt" dc:"次日累计订单数"`
T7OrderCnt *int64 `json:"t7OrderCnt" dc:"7 日累计订单数"`
T15OrderCnt *int64 `json:"t15OrderCnt" dc:"15 日累计订单数"`
T30OrderCnt *int64 `json:"t30OrderCnt" dc:"30 日累计订单数"`
MerchantRecoFans *int64 `json:"merchantRecoFans" dc:"涨粉数"`
T1Retention *float64 `json:"t1Retention" dc:"次日涨粉留存数"`
T7Retention *float64 `json:"t7Retention" dc:"7 日涨粉留存数"`
T15Retention *float64 `json:"t15Retention" dc:"15 日涨粉留存数"`
T30Retention *float64 `json:"t30Retention" dc:"30 日涨粉留存数"`
T1RetentionRatio *float64 `json:"t1RetentionRatio" dc:"次日涨粉留存率"`
T7RetentionRatio *float64 `json:"t7RetentionRatio" dc:"7 日涨粉留存率"`
T15RetentionRatio *float64 `json:"t15RetentionRatio" dc:"15 日涨粉留存率"`
T30RetentionRatio *float64 `json:"t30RetentionRatio" dc:"30 日涨粉留存率"`
ReservationSuccess *int64 `json:"reservationSuccess" dc:"直播预约成功数"`
ReservationCost *float64 `json:"reservationCost" dc:"直播预约成功成本"`
StandardLivePlayedStarted *int64 `json:"standardLivePlayedStarted" dc:"直播观看数"`
AdLivePlayCnt *int64 `json:"adLivePlayCnt" dc:"直播间人气数"`
AdLivePlayCntCost *float64 `json:"adLivePlayCntCost" dc:"直播间人气成本"`
LiveAudienceCost *float64 `json:"liveAudienceCost" dc:"直播观看成本"`
LiveEventGoodsView *int64 `json:"liveEventGoodsView" dc:"直播间商品点击数"`
GoodsClickRatio *float64 `json:"goodsClickRatio" dc:"直播间商品点击率"`
DirectAttrPlatNewBuyerCnt *int64 `json:"directAttrPlatNewBuyerCnt" dc:"直接平台新客"`
T30AttrPlatTotalBuyerCnt *int64 `json:"t30AttrPlatTotalBuyerCnt" dc:"30 日累计平台新客"`
DirectAttrSellerNewBuyerCnt *int64 `json:"directAttrSellerNewBuyerCnt" dc:"直接店铺新客"`
T30AttrSellerTotalBuyerCnt *int64 `json:"t30AttrSellerTotalBuyerCnt" dc:"30 日累计店铺新客"`
T3Gmv *float64 `json:"t3Gmv" dc:"3 日累计 GMV"`
T3OrderCnt *int64 `json:"t3OrderCnt" dc:"3 日累计订单数"`
T3Roi *float64 `json:"t3Roi" dc:"3 日累计 ROI"`
T7IndirectOrderAmt *float64 `json:"t7IndirectOrderAmt" dc:"7 日间接订单金额"`
T7IndirectOrderCnt *int64 `json:"t7IndirectOrderCnt" dc:"7 日间接订单数"`
FansT0GmvPerFans *float64 `json:"fansT0GmvPerFans" dc:"新增粉丝人均销售额"`
FansT3GmvPerFans *float64 `json:"fansT3GmvPerFans" dc:"3 日新增粉丝人均销售额"`
FansT7GmvPerFans *float64 `json:"fansT7GmvPerFans" dc:"7 日新增粉丝人均销售额"`
FansT15GmvPerFans *float64 `json:"fansT15GmvPerFans" dc:"15 日新增粉丝人均销售额"`
FansT30GmvPerFans *float64 `json:"fansT30GmvPerFans" dc:"30 日新增粉丝人均销售额"`
RecoFansCost *float64 `json:"recoFansCost" dc:"涨粉成本"`
QcpxWhiteboxDirectOrderPaymentAmt *float64 `json:"qcpxWhiteboxDirectOrderPaymentAmt" dc:"智能优惠券订单 GMV"`
QcpxWhiteboxDirectOrderCnt *int64 `json:"qcpxWhiteboxDirectOrderCnt" dc:"智能优惠券订单数"`
FansT0Gmv *float64 `json:"fansT0Gmv" dc:"涨粉当日 GMV"`
FansT1Gmv *float64 `json:"fansT1Gmv" dc:"涨粉次日 GMV"`
FansT7Gmv *float64 `json:"fansT7Gmv" dc:"涨粉 7 日 GMV"`
FansT15Gmv *float64 `json:"fansT15Gmv" dc:"涨粉 15 日 GMV"`
FansT30Gmv *float64 `json:"fansT30Gmv" dc:"涨粉 30 日 GMV"`
FansT0Roi *float64 `json:"fansT0Roi" dc:"涨粉当日 ROI"`
FansT1Roi *float64 `json:"fansT1Roi" dc:"涨粉次日 ROI"`
FansT7Roi *float64 `json:"fansT7Roi" dc:"涨粉 7 日 ROI"`
FansT15Roi *float64 `json:"fansT15Roi" dc:"涨粉 15 日 ROI"`
FansT30Roi *float64 `json:"fansT30Roi" dc:"涨粉 30 日 ROI"`
T0ShopNewBuyerOrderPaymentAmt *float64 `json:"t0ShopNewBuyerOrderPaymentAmt" dc:"当日新客 GMV"`
T1ShopNewBuyerOrderPaymentAmt *float64 `json:"t1ShopNewBuyerOrderPaymentAmt" dc:"投后 1 日新客 GMV"`
T3ShopNewBuyerOrderPaymentAmt *float64 `json:"t3ShopNewBuyerOrderPaymentAmt" dc:"投后 3 日新客 GMV"`
T7ShopNewBuyerOrderPaymentAmt *float64 `json:"t7ShopNewBuyerOrderPaymentAmt" dc:"投后 7 日新客 GMV"`
T15ShopNewBuyerOrderPaymentAmt *float64 `json:"t15ShopNewBuyerOrderPaymentAmt" dc:"投后 15 日新客 GMV"`
T30ShopNewBuyerOrderPaymentAmt *float64 `json:"t30ShopNewBuyerOrderPaymentAmt" dc:"投后 30 日新客 GMV"`
T0ShopNewBuyerOrderCnt *int64 `json:"t0ShopNewBuyerOrderCnt" dc:"当日新客成交订单量"`
T1ShopNewBuyerOrderCnt *int64 `json:"t1ShopNewBuyerOrderCnt" dc:"投后 1 日新客成交订单量"`
T3ShopNewBuyerOrderCnt *int64 `json:"t3ShopNewBuyerOrderCnt" dc:"投后 3 日新客成交订单量"`
T7ShopNewBuyerOrderCnt *int64 `json:"t7ShopNewBuyerOrderCnt" dc:"投后 7 日新客成交订单量"`
T15ShopNewBuyerOrderCnt *int64 `json:"t15ShopNewBuyerOrderCnt" dc:"投后 15 日新客成交订单量"`
T30ShopNewBuyerOrderCnt *int64 `json:"t30ShopNewBuyerOrderCnt" dc:"投后 30 日新客成交订单量"`
T1NewBuyerRepurchaseRatio *float64 `json:"t1NewBuyerRepurchaseRatio" dc:"投后 1 日新客复购率"`
T3NewBuyerRepurchaseRatio *float64 `json:"t3NewBuyerRepurchaseRatio" dc:"投后 3 日新客复购率"`
T7NewBuyerRepurchaseRatio *float64 `json:"t7NewBuyerRepurchaseRatio" dc:"投后 7 日新客复购率"`
T15NewBuyerRepurchaseRatio *float64 `json:"t15NewBuyerRepurchaseRatio" dc:"投后 15 日新客复购率"`
T30NewBuyerRepurchaseRatio *float64 `json:"t30NewBuyerRepurchaseRatio" dc:"投后 30 日新客复购率"`
T0ShopNewBuyerRoi *float64 `json:"t0ShopNewBuyerRoi" dc:"投后当日新客 ROI"`
T1ShopNewBuyerRoi *float64 `json:"t1ShopNewBuyerRoi" dc:"投后 1 日新客 ROI"`
T3ShopNewBuyerRoi *float64 `json:"t3ShopNewBuyerRoi" dc:"投后 3 日新客 ROI"`
T7ShopNewBuyerRoi *float64 `json:"t7ShopNewBuyerRoi" dc:"投后 7 日新客 ROI"`
T15ShopNewBuyerRoi *float64 `json:"t15ShopNewBuyerRoi" dc:"投后 15 日新客 ROI"`
T30ShopNewBuyerRoi *float64 `json:"t30ShopNewBuyerRoi" dc:"投后 30 日新客 ROI"`
CreateCardOrderCnt *int64 `json:"createCardOrderCnt" dc:"有效制卡订单数(回传时间)"`
ForwardTsCreateCardOrderCnt *int64 `json:"forwardTsCreateCardOrderCnt" dc:"有效制卡订单数(计费时间)"`
CreateCardOrderCost *float64 `json:"createCardOrderCost" dc:"有效制卡订单成本(回传时间)"`
ForwardTsCreateCardOrderCost *float64 `json:"forwardTsCreateCardOrderCost" dc:"有效制卡订单成本(计费时间)"`
ActivateCardOrderCnt *int64 `json:"activateCardOrderCnt" dc:"电话卡激活订单数(回传时间)"`
ForwardTsActivateCardOrderCnt *int64 `json:"forwardTsActivateCardOrderCnt" dc:"电话卡激活订单数(计费时间)"`
ActivateCardOrderCost *float64 `json:"activateCardOrderCost" dc:"电话卡激活订单成本(回传时间)"`
ForwardTsActivateCardOrderCost *float64 `json:"forwardTsActivateCardOrderCost" dc:"电话卡激活订单成本(计费时间)"`
CreateCardOrderRatio *float64 `json:"createCardOrderRatio" dc:"有效制卡订单率(回传时间)"`
ForwardTsCreateCardOrderRatio *float64 `json:"forwardTsCreateCardOrderRatio" dc:"有效制卡订单率(计费时间)"`
ActivateCardOrderCntRatio *float64 `json:"activateCardOrderCntRatio" dc:"电话卡激活率(回传时间)"`
ForwardTsActivateCardOrderRatio *float64 `json:"forwardTsActivateCardOrderRatio" dc:"电话卡激活率(计费时间)"`
LivePlayCnt *int64 `json:"livePlayCnt" dc:"全站直播观看数"`
ItemEntranceClkCnt *int64 `json:"itemEntranceClkCnt" dc:"小黄车点击数"`
ShowCnt *int64 `json:"showCnt" dc:"全站曝光"`
ReportDateStr string `json:"reportDateStr" v:"required" dc:"时间"`
CampaignId *int64 `json:"campaignId" dc:"计划 ID"`
CampaignName string `json:"campaignName" dc:"计划名称"`
UnitId *int64 `json:"unitId" dc:"单元 ID"`
UnitName string `json:"unitName" dc:"单元名称"`
CreativeId *int64 `json:"creativeId" dc:"创意 ID"`
CreativeName string `json:"creativeName" dc:"创意名称"`
CidActualRoiAfterSubsidy *float64 `json:"cidActualRoiAfterSubsidy" dc:"补贴后实际 ROI"`
CidCouponAmount *int64 `json:"cidCouponAmount" dc:"核销券金额"`
CidCouponCallbackPaidRefundAmount *int64 `json:"cidCouponCallbackPaidRefundAmount" dc:"退单有回传_核销券金额"`
CidVoucherCost *float64 `json:"cidVoucherCost" dc:"券成本"`
}
// ListCampaignReportSumReq 获取广告计划效果指标表列表请求
type ListCampaignReportSumReq struct {
g.Meta `path:"/listCampaignReportSum" method:"get" tags:"广告计划报表" summary:"获取广告计划效果指标表列表" dc:"分页查询广告计划效果指标表列表"`
*beans.Page
ReportDateStr string `json:"reportDateStr" dc:"时间"`
CampaignId *int64 `json:"campaignId" dc:"计划 ID"`
UnitId *int64 `json:"unitId" dc:"单元 ID"`
CreativeId *int64 `json:"creativeId" dc:"创意 ID"`
AuthorId string `json:"authorId" dc:"直播用户快手 Id"`
MerchantProductId string `json:"merchantProductId" dc:"商品 ID"`
Keyword string `json:"keyword" dc:"关键字(搜索直播间名称、视频名称等)"`
}
// ListCampaignReportSumRes 获取广告计划效果指标表列表响应
type ListCampaignReportSumRes struct {
List []*CampaignReportSumItem `json:"list" dc:"广告计划效果列表"`
Total int `json:"total" dc:"总数"`
}

View File

@@ -0,0 +1,582 @@
package copydata
import "gitea.com/red-future/common/beans"
// CampaignReportDetail 广告效果指标明细表实体
type CampaignReportDetail struct {
beans.SQLBaseDO `orm:",inherit"`
T0OrderPaymentAmt *float64 `orm:"t0_order_payment_amt" json:"t0OrderPaymentAmt" description:"当日总成交订单金额"`
CreativeMaterialType string `orm:"creative_material_type" json:"creativeMaterialType" description:"视频素材类型"`
LiveName string `orm:"live_name" json:"liveName" description:"直播间名称"`
AuthorId string `orm:"author_id" json:"authorId" description:"直播用户快手 Id"`
PicUrl string `orm:"pic_url" json:"picUrl" description:"图片 URL"`
PicName string `orm:"pic_name" json:"picName" description:"图片名称"`
PicId string `orm:"pic_id" json:"picId" description:"图片 Id"`
CoverUrl string `orm:"cover_url" json:"coverUrl" description:"封面 URL"`
CoverId *int64 `orm:"cover_id" json:"coverId" description:"封面 Id"`
ItemOrderConversionRatio *float64 `orm:"item_order_conversion_ratio" json:"itemOrderConversionRatio" description:"转化率"`
ItemCardClickRatio *float64 `orm:"item_card_click_ratio" json:"itemCardClickRatio" description:"点击率"`
ItemCardClkCnt *int64 `orm:"item_card_clk_cnt" json:"itemCardClkCnt" description:"商品卡点击数"`
LivePlayCntCost *float64 `orm:"live_play_cnt_cost" json:"livePlayCntCost" description:"直播间观看成本"`
AdMerchantFollowCost *float64 `orm:"ad_merchant_follow_cost" json:"adMerchantFollowCost" description:"涨粉成本"`
AdMerchantFollow *int64 `orm:"ad_merchant_follow" json:"adMerchantFollow" description:"涨粉数"`
NetT0OrderCnt *int64 `orm:"net_t0_order_cnt" json:"netT0OrderCnt" description:"当日累计净成交订单数"`
NetT0Roi *float64 `orm:"net_t0_roi" json:"netT0Roi" description:"净成交 ROI"`
NetT0Gmv *float64 `orm:"net_t0_gmv" json:"netT0Gmv" description:"净成交 GMV"`
PhotoName string `orm:"photo_name" json:"photoName" description:"视频名称"`
PhotoIdStr string `orm:"photo_id_str" json:"photoIdStr" description:"视频 id"`
PhotoId string `orm:"photo_id" json:"photoId" description:"视频 id"`
ModPriceSegment string `orm:"mod_price_segment" json:"modPriceSegment" description:"设备价格区间"`
AgeSegment string `orm:"age_segment" json:"ageSegment" description:"年龄段"`
Province string `orm:"province" json:"province" description:"省份名称"`
Gender string `orm:"gender" json:"gender" description:"性别"`
AdPhotoPlayedFiveRatio *float64 `orm:"ad_photo_played_five_ratio" json:"adPhotoPlayedFiveRatio" description:"作品 5 秒播放率"`
AdPhotoPlayedThreeRatio *float64 `orm:"ad_photo_played_three_ratio" json:"adPhotoPlayedThreeRatio" description:"作品 3 秒播放率"`
OrderSubmitRoi *float64 `orm:"order_submit_roi" json:"orderSubmitRoi" description:"订单提交 ROI"`
OrderSubmitAmt *int64 `orm:"order_submit_amt" json:"orderSubmitAmt" description:"外部订单金额"`
EventOrderSubmitCost *float64 `orm:"event_order_submit_cost" json:"eventOrderSubmitCost" description:"订单提交成本"`
EventOrderSubmit *int64 `orm:"event_order_submit" json:"eventOrderSubmit" description:"订单提交数"`
EventOrderPaidRoi *float64 `orm:"event_order_paid_roi" json:"eventOrderPaidRoi" description:"订单支付率"`
EventAppInvoked *int64 `orm:"event_app_invoked" json:"eventAppInvoked" description:"唤起应用数"`
EventAddShoppingCart *int64 `orm:"event_add_shopping_cart" json:"eventAddShoppingCart" description:"添加购物车次数"`
ConversionNumCost *float64 `orm:"conversion_num_cost" json:"conversionNumCost" description:"转化成本(回传时间)"`
AdEffectivePlayNum *int64 `orm:"ad_effective_play_num" json:"adEffectivePlayNum" description:"有效播放数"`
AdItemClick *int64 `orm:"ad_item_click" json:"adItemClick" description:"行为数"`
MerchantProductId string `orm:"merchant_product_id" json:"merchantProductId" description:"商品 ID"`
CostTotal *float64 `orm:"cost_total" json:"costTotal" description:"花费"`
AdShow *int64 `orm:"ad_show" json:"adShow" description:"曝光数"`
AdShow1kCost *float64 `orm:"ad_show1k_cost" json:"adShow1kCost" description:"平均千次广告曝光花费"`
Impression *int64 `orm:"impression" json:"impression" description:"封面曝光数"`
PhotoClick *int64 `orm:"photo_click" json:"photoClick" description:"封面点击数"`
PhotoClickRatio *float64 `orm:"photo_click_ratio" json:"photoClickRatio" description:"封面点击率"`
Click *int64 `orm:"click" json:"click" description:"素材曝光数"`
ActionbarClick *int64 `orm:"actionbar_click" json:"actionbarClick" description:"行为数"`
ActionbarClickCost *float64 `orm:"actionbar_click_cost" json:"actionbarClickCost" description:"行为成本"`
EspClickRatio *float64 `orm:"esp_click_ratio" json:"espClickRatio" description:"行为率"`
ActionRatio *float64 `orm:"action_ratio" json:"actionRatio" description:"素材点击率"`
AdItemClickCount *int64 `orm:"ad_item_click_count" json:"adItemClickCount" description:"预约组件点击数"`
EspLivePlayedSeconds *int64 `orm:"esp_live_played_seconds" json:"espLivePlayedSeconds" description:"直播平均观看时长"`
PlayedThreeSeconds *int64 `orm:"played_three_seconds" json:"playedThreeSeconds" description:"作品 3 秒播放数"`
Play3sRatio *float64 `orm:"play3s_ratio" json:"play3sRatio" description:"作品 3 秒播放率"`
PlayedFiveSeconds *int64 `orm:"played_five_seconds" json:"playedFiveSeconds" description:"作品 5 秒播放数"`
Play5sRatio *float64 `orm:"play5s_ratio" json:"play5sRatio" description:"作品 5 秒播放率"`
PlayedEnd *int64 `orm:"played_end" json:"playedEnd" description:"作品完播数"`
PlayEndRatio *float64 `orm:"play_end_ratio" json:"playEndRatio" description:"作品完播率"`
Share *int64 `orm:"share" json:"share" description:"作品分享数"`
Comment *int64 `orm:"comment" json:"comment" description:"作品评论数"`
Likes *int64 `orm:"likes" json:"likes" description:"作品点赞数"`
Report *int64 `orm:"report" json:"report" description:"作品举报数"`
Block *int64 `orm:"block" json:"block" description:"作品拉黑数"`
ItemNegative *int64 `orm:"item_negative" json:"itemNegative" description:"详情页减少此类作品数"`
LiveShare *int64 `orm:"live_share" json:"liveShare" description:"直播送礼数"`
LiveComment *int64 `orm:"live_comment" json:"liveComment" description:"直播评论数"`
LiveReward *int64 `orm:"live_reward" json:"liveReward" description:"直播送礼数"`
EffectivePlayCount *int64 `orm:"effective_play_count" json:"effectivePlayCount" description:"有效播放数"`
EffectivePlayRatio *float64 `orm:"effective_play_ratio" json:"effectivePlayRatio" description:"有效播放率"`
ConversionNum *int64 `orm:"conversion_num" json:"conversionNum" description:"转化数"`
ConversionCostEsp *float64 `orm:"conversion_cost_esp" json:"conversionCostEsp" description:"转化成本"`
Roi *float64 `orm:"roi" json:"roi" description:"直接 ROI"`
Gmv *float64 `orm:"gmv" json:"gmv" description:"直接 GMV"`
T0Gmv *float64 `orm:"t0_gmv" json:"t0Gmv" description:"当日累计 GMV"`
T1Gmv *float64 `orm:"t1_gmv" json:"t1Gmv" description:"次日累计 GMV"`
T7Gmv *float64 `orm:"t7_gmv" json:"t7Gmv" description:"7 日累计 GMV"`
T15Gmv *float64 `orm:"t15_gmv" json:"t15Gmv" description:"15 日累计 GMV"`
T30Gmv *float64 `orm:"t30_gmv" json:"t30Gmv" description:"30 日累计 GMV"`
T0Roi *float64 `orm:"t0_roi" json:"t0Roi" description:"当日累计 ROI"`
T1Roi *float64 `orm:"t1_roi" json:"t1Roi" description:"次日累计 ROI"`
T7Roi *float64 `orm:"t7_roi" json:"t7Roi" description:"7 日累计 ROI"`
T15Roi *float64 `orm:"t15_roi" json:"t15Roi" description:"15 日累计 ROI"`
T30Roi *float64 `orm:"t30_roi" json:"t30Roi" description:"30 日累计 ROI"`
PaiedOrder *int64 `orm:"paied_order" json:"paiedOrder" description:"直接订单数"`
OrderRatio *float64 `orm:"order_ratio" json:"orderRatio" description:"直接下单率"`
T0OrderCnt *int64 `orm:"t0_order_cnt" json:"t0OrderCnt" description:"当日累计订单数"`
T0OrderCntCost *float64 `orm:"t0_order_cnt_cost" json:"t0OrderCntCost" description:"当日累计订单成本"`
T0OrderCntRatio *float64 `orm:"t0_order_cnt_ratio" json:"t0OrderCntRatio" description:"累计订单下单率"`
T1OrderCnt *int64 `orm:"t1_order_cnt" json:"t1OrderCnt" description:"次日累计订单数"`
T7OrderCnt *int64 `orm:"t7_order_cnt" json:"t7OrderCnt" description:"7 日累计订单数"`
T15OrderCnt *int64 `orm:"t15_order_cnt" json:"t15OrderCnt" description:"15 日累计订单数"`
T30OrderCnt *int64 `orm:"t30_order_cnt" json:"t30OrderCnt" description:"30 日累计订单数"`
MerchantRecoFans *int64 `orm:"merchant_reco_fans" json:"merchantRecoFans" description:"涨粉数"`
T1Retention *float64 `orm:"t1_retention" json:"t1Retention" description:"次日涨粉留存数"`
T7Retention *float64 `orm:"t7_retention" json:"t7Retention" description:"7 日涨粉留存数"`
T15Retention *float64 `orm:"t15_retention" json:"t15Retention" description:"15 日涨粉留存数"`
T30Retention *float64 `orm:"t30_retention" json:"t30Retention" description:"30 日涨粉留存数"`
T1RetentionRatio *float64 `orm:"t1_retention_ratio" json:"t1RetentionRatio" description:"次日涨粉留存率"`
T7RetentionRatio *float64 `orm:"t7_retention_ratio" json:"t7RetentionRatio" description:"7 日涨粉留存率"`
T15RetentionRatio *float64 `orm:"t15_retention_ratio" json:"t15RetentionRatio" description:"15 日涨粉留存率"`
T30RetentionRatio *float64 `orm:"t30_retention_ratio" json:"t30RetentionRatio" description:"30 日涨粉留存率"`
ReservationSuccess *int64 `orm:"reservation_success" json:"reservationSuccess" description:"直播预约成功数"`
ReservationCost *float64 `orm:"reservation_cost" json:"reservationCost" description:"直播预约成功成本"`
StandardLivePlayedStarted *int64 `orm:"standard_live_played_started" json:"standardLivePlayedStarted" description:"直播观看数"`
AdLivePlayCnt *int64 `orm:"ad_live_play_cnt" json:"adLivePlayCnt" description:"直播间人气数"`
AdLivePlayCntCost *float64 `orm:"ad_live_play_cnt_cost" json:"adLivePlayCntCost" description:"直播间人气成本"`
LiveAudienceCost *float64 `orm:"live_audience_cost" json:"liveAudienceCost" description:"直播观看成本"`
LiveEventGoodsView *int64 `orm:"live_event_goods_view" json:"liveEventGoodsView" description:"直播间商品点击数"`
GoodsClickRatio *float64 `orm:"goods_click_ratio" json:"goodsClickRatio" description:"直播间商品点击率"`
DirectAttrPlatNewBuyerCnt *int64 `orm:"direct_attr_plat_new_buyer_cnt" json:"directAttrPlatNewBuyerCnt" description:"直接平台新客"`
T30AttrPlatTotalBuyerCnt *int64 `orm:"t30_attr_plat_total_buyer_cnt" json:"t30AttrPlatTotalBuyerCnt" description:"30 日累计平台新客"`
DirectAttrSellerNewBuyerCnt *int64 `orm:"direct_attr_seller_new_buyer_cnt" json:"directAttrSellerNewBuyerCnt" description:"直接店铺新客"`
T30AttrSellerTotalBuyerCnt *int64 `orm:"t30_attr_seller_total_buyer_cnt" json:"t30AttrSellerTotalBuyerCnt" description:"30 日累计店铺新客"`
T3Gmv *float64 `orm:"t3_gmv" json:"t3Gmv" description:"3 日累计 GMV"`
T3OrderCnt *int64 `orm:"t3_order_cnt" json:"t3OrderCnt" description:"3 日累计订单数"`
T3Roi *float64 `orm:"t3_roi" json:"t3Roi" description:"3 日累计 ROI"`
T7IndirectOrderAmt *float64 `orm:"t7_indirect_order_amt" json:"t7IndirectOrderAmt" description:"7 日间接订单金额"`
T7IndirectOrderCnt *int64 `orm:"t7_indirect_order_cnt" json:"t7IndirectOrderCnt" description:"7 日间接订单数"`
FansT0GmvPerFans *float64 `orm:"fans_t0_gmv_per_fans" json:"fansT0GmvPerFans" description:"新增粉丝人均销售额"`
FansT3GmvPerFans *float64 `orm:"fans_t3_gmv_per_fans" json:"fansT3GmvPerFans" description:"3 日新增粉丝人均销售额"`
FansT7GmvPerFans *float64 `orm:"fans_t7_gmv_per_fans" json:"fansT7GmvPerFans" description:"7 日新增粉丝人均销售额"`
FansT15GmvPerFans *float64 `orm:"fans_t15_gmv_per_fans" json:"fansT15GmvPerFans" description:"15 日新增粉丝人均销售额"`
FansT30GmvPerFans *float64 `orm:"fans_t30_gmv_per_fans" json:"fansT30GmvPerFans" description:"30 日新增粉丝人均销售额"`
RecoFansCost *float64 `orm:"reco_fans_cost" json:"recoFansCost" description:"涨粉成本"`
QcpxWhiteboxDirectOrderPaymentAmt *float64 `orm:"qcpx_whitebox_direct_order_payment_amt" json:"qcpxWhiteboxDirectOrderPaymentAmt" description:"智能优惠券订单 GMV"`
QcpxWhiteboxDirectOrderCnt *int64 `orm:"qcpx_whitebox_direct_order_cnt" json:"qcpxWhiteboxDirectOrderCnt" description:"智能优惠券订单数"`
FansT0Gmv *float64 `orm:"fans_t0_gmv" json:"fansT0Gmv" description:"涨粉当日 GMV"`
FansT1Gmv *float64 `orm:"fans_t1_gmv" json:"fansT1Gmv" description:"涨粉次日 GMV"`
FansT7Gmv *float64 `orm:"fans_t7_gmv" json:"fansT7Gmv" description:"涨粉 7 日 GMV"`
FansT15Gmv *float64 `orm:"fans_t15_gmv" json:"fansT15Gmv" description:"涨粉 15 日 GMV"`
FansT30Gmv *float64 `orm:"fans_t30_gmv" json:"fansT30Gmv" description:"涨粉 30 日 GMV"`
FansT0Roi *float64 `orm:"fans_t0_roi" json:"fansT0Roi" description:"涨粉当日 ROI"`
FansT1Roi *float64 `orm:"fans_t1_roi" json:"fansT1Roi" description:"涨粉次日 ROI"`
FansT7Roi *float64 `orm:"fans_t7_roi" json:"fansT7Roi" description:"涨粉 7 日 ROI"`
FansT15Roi *float64 `orm:"fans_t15_roi" json:"fansT15Roi" description:"涨粉 15 日 ROI"`
FansT30Roi *float64 `orm:"fans_t30_roi" json:"fansT30Roi" description:"涨粉 30 日 ROI"`
T0ShopNewBuyerOrderPaymentAmt *float64 `orm:"t0_shop_new_buyer_order_payment_amt" json:"t0ShopNewBuyerOrderPaymentAmt" description:"当日新客 GMV"`
T1ShopNewBuyerOrderPaymentAmt *float64 `orm:"t1_shop_new_buyer_order_payment_amt" json:"t1ShopNewBuyerOrderPaymentAmt" description:"投后 1 日新客 GMV"`
T3ShopNewBuyerOrderPaymentAmt *float64 `orm:"t3_shop_new_buyer_order_payment_amt" json:"t3ShopNewBuyerOrderPaymentAmt" description:"投后 3 日新客 GMV"`
T7ShopNewBuyerOrderPaymentAmt *float64 `orm:"t7_shop_new_buyer_order_payment_amt" json:"t7ShopNewBuyerOrderPaymentAmt" description:"投后 7 日新客 GMV"`
T15ShopNewBuyerOrderPaymentAmt *float64 `orm:"t15_shop_new_buyer_order_payment_amt" json:"t15ShopNewBuyerOrderPaymentAmt" description:"投后 15 日新客 GMV"`
T30ShopNewBuyerOrderPaymentAmt *float64 `orm:"t30_shop_new_buyer_order_payment_amt" json:"t30ShopNewBuyerOrderPaymentAmt" description:"投后 30 日新客 GMV"`
T0ShopNewBuyerOrderCnt *int64 `orm:"t0_shop_new_buyer_order_cnt" json:"t0ShopNewBuyerOrderCnt" description:"当日新客成交订单量"`
T1ShopNewBuyerOrderCnt *int64 `orm:"t1_shop_new_buyer_order_cnt" json:"t1ShopNewBuyerOrderCnt" description:"投后 1 日新客成交订单量"`
T3ShopNewBuyerOrderCnt *int64 `orm:"t3_shop_new_buyer_order_cnt" json:"t3ShopNewBuyerOrderCnt" description:"投后 3 日新客成交订单量"`
T7ShopNewBuyerOrderCnt *int64 `orm:"t7_shop_new_buyer_order_cnt" json:"t7ShopNewBuyerOrderCnt" description:"投后 7 日新客成交订单量"`
T15ShopNewBuyerOrderCnt *int64 `orm:"t15_shop_new_buyer_order_cnt" json:"t15ShopNewBuyerOrderCnt" description:"投后 15 日新客成交订单量"`
T30ShopNewBuyerOrderCnt *int64 `orm:"t30_shop_new_buyer_order_cnt" json:"t30ShopNewBuyerOrderCnt" description:"投后 30 日新客成交订单量"`
T1NewBuyerRepurchaseRatio *float64 `orm:"t1_new_buyer_repurchase_ratio" json:"t1NewBuyerRepurchaseRatio" description:"投后 1 日新客复购率"`
T3NewBuyerRepurchaseRatio *float64 `orm:"t3_new_buyer_repurchase_ratio" json:"t3NewBuyerRepurchaseRatio" description:"投后 3 日新客复购率"`
T7NewBuyerRepurchaseRatio *float64 `orm:"t7_new_buyer_repurchase_ratio" json:"t7NewBuyerRepurchaseRatio" description:"投后 7 日新客复购率"`
T15NewBuyerRepurchaseRatio *float64 `orm:"t15_new_buyer_repurchase_ratio" json:"t15NewBuyerRepurchaseRatio" description:"投后 15 日新客复购率"`
T30NewBuyerRepurchaseRatio *float64 `orm:"t30_new_buyer_repurchase_ratio" json:"t30NewBuyerRepurchaseRatio" description:"投后 30 日新客复购率"`
T0ShopNewBuyerRoi *float64 `orm:"t0_shop_new_buyer_roi" json:"t0ShopNewBuyerRoi" description:"投后当日新客 ROI"`
T1ShopNewBuyerRoi *float64 `orm:"t1_shop_new_buyer_roi" json:"t1ShopNewBuyerRoi" description:"投后 1 日新客 ROI"`
T3ShopNewBuyerRoi *float64 `orm:"t3_shop_new_buyer_roi" json:"t3ShopNewBuyerRoi" description:"投后 3 日新客 ROI"`
T7ShopNewBuyerRoi *float64 `orm:"t7_shop_new_buyer_roi" json:"t7ShopNewBuyerRoi" description:"投后 7 日新客 ROI"`
T15ShopNewBuyerRoi *float64 `orm:"t15_shop_new_buyer_roi" json:"t15ShopNewBuyerRoi" description:"投后 15 日新客 ROI"`
T30ShopNewBuyerRoi *float64 `orm:"t30_shop_new_buyer_roi" json:"t30ShopNewBuyerRoi" description:"投后 30 日新客 ROI"`
CreateCardOrderCnt *int64 `orm:"create_card_order_cnt" json:"createCardOrderCnt" description:"有效制卡订单数(回传时间)"`
ForwardTsCreateCardOrderCnt *int64 `orm:"forward_ts_create_card_order_cnt" json:"forwardTsCreateCardOrderCnt" description:"有效制卡订单数(计费时间)"`
CreateCardOrderCost *float64 `orm:"create_card_order_cost" json:"createCardOrderCost" description:"有效制卡订单成本(回传时间)"`
ForwardTsCreateCardOrderCost *float64 `orm:"forward_ts_create_card_order_cost" json:"forwardTsCreateCardOrderCost" description:"有效制卡订单成本(计费时间)"`
ActivateCardOrderCnt *int64 `orm:"activate_card_order_cnt" json:"activateCardOrderCnt" description:"电话卡激活订单数(回传时间)"`
ForwardTsActivateCardOrderCnt *int64 `orm:"forward_ts_activate_card_order_cnt" json:"forwardTsActivateCardOrderCnt" description:"电话卡激活订单数(计费时间)"`
ActivateCardOrderCost *float64 `orm:"activate_card_order_cost" json:"activateCardOrderCost" description:"电话卡激活订单成本(回传时间)"`
ForwardTsActivateCardOrderCost *float64 `orm:"forward_ts_activate_card_order_cost" json:"forwardTsActivateCardOrderCost" description:"电话卡激活订单成本(计费时间)"`
CreateCardOrderRatio *float64 `orm:"create_card_order_ratio" json:"createCardOrderRatio" description:"有效制卡订单率(回传时间)"`
ForwardTsCreateCardOrderRatio *float64 `orm:"forward_ts_create_card_order_ratio" json:"forwardTsCreateCardOrderRatio" description:"有效制卡订单率(计费时间)"`
ActivateCardOrderCntRatio *float64 `orm:"activate_card_order_cnt_ratio" json:"activateCardOrderCntRatio" description:"电话卡激活率(回传时间)"`
ForwardTsActivateCardOrderRatio *float64 `orm:"forward_ts_activate_card_order_ratio" json:"forwardTsActivateCardOrderRatio" description:"电话卡激活率(计费时间)"`
LivePlayCnt *int64 `orm:"live_play_cnt" json:"livePlayCnt" description:"全站直播观看数"`
ItemEntranceClkCnt *int64 `orm:"item_entrance_clk_cnt" json:"itemEntranceClkCnt" description:"小黄车点击数"`
ShowCnt *int64 `orm:"show_cnt" json:"showCnt" description:"全站曝光"`
ReportDateStr string `orm:"report_date_str" json:"reportDateStr" description:"时间"`
CampaignId *int64 `orm:"campaign_id" json:"campaignId" description:"计划 ID"`
CampaignName string `orm:"campaign_name" json:"campaignName" description:"计划名称"`
UnitId *int64 `orm:"unit_id" json:"unitId" description:"单元 ID"`
UnitName string `orm:"unit_name" json:"unitName" description:"单元名称"`
CreativeId *int64 `orm:"creative_id" json:"creativeId" description:"创意 ID"`
CreativeName string `orm:"creative_name" json:"creativeName" description:"创意名称"`
CidActualRoiAfterSubsidy *float64 `orm:"cid_actual_roi_after_subsidy" json:"cidActualRoiAfterSubsidy" description:"补贴后实际 ROI"`
CidCouponAmount *int64 `orm:"cid_coupon_amount" json:"cidCouponAmount" description:"核销券金额"`
CidCouponCallbackPaidRefundAmount *int64 `orm:"cid_coupon_callback_paid_refund_amount" json:"cidCouponCallbackPaidRefundAmount" description:"退单有回传_核销券金额"`
CidVoucherCost *float64 `orm:"cid_voucher_cost" json:"cidVoucherCost" description:"券成本"`
}
// CampaignReportDetailCol 广告效果指标明细表字段定义
type CampaignReportDetailCol struct {
beans.SQLBaseCol
T0OrderPaymentAmt string
CreativeMaterialType string
LiveName string
AuthorId string
PicUrl string
PicName string
PicId string
CoverUrl string
CoverId string
ItemOrderConversionRatio string
ItemCardClickRatio string
ItemCardClkCnt string
LivePlayCntCost string
AdMerchantFollowCost string
AdMerchantFollow string
NetT0OrderCnt string
NetT0Roi string
NetT0Gmv string
PhotoName string
PhotoIdStr string
PhotoId string
ModPriceSegment string
AgeSegment string
Province string
Gender string
AdPhotoPlayedFiveRatio string
AdPhotoPlayedThreeRatio string
OrderSubmitRoi string
OrderSubmitAmt string
EventOrderSubmitCost string
EventOrderSubmit string
EventOrderPaidRoi string
EventAppInvoked string
EventAddShoppingCart string
ConversionNumCost string
AdEffectivePlayNum string
AdItemClick string
MerchantProductId string
CostTotal string
AdShow string
AdShow1kCost string
Impression string
PhotoClick string
PhotoClickRatio string
Click string
ActionbarClick string
ActionbarClickCost string
EspClickRatio string
ActionRatio string
AdItemClickCount string
EspLivePlayedSeconds string
PlayedThreeSeconds string
Play3sRatio string
PlayedFiveSeconds string
Play5sRatio string
PlayedEnd string
PlayEndRatio string
Share string
Comment string
Likes string
Report string
Block string
ItemNegative string
LiveShare string
LiveComment string
LiveReward string
EffectivePlayCount string
EffectivePlayRatio string
ConversionNum string
ConversionCostEsp string
Roi string
Gmv string
T0Gmv string
T1Gmv string
T7Gmv string
T15Gmv string
T30Gmv string
T0Roi string
T1Roi string
T7Roi string
T15Roi string
T30Roi string
PaiedOrder string
OrderRatio string
T0OrderCnt string
T0OrderCntCost string
T0OrderCntRatio string
T1OrderCnt string
T7OrderCnt string
T15OrderCnt string
T30OrderCnt string
MerchantRecoFans string
T1Retention string
T7Retention string
T15Retention string
T30Retention string
T1RetentionRatio string
T7RetentionRatio string
T15RetentionRatio string
T30RetentionRatio string
ReservationSuccess string
ReservationCost string
StandardLivePlayedStarted string
AdLivePlayCnt string
AdLivePlayCntCost string
LiveAudienceCost string
LiveEventGoodsView string
GoodsClickRatio string
DirectAttrPlatNewBuyerCnt string
T30AttrPlatTotalBuyerCnt string
DirectAttrSellerNewBuyerCnt string
T30AttrSellerTotalBuyerCnt string
T3Gmv string
T3OrderCnt string
T3Roi string
T7IndirectOrderAmt string
T7IndirectOrderCnt string
FansT0GmvPerFans string
FansT3GmvPerFans string
FansT7GmvPerFans string
FansT15GmvPerFans string
FansT30GmvPerFans string
RecoFansCost string
QcpxWhiteboxDirectOrderPaymentAmt string
QcpxWhiteboxDirectOrderCnt string
FansT0Gmv string
FansT1Gmv string
FansT7Gmv string
FansT15Gmv string
FansT30Gmv string
FansT0Roi string
FansT1Roi string
FansT7Roi string
FansT15Roi string
FansT30Roi string
T0ShopNewBuyerOrderPaymentAmt string
T1ShopNewBuyerOrderPaymentAmt string
T3ShopNewBuyerOrderPaymentAmt string
T7ShopNewBuyerOrderPaymentAmt string
T15ShopNewBuyerOrderPaymentAmt string
T30ShopNewBuyerOrderPaymentAmt string
T0ShopNewBuyerOrderCnt string
T1ShopNewBuyerOrderCnt string
T3ShopNewBuyerOrderCnt string
T7ShopNewBuyerOrderCnt string
T15ShopNewBuyerOrderCnt string
T30ShopNewBuyerOrderCnt string
T1NewBuyerRepurchaseRatio string
T3NewBuyerRepurchaseRatio string
T7NewBuyerRepurchaseRatio string
T15NewBuyerRepurchaseRatio string
T30NewBuyerRepurchaseRatio string
T0ShopNewBuyerRoi string
T1ShopNewBuyerRoi string
T3ShopNewBuyerRoi string
T7ShopNewBuyerRoi string
T15ShopNewBuyerRoi string
T30ShopNewBuyerRoi string
CreateCardOrderCnt string
ForwardTsCreateCardOrderCnt string
CreateCardOrderCost string
ForwardTsCreateCardOrderCost string
ActivateCardOrderCnt string
ForwardTsActivateCardOrderCnt string
ActivateCardOrderCost string
ForwardTsActivateCardOrderCost string
CreateCardOrderRatio string
ForwardTsCreateCardOrderRatio string
ActivateCardOrderCntRatio string
ForwardTsActivateCardOrderRatio string
LivePlayCnt string
ItemEntranceClkCnt string
ShowCnt string
ReportDateStr string
CampaignId string
CampaignName string
UnitId string
UnitName string
CreativeId string
CreativeName string
CidActualRoiAfterSubsidy string
CidCouponAmount string
CidCouponCallbackPaidRefundAmount string
CidVoucherCost string
}
// TableName 返回表名
func (e *CampaignReportDetail) TableName() string {
return "campaign_report_detail"
}
// GetCols 获取所有字段名
func (e *CampaignReportDetail) GetCols() *CampaignReportDetailCol {
return &CampaignReportDetailCol{
SQLBaseCol: beans.SQLBaseCol{
Id: "id",
CreatedAt: "created_at",
UpdatedAt: "updated_at",
},
T0OrderPaymentAmt: "t0_order_payment_amt",
CreativeMaterialType: "creative_material_type",
LiveName: "live_name",
AuthorId: "author_id",
PicUrl: "pic_url",
PicName: "pic_name",
PicId: "pic_id",
CoverUrl: "cover_url",
CoverId: "cover_id",
ItemOrderConversionRatio: "item_order_conversion_ratio",
ItemCardClickRatio: "item_card_click_ratio",
ItemCardClkCnt: "item_card_clk_cnt",
LivePlayCntCost: "live_play_cnt_cost",
AdMerchantFollowCost: "ad_merchant_follow_cost",
AdMerchantFollow: "ad_merchant_follow",
NetT0OrderCnt: "net_t0_order_cnt",
NetT0Roi: "net_t0_roi",
NetT0Gmv: "net_t0_gmv",
PhotoName: "photo_name",
PhotoIdStr: "photo_id_str",
PhotoId: "photo_id",
ModPriceSegment: "mod_price_segment",
AgeSegment: "age_segment",
Province: "province",
Gender: "gender",
AdPhotoPlayedFiveRatio: "ad_photo_played_five_ratio",
AdPhotoPlayedThreeRatio: "ad_photo_played_three_ratio",
OrderSubmitRoi: "order_submit_roi",
OrderSubmitAmt: "order_submit_amt",
EventOrderSubmitCost: "event_order_submit_cost",
EventOrderSubmit: "event_order_submit",
EventOrderPaidRoi: "event_order_paid_roi",
EventAppInvoked: "event_app_invoked",
EventAddShoppingCart: "event_add_shopping_cart",
ConversionNumCost: "conversion_num_cost",
AdEffectivePlayNum: "ad_effective_play_num",
AdItemClick: "ad_item_click",
MerchantProductId: "merchant_product_id",
CostTotal: "cost_total",
AdShow: "ad_show",
AdShow1kCost: "ad_show1k_cost",
Impression: "impression",
PhotoClick: "photo_click",
PhotoClickRatio: "photo_click_ratio",
Click: "click",
ActionbarClick: "actionbar_click",
ActionbarClickCost: "actionbar_click_cost",
EspClickRatio: "esp_click_ratio",
ActionRatio: "action_ratio",
AdItemClickCount: "ad_item_click_count",
EspLivePlayedSeconds: "esp_live_played_seconds",
PlayedThreeSeconds: "played_three_seconds",
Play3sRatio: "play3s_ratio",
PlayedFiveSeconds: "played_five_seconds",
Play5sRatio: "play5s_ratio",
PlayedEnd: "played_end",
PlayEndRatio: "play_end_ratio",
Share: "share",
Comment: "comment",
Likes: "likes",
Report: "report",
Block: "block",
ItemNegative: "item_negative",
LiveShare: "live_share",
LiveComment: "live_comment",
LiveReward: "live_reward",
EffectivePlayCount: "effective_play_count",
EffectivePlayRatio: "effective_play_ratio",
ConversionNum: "conversion_num",
ConversionCostEsp: "conversion_cost_esp",
Roi: "roi",
Gmv: "gmv",
T0Gmv: "t0_gmv",
T1Gmv: "t1_gmv",
T7Gmv: "t7_gmv",
T15Gmv: "t15_gmv",
T30Gmv: "t30_gmv",
T0Roi: "t0_roi",
T1Roi: "t1_roi",
T7Roi: "t7_roi",
T15Roi: "t15_roi",
T30Roi: "t30_roi",
PaiedOrder: "paied_order",
OrderRatio: "order_ratio",
T0OrderCnt: "t0_order_cnt",
T0OrderCntCost: "t0_order_cnt_cost",
T0OrderCntRatio: "t0_order_cnt_ratio",
T1OrderCnt: "t1_order_cnt",
T7OrderCnt: "t7_order_cnt",
T15OrderCnt: "t15_order_cnt",
T30OrderCnt: "t30_order_cnt",
MerchantRecoFans: "merchant_reco_fans",
T1Retention: "t1_retention",
T7Retention: "t7_retention",
T15Retention: "t15_retention",
T30Retention: "t30_retention",
T1RetentionRatio: "t1_retention_ratio",
T7RetentionRatio: "t7_retention_ratio",
T15RetentionRatio: "t15_retention_ratio",
T30RetentionRatio: "t30_retention_ratio",
ReservationSuccess: "reservation_success",
ReservationCost: "reservation_cost",
StandardLivePlayedStarted: "standard_live_played_started",
AdLivePlayCnt: "ad_live_play_cnt",
AdLivePlayCntCost: "ad_live_play_cnt_cost",
LiveAudienceCost: "live_audience_cost",
LiveEventGoodsView: "live_event_goods_view",
GoodsClickRatio: "goods_click_ratio",
DirectAttrPlatNewBuyerCnt: "direct_attr_plat_new_buyer_cnt",
T30AttrPlatTotalBuyerCnt: "t30_attr_plat_total_buyer_cnt",
DirectAttrSellerNewBuyerCnt: "direct_attr_seller_new_buyer_cnt",
T30AttrSellerTotalBuyerCnt: "t30_attr_seller_total_buyer_cnt",
T3Gmv: "t3_gmv",
T3OrderCnt: "t3_order_cnt",
T3Roi: "t3_roi",
T7IndirectOrderAmt: "t7_indirect_order_amt",
T7IndirectOrderCnt: "t7_indirect_order_cnt",
FansT0GmvPerFans: "fans_t0_gmv_per_fans",
FansT3GmvPerFans: "fans_t3_gmv_per_fans",
FansT7GmvPerFans: "fans_t7_gmv_per_fans",
FansT15GmvPerFans: "fans_t15_gmv_per_fans",
FansT30GmvPerFans: "fans_t30_gmv_per_fans",
RecoFansCost: "reco_fans_cost",
QcpxWhiteboxDirectOrderPaymentAmt: "qcpx_whitebox_direct_order_payment_amt",
QcpxWhiteboxDirectOrderCnt: "qcpx_whitebox_direct_order_cnt",
FansT0Gmv: "fans_t0_gmv",
FansT1Gmv: "fans_t1_gmv",
FansT7Gmv: "fans_t7_gmv",
FansT15Gmv: "fans_t15_gmv",
FansT30Gmv: "fans_t30_gmv",
FansT0Roi: "fans_t0_roi",
FansT1Roi: "fans_t1_roi",
FansT7Roi: "fans_t7_roi",
FansT15Roi: "fans_t15_roi",
FansT30Roi: "fans_t30_roi",
T0ShopNewBuyerOrderPaymentAmt: "t0_shop_new_buyer_order_payment_amt",
T1ShopNewBuyerOrderPaymentAmt: "t1_shop_new_buyer_order_payment_amt",
T3ShopNewBuyerOrderPaymentAmt: "t3_shop_new_buyer_order_payment_amt",
T7ShopNewBuyerOrderPaymentAmt: "t7_shop_new_buyer_order_payment_amt",
T15ShopNewBuyerOrderPaymentAmt: "t15_shop_new_buyer_order_payment_amt",
T30ShopNewBuyerOrderPaymentAmt: "t30_shop_new_buyer_order_payment_amt",
T0ShopNewBuyerOrderCnt: "t0_shop_new_buyer_order_cnt",
T1ShopNewBuyerOrderCnt: "t1_shop_new_buyer_order_cnt",
T3ShopNewBuyerOrderCnt: "t3_shop_new_buyer_order_cnt",
T7ShopNewBuyerOrderCnt: "t7_shop_new_buyer_order_cnt",
T15ShopNewBuyerOrderCnt: "t15_shop_new_buyer_order_cnt",
T30ShopNewBuyerOrderCnt: "t30_shop_new_buyer_order_cnt",
T1NewBuyerRepurchaseRatio: "t1_new_buyer_repurchase_ratio",
T3NewBuyerRepurchaseRatio: "t3_new_buyer_repurchase_ratio",
T7NewBuyerRepurchaseRatio: "t7_new_buyer_repurchase_ratio",
T15NewBuyerRepurchaseRatio: "t15_new_buyer_repurchase_ratio",
T30NewBuyerRepurchaseRatio: "t30_new_buyer_repurchase_ratio",
T0ShopNewBuyerRoi: "t0_shop_new_buyer_roi",
T1ShopNewBuyerRoi: "t1_shop_new_buyer_roi",
T3ShopNewBuyerRoi: "t3_shop_new_buyer_roi",
T7ShopNewBuyerRoi: "t7_shop_new_buyer_roi",
T15ShopNewBuyerRoi: "t15_shop_new_buyer_roi",
T30ShopNewBuyerRoi: "t30_shop_new_buyer_roi",
CreateCardOrderCnt: "create_card_order_cnt",
ForwardTsCreateCardOrderCnt: "forward_ts_create_card_order_cnt",
CreateCardOrderCost: "create_card_order_cost",
ForwardTsCreateCardOrderCost: "forward_ts_create_card_order_cost",
ActivateCardOrderCnt: "activate_card_order_cnt",
ForwardTsActivateCardOrderCnt: "forward_ts_activate_card_order_cnt",
ActivateCardOrderCost: "activate_card_order_cost",
ForwardTsActivateCardOrderCost: "forward_ts_activate_card_order_cost",
CreateCardOrderRatio: "create_card_order_ratio",
ForwardTsCreateCardOrderRatio: "forward_ts_create_card_order_ratio",
ActivateCardOrderCntRatio: "activate_card_order_cnt_ratio",
ForwardTsActivateCardOrderRatio: "forward_ts_activate_card_order_ratio",
LivePlayCnt: "live_play_cnt",
ItemEntranceClkCnt: "item_entrance_clk_cnt",
ShowCnt: "show_cnt",
ReportDateStr: "report_date_str",
CampaignId: "campaign_id",
CampaignName: "campaign_name",
UnitId: "unit_id",
UnitName: "unit_name",
CreativeId: "creative_id",
CreativeName: "creative_name",
CidActualRoiAfterSubsidy: "cid_actual_roi_after_subsidy",
CidCouponAmount: "cid_coupon_amount",
CidCouponCallbackPaidRefundAmount: "cid_coupon_callback_paid_refund_amount",
CidVoucherCost: "cid_voucher_cost",
}
}

View File

@@ -0,0 +1,582 @@
package copydata
import "gitea.com/red-future/common/beans"
// CampaignReportSum 广告计划效果指标表实体
type CampaignReportSum struct {
beans.SQLBaseDO `orm:",inherit"`
T0OrderPaymentAmt *float64 `orm:"t0_order_payment_amt" json:"t0OrderPaymentAmt" description:"当日总成交订单金额"`
CreativeMaterialType string `orm:"creative_material_type" json:"creativeMaterialType" description:"视频素材类型视频HORIZONTAL_SCREEN, VERTICAL_SCREEN, UNKNOWN_TYPE图集ATLAS长图ATLAS_VERTICAL"`
LiveName string `orm:"live_name" json:"liveName" description:"直播间名称"`
AuthorId string `orm:"author_id" json:"authorId" description:"直播用户快手 Id"`
PicUrl string `orm:"pic_url" json:"picUrl" description:"图片 URL"`
PicName string `orm:"pic_name" json:"picName" description:"图片名称"`
PicId string `orm:"pic_id" json:"picId" description:"图片 Id"`
CoverUrl string `orm:"cover_url" json:"coverUrl" description:"封面 URL"`
CoverId *int64 `orm:"cover_id" json:"coverId" description:"封面 Id"`
ItemOrderConversionRatio *float64 `orm:"item_order_conversion_ratio" json:"itemOrderConversionRatio" description:"转化率"`
ItemCardClickRatio *float64 `orm:"item_card_click_ratio" json:"itemCardClickRatio" description:"点击率"`
ItemCardClkCnt *int64 `orm:"item_card_clk_cnt" json:"itemCardClkCnt" description:"商品卡点击数"`
LivePlayCntCost *float64 `orm:"live_play_cnt_cost" json:"livePlayCntCost" description:"直播间观看成本"`
AdMerchantFollowCost *float64 `orm:"ad_merchant_follow_cost" json:"adMerchantFollowCost" description:"涨粉成本"`
AdMerchantFollow *int64 `orm:"ad_merchant_follow" json:"adMerchantFollow" description:"涨粉数"`
NetT0OrderCnt *int64 `orm:"net_t0_order_cnt" json:"netT0OrderCnt" description:"当日累计净成交订单数"`
NetT0Roi *float64 `orm:"net_t0_roi" json:"netT0Roi" description:"净成交 ROI"`
NetT0Gmv *float64 `orm:"net_t0_gmv" json:"netT0Gmv" description:"净成交 GMV"`
PhotoName string `orm:"photo_name" json:"photoName" description:"视频名称"`
PhotoIdStr string `orm:"photo_id_str" json:"photoIdStr" description:"视频 id"`
PhotoId string `orm:"photo_id" json:"photoId" description:"视频 id"`
ModPriceSegment string `orm:"mod_price_segment" json:"modPriceSegment" description:"设备价格区间"`
AgeSegment string `orm:"age_segment" json:"ageSegment" description:"年龄段"`
Province string `orm:"province" json:"province" description:"省份名称"`
Gender string `orm:"gender" json:"gender" description:"性别"`
AdPhotoPlayedFiveRatio *float64 `orm:"ad_photo_played_five_ratio" json:"adPhotoPlayedFiveRatio" description:"作品 5 秒播放率"`
AdPhotoPlayedThreeRatio *float64 `orm:"ad_photo_played_three_ratio" json:"adPhotoPlayedThreeRatio" description:"作品 3 秒播放率"`
OrderSubmitRoi *float64 `orm:"order_submit_roi" json:"orderSubmitRoi" description:"订单提交 ROI"`
OrderSubmitAmt *int64 `orm:"order_submit_amt" json:"orderSubmitAmt" description:"外部订单金额"`
EventOrderSubmitCost *float64 `orm:"event_order_submit_cost" json:"eventOrderSubmitCost" description:"订单提交成本"`
EventOrderSubmit *int64 `orm:"event_order_submit" json:"eventOrderSubmit" description:"订单提交数"`
EventOrderPaidRoi *float64 `orm:"event_order_paid_roi" json:"eventOrderPaidRoi" description:"订单支付率"`
EventAppInvoked *int64 `orm:"event_app_invoked" json:"eventAppInvoked" description:"唤起应用数"`
EventAddShoppingCart *int64 `orm:"event_add_shopping_cart" json:"eventAddShoppingCart" description:"添加购物车次数"`
ConversionNumCost *float64 `orm:"conversion_num_cost" json:"conversionNumCost" description:"转化成本(回传时间)"`
AdEffectivePlayNum *int64 `orm:"ad_effective_play_num" json:"adEffectivePlayNum" description:"有效播放数"`
AdItemClick *int64 `orm:"ad_item_click" json:"adItemClick" description:"行为数"`
MerchantProductId string `orm:"merchant_product_id" json:"merchantProductId" description:"商品 ID"`
CostTotal *float64 `orm:"cost_total" json:"costTotal" description:"花费"`
AdShow *int64 `orm:"ad_show" json:"adShow" description:"曝光数"`
AdShow1kCost *float64 `orm:"ad_show1k_cost" json:"adShow1kCost" description:"平均千次广告曝光花费"`
Impression *int64 `orm:"impression" json:"impression" description:"封面曝光数"`
PhotoClick *int64 `orm:"photo_click" json:"photoClick" description:"封面点击数"`
PhotoClickRatio *float64 `orm:"photo_click_ratio" json:"photoClickRatio" description:"封面点击率"`
Click *int64 `orm:"click" json:"click" description:"素材曝光数"`
ActionbarClick *int64 `orm:"actionbar_click" json:"actionbarClick" description:"行为数"`
ActionbarClickCost *float64 `orm:"actionbar_click_cost" json:"actionbarClickCost" description:"行为成本"`
EspClickRatio *float64 `orm:"esp_click_ratio" json:"espClickRatio" description:"行为率"`
ActionRatio *float64 `orm:"action_ratio" json:"actionRatio" description:"素材点击率"`
AdItemClickCount *int64 `orm:"ad_item_click_count" json:"adItemClickCount" description:"预约组件点击数"`
EspLivePlayedSeconds *int64 `orm:"esp_live_played_seconds" json:"espLivePlayedSeconds" description:"直播平均观看时长"`
PlayedThreeSeconds *int64 `orm:"played_three_seconds" json:"playedThreeSeconds" description:"作品 3 秒播放数"`
Play3sRatio *float64 `orm:"play3s_ratio" json:"play3sRatio" description:"作品 3 秒播放率"`
PlayedFiveSeconds *int64 `orm:"played_five_seconds" json:"playedFiveSeconds" description:"作品 5 秒播放数"`
Play5sRatio *float64 `orm:"play5s_ratio" json:"play5sRatio" description:"作品 5 秒播放率"`
PlayedEnd *int64 `orm:"played_end" json:"playedEnd" description:"作品完播数"`
PlayEndRatio *float64 `orm:"play_end_ratio" json:"playEndRatio" description:"作品完播率"`
Share *int64 `orm:"share" json:"share" description:"作品分享数"`
Comment *int64 `orm:"comment" json:"comment" description:"作品评论数"`
Likes *int64 `orm:"likes" json:"likes" description:"作品点赞数"`
Report *int64 `orm:"report" json:"report" description:"作品举报数"`
Block *int64 `orm:"block" json:"block" description:"作品拉黑数"`
ItemNegative *int64 `orm:"item_negative" json:"itemNegative" description:"详情页减少此类作品数"`
LiveShare *int64 `orm:"live_share" json:"liveShare" description:"直播送礼数"`
LiveComment *int64 `orm:"live_comment" json:"liveComment" description:"直播评论数"`
LiveReward *int64 `orm:"live_reward" json:"liveReward" description:"直播送礼数"`
EffectivePlayCount *int64 `orm:"effective_play_count" json:"effectivePlayCount" description:"有效播放数"`
EffectivePlayRatio *float64 `orm:"effective_play_ratio" json:"effectivePlayRatio" description:"有效播放率"`
ConversionNum *int64 `orm:"conversion_num" json:"conversionNum" description:"转化数"`
ConversionCostEsp *float64 `orm:"conversion_cost_esp" json:"conversionCostEsp" description:"转化成本"`
Roi *float64 `orm:"roi" json:"roi" description:"直接 ROI"`
Gmv *float64 `orm:"gmv" json:"gmv" description:"直接 GMV"`
T0Gmv *float64 `orm:"t0_gmv" json:"t0Gmv" description:"当日累计 GMV"`
T1Gmv *float64 `orm:"t1_gmv" json:"t1Gmv" description:"次日累计 GMV"`
T7Gmv *float64 `orm:"t7_gmv" json:"t7Gmv" description:"7 日累计 GMV"`
T15Gmv *float64 `orm:"t15_gmv" json:"t15Gmv" description:"15 日累计 GMV"`
T30Gmv *float64 `orm:"t30_gmv" json:"t30Gmv" description:"30 日累计 GMV"`
T0Roi *float64 `orm:"t0_roi" json:"t0Roi" description:"当日累计 ROI"`
T1Roi *float64 `orm:"t1_roi" json:"t1Roi" description:"次日累计 ROI"`
T7Roi *float64 `orm:"t7_roi" json:"t7Roi" description:"7 日累计 ROI"`
T15Roi *float64 `orm:"t15_roi" json:"t15Roi" description:"15 日累计 ROI"`
T30Roi *float64 `orm:"t30_roi" json:"t30Roi" description:"30 日累计 ROI"`
PaiedOrder *int64 `orm:"paied_order" json:"paiedOrder" description:"直接订单数"`
OrderRatio *float64 `orm:"order_ratio" json:"orderRatio" description:"直接下单率"`
T0OrderCnt *int64 `orm:"t0_order_cnt" json:"t0OrderCnt" description:"当日累计订单数"`
T0OrderCntCost *float64 `orm:"t0_order_cnt_cost" json:"t0OrderCntCost" description:"当日累计订单成本"`
T0OrderCntRatio *float64 `orm:"t0_order_cnt_ratio" json:"t0OrderCntRatio" description:"累计订单下单率"`
T1OrderCnt *int64 `orm:"t1_order_cnt" json:"t1OrderCnt" description:"次日累计订单数"`
T7OrderCnt *int64 `orm:"t7_order_cnt" json:"t7OrderCnt" description:"7 日累计订单数"`
T15OrderCnt *int64 `orm:"t15_order_cnt" json:"t15OrderCnt" description:"15 日累计订单数"`
T30OrderCnt *int64 `orm:"t30_order_cnt" json:"t30OrderCnt" description:"30 日累计订单数"`
MerchantRecoFans *int64 `orm:"merchant_reco_fans" json:"merchantRecoFans" description:"涨粉数"`
T1Retention *float64 `orm:"t1_retention" json:"t1Retention" description:"次日涨粉留存数"`
T7Retention *float64 `orm:"t7_retention" json:"t7Retention" description:"7 日涨粉留存数"`
T15Retention *float64 `orm:"t15_retention" json:"t15Retention" description:"15 日涨粉留存数"`
T30Retention *float64 `orm:"t30_retention" json:"t30Retention" description:"30 日涨粉留存数"`
T1RetentionRatio *float64 `orm:"t1_retention_ratio" json:"t1RetentionRatio" description:"次日涨粉留存率"`
T7RetentionRatio *float64 `orm:"t7_retention_ratio" json:"t7RetentionRatio" description:"7 日涨粉留存率"`
T15RetentionRatio *float64 `orm:"t15_retention_ratio" json:"t15RetentionRatio" description:"15 日涨粉留存率"`
T30RetentionRatio *float64 `orm:"t30_retention_ratio" json:"t30RetentionRatio" description:"30 日涨粉留存率"`
ReservationSuccess *int64 `orm:"reservation_success" json:"reservationSuccess" description:"直播预约成功数"`
ReservationCost *float64 `orm:"reservation_cost" json:"reservationCost" description:"直播预约成功成本"`
StandardLivePlayedStarted *int64 `orm:"standard_live_played_started" json:"standardLivePlayedStarted" description:"直播观看数"`
AdLivePlayCnt *int64 `orm:"ad_live_play_cnt" json:"adLivePlayCnt" description:"直播间人气数"`
AdLivePlayCntCost *float64 `orm:"ad_live_play_cnt_cost" json:"adLivePlayCntCost" description:"直播间人气成本"`
LiveAudienceCost *float64 `orm:"live_audience_cost" json:"liveAudienceCost" description:"直播观看成本"`
LiveEventGoodsView *int64 `orm:"live_event_goods_view" json:"liveEventGoodsView" description:"直播间商品点击数"`
GoodsClickRatio *float64 `orm:"goods_click_ratio" json:"goodsClickRatio" description:"直播间商品点击率"`
DirectAttrPlatNewBuyerCnt *int64 `orm:"direct_attr_plat_new_buyer_cnt" json:"directAttrPlatNewBuyerCnt" description:"直接平台新客"`
T30AttrPlatTotalBuyerCnt *int64 `orm:"t30_attr_plat_total_buyer_cnt" json:"t30AttrPlatTotalBuyerCnt" description:"30 日累计平台新客"`
DirectAttrSellerNewBuyerCnt *int64 `orm:"direct_attr_seller_new_buyer_cnt" json:"directAttrSellerNewBuyerCnt" description:"直接店铺新客"`
T30AttrSellerTotalBuyerCnt *int64 `orm:"t30_attr_seller_total_buyer_cnt" json:"t30AttrSellerTotalBuyerCnt" description:"30 日累计店铺新客"`
T3Gmv *float64 `orm:"t3_gmv" json:"t3Gmv" description:"3 日累计 GMV"`
T3OrderCnt *int64 `orm:"t3_order_cnt" json:"t3OrderCnt" description:"3 日累计订单数"`
T3Roi *float64 `orm:"t3_roi" json:"t3Roi" description:"3 日累计 ROI"`
T7IndirectOrderAmt *float64 `orm:"t7_indirect_order_amt" json:"t7IndirectOrderAmt" description:"7 日间接订单金额"`
T7IndirectOrderCnt *int64 `orm:"t7_indirect_order_cnt" json:"t7IndirectOrderCnt" description:"7 日间接订单数"`
FansT0GmvPerFans *float64 `orm:"fans_t0_gmv_per_fans" json:"fansT0GmvPerFans" description:"新增粉丝人均销售额"`
FansT3GmvPerFans *float64 `orm:"fans_t3_gmv_per_fans" json:"fansT3GmvPerFans" description:"3 日新增粉丝人均销售额"`
FansT7GmvPerFans *float64 `orm:"fans_t7_gmv_per_fans" json:"fansT7GmvPerFans" description:"7 日新增粉丝人均销售额"`
FansT15GmvPerFans *float64 `orm:"fans_t15_gmv_per_fans" json:"fansT15GmvPerFans" description:"15 日新增粉丝人均销售额"`
FansT30GmvPerFans *float64 `orm:"fans_t30_gmv_per_fans" json:"fansT30GmvPerFans" description:"30 日新增粉丝人均销售额"`
RecoFansCost *float64 `orm:"reco_fans_cost" json:"recoFansCost" description:"涨粉成本"`
QcpxWhiteboxDirectOrderPaymentAmt *float64 `orm:"qcpx_whitebox_direct_order_payment_amt" json:"qcpxWhiteboxDirectOrderPaymentAmt" description:"智能优惠券订单 GMV"`
QcpxWhiteboxDirectOrderCnt *int64 `orm:"qcpx_whitebox_direct_order_cnt" json:"qcpxWhiteboxDirectOrderCnt" description:"智能优惠券订单数"`
FansT0Gmv *float64 `orm:"fans_t0_gmv" json:"fansT0Gmv" description:"涨粉当日 GMV"`
FansT1Gmv *float64 `orm:"fans_t1_gmv" json:"fansT1Gmv" description:"涨粉次日 GMV"`
FansT7Gmv *float64 `orm:"fans_t7_gmv" json:"fansT7Gmv" description:"涨粉 7 日 GMV"`
FansT15Gmv *float64 `orm:"fans_t15_gmv" json:"fansT15Gmv" description:"涨粉 15 日 GMV"`
FansT30Gmv *float64 `orm:"fans_t30_gmv" json:"fansT30Gmv" description:"涨粉 30 日 GMV"`
FansT0Roi *float64 `orm:"fans_t0_roi" json:"fansT0Roi" description:"涨粉当日 ROI"`
FansT1Roi *float64 `orm:"fans_t1_roi" json:"fansT1Roi" description:"涨粉次日 ROI"`
FansT7Roi *float64 `orm:"fans_t7_roi" json:"fansT7Roi" description:"涨粉 7 日 ROI"`
FansT15Roi *float64 `orm:"fans_t15_roi" json:"fansT15Roi" description:"涨粉 15 日 ROI"`
FansT30Roi *float64 `orm:"fans_t30_roi" json:"fansT30Roi" description:"涨粉 30 日 ROI"`
T0ShopNewBuyerOrderPaymentAmt *float64 `orm:"t0_shop_new_buyer_order_payment_amt" json:"t0ShopNewBuyerOrderPaymentAmt" description:"当日新客 GMV"`
T1ShopNewBuyerOrderPaymentAmt *float64 `orm:"t1_shop_new_buyer_order_payment_amt" json:"t1ShopNewBuyerOrderPaymentAmt" description:"投后 1 日新客 GMV"`
T3ShopNewBuyerOrderPaymentAmt *float64 `orm:"t3_shop_new_buyer_order_payment_amt" json:"t3ShopNewBuyerOrderPaymentAmt" description:"投后 3 日新客 GMV"`
T7ShopNewBuyerOrderPaymentAmt *float64 `orm:"t7_shop_new_buyer_order_payment_amt" json:"t7ShopNewBuyerOrderPaymentAmt" description:"投后 7 日新客 GMV"`
T15ShopNewBuyerOrderPaymentAmt *float64 `orm:"t15_shop_new_buyer_order_payment_amt" json:"t15ShopNewBuyerOrderPaymentAmt" description:"投后 15 日新客 GMV"`
T30ShopNewBuyerOrderPaymentAmt *float64 `orm:"t30_shop_new_buyer_order_payment_amt" json:"t30ShopNewBuyerOrderPaymentAmt" description:"投后 30 日新客 GMV"`
T0ShopNewBuyerOrderCnt *int64 `orm:"t0_shop_new_buyer_order_cnt" json:"t0ShopNewBuyerOrderCnt" description:"当日新客成交订单量"`
T1ShopNewBuyerOrderCnt *int64 `orm:"t1_shop_new_buyer_order_cnt" json:"t1ShopNewBuyerOrderCnt" description:"投后 1 日新客成交订单量"`
T3ShopNewBuyerOrderCnt *int64 `orm:"t3_shop_new_buyer_order_cnt" json:"t3ShopNewBuyerOrderCnt" description:"投后 3 日新客成交订单量"`
T7ShopNewBuyerOrderCnt *int64 `orm:"t7_shop_new_buyer_order_cnt" json:"t7ShopNewBuyerOrderCnt" description:"投后 7 日新客成交订单量"`
T15ShopNewBuyerOrderCnt *int64 `orm:"t15_shop_new_buyer_order_cnt" json:"t15ShopNewBuyerOrderCnt" description:"投后 15 日新客成交订单量"`
T30ShopNewBuyerOrderCnt *int64 `orm:"t30_shop_new_buyer_order_cnt" json:"t30ShopNewBuyerOrderCnt" description:"投后 30 日新客成交订单量"`
T1NewBuyerRepurchaseRatio *float64 `orm:"t1_new_buyer_repurchase_ratio" json:"t1NewBuyerRepurchaseRatio" description:"投后 1 日新客复购率"`
T3NewBuyerRepurchaseRatio *float64 `orm:"t3_new_buyer_repurchase_ratio" json:"t3NewBuyerRepurchaseRatio" description:"投后 3 日新客复购率"`
T7NewBuyerRepurchaseRatio *float64 `orm:"t7_new_buyer_repurchase_ratio" json:"t7NewBuyerRepurchaseRatio" description:"投后 7 日新客复购率"`
T15NewBuyerRepurchaseRatio *float64 `orm:"t15_new_buyer_repurchase_ratio" json:"t15NewBuyerRepurchaseRatio" description:"投后 15 日新客复购率"`
T30NewBuyerRepurchaseRatio *float64 `orm:"t30_new_buyer_repurchase_ratio" json:"t30NewBuyerRepurchaseRatio" description:"投后 30 日新客复购率"`
T0ShopNewBuyerRoi *float64 `orm:"t0_shop_new_buyer_roi" json:"t0ShopNewBuyerRoi" description:"投后当日新客 ROI"`
T1ShopNewBuyerRoi *float64 `orm:"t1_shop_new_buyer_roi" json:"t1ShopNewBuyerRoi" description:"投后 1 日新客 ROI"`
T3ShopNewBuyerRoi *float64 `orm:"t3_shop_new_buyer_roi" json:"t3ShopNewBuyerRoi" description:"投后 3 日新客 ROI"`
T7ShopNewBuyerRoi *float64 `orm:"t7_shop_new_buyer_roi" json:"t7ShopNewBuyerRoi" description:"投后 7 日新客 ROI"`
T15ShopNewBuyerRoi *float64 `orm:"t15_shop_new_buyer_roi" json:"t15ShopNewBuyerRoi" description:"投后 15 日新客 ROI"`
T30ShopNewBuyerRoi *float64 `orm:"t30_shop_new_buyer_roi" json:"t30ShopNewBuyerRoi" description:"投后 30 日新客 ROI"`
CreateCardOrderCnt *int64 `orm:"create_card_order_cnt" json:"createCardOrderCnt" description:"有效制卡订单数(回传时间)"`
ForwardTsCreateCardOrderCnt *int64 `orm:"forward_ts_create_card_order_cnt" json:"forwardTsCreateCardOrderCnt" description:"有效制卡订单数(计费时间)"`
CreateCardOrderCost *float64 `orm:"create_card_order_cost" json:"createCardOrderCost" description:"有效制卡订单成本(回传时间)"`
ForwardTsCreateCardOrderCost *float64 `orm:"forward_ts_create_card_order_cost" json:"forwardTsCreateCardOrderCost" description:"有效制卡订单成本(计费时间)"`
ActivateCardOrderCnt *int64 `orm:"activate_card_order_cnt" json:"activateCardOrderCnt" description:"电话卡激活订单数(回传时间)"`
ForwardTsActivateCardOrderCnt *int64 `orm:"forward_ts_activate_card_order_cnt" json:"forwardTsActivateCardOrderCnt" description:"电话卡激活订单数(计费时间)"`
ActivateCardOrderCost *float64 `orm:"activate_card_order_cost" json:"activateCardOrderCost" description:"电话卡激活订单成本(回传时间)"`
ForwardTsActivateCardOrderCost *float64 `orm:"forward_ts_activate_card_order_cost" json:"forwardTsActivateCardOrderCost" description:"电话卡激活订单成本(计费时间)"`
CreateCardOrderRatio *float64 `orm:"create_card_order_ratio" json:"createCardOrderRatio" description:"有效制卡订单率(回传时间)"`
ForwardTsCreateCardOrderRatio *float64 `orm:"forward_ts_create_card_order_ratio" json:"forwardTsCreateCardOrderRatio" description:"有效制卡订单率(计费时间)"`
ActivateCardOrderCntRatio *float64 `orm:"activate_card_order_cnt_ratio" json:"activateCardOrderCntRatio" description:"电话卡激活率(回传时间)"`
ForwardTsActivateCardOrderRatio *float64 `orm:"forward_ts_activate_card_order_ratio" json:"forwardTsActivateCardOrderRatio" description:"电话卡激活率(计费时间)"`
LivePlayCnt *int64 `orm:"live_play_cnt" json:"livePlayCnt" description:"全站直播观看数"`
ItemEntranceClkCnt *int64 `orm:"item_entrance_clk_cnt" json:"itemEntranceClkCnt" description:"小黄车点击数"`
ShowCnt *int64 `orm:"show_cnt" json:"showCnt" description:"全站曝光"`
ReportDateStr string `orm:"report_date_str" json:"reportDateStr" description:"时间"`
CampaignId *int64 `orm:"campaign_id" json:"campaignId" description:"计划 ID"`
CampaignName string `orm:"campaign_name" json:"campaignName" description:"计划名称"`
UnitId *int64 `orm:"unit_id" json:"unitId" description:"单元 ID"`
UnitName string `orm:"unit_name" json:"unitName" description:"单元名称"`
CreativeId *int64 `orm:"creative_id" json:"creativeId" description:"创意 ID"`
CreativeName string `orm:"creative_name" json:"creativeName" description:"创意名称"`
CidActualRoiAfterSubsidy *float64 `orm:"cid_actual_roi_after_subsidy" json:"cidActualRoiAfterSubsidy" description:"补贴后实际 ROI"`
CidCouponAmount *int64 `orm:"cid_coupon_amount" json:"cidCouponAmount" description:"核销券金额"`
CidCouponCallbackPaidRefundAmount *int64 `orm:"cid_coupon_callback_paid_refund_amount" json:"cidCouponCallbackPaidRefundAmount" description:"退单有回传_核销券金额"`
CidVoucherCost *float64 `orm:"cid_voucher_cost" json:"cidVoucherCost" description:"券成本"`
}
// CampaignReportSumCol 广告计划效果指标表字段定义
type CampaignReportSumCol struct {
beans.SQLBaseCol
T0OrderPaymentAmt string
CreativeMaterialType string
LiveName string
AuthorId string
PicUrl string
PicName string
PicId string
CoverUrl string
CoverId string
ItemOrderConversionRatio string
ItemCardClickRatio string
ItemCardClkCnt string
LivePlayCntCost string
AdMerchantFollowCost string
AdMerchantFollow string
NetT0OrderCnt string
NetT0Roi string
NetT0Gmv string
PhotoName string
PhotoIdStr string
PhotoId string
ModPriceSegment string
AgeSegment string
Province string
Gender string
AdPhotoPlayedFiveRatio string
AdPhotoPlayedThreeRatio string
OrderSubmitRoi string
OrderSubmitAmt string
EventOrderSubmitCost string
EventOrderSubmit string
EventOrderPaidRoi string
EventAppInvoked string
EventAddShoppingCart string
ConversionNumCost string
AdEffectivePlayNum string
AdItemClick string
MerchantProductId string
CostTotal string
AdShow string
AdShow1kCost string
Impression string
PhotoClick string
PhotoClickRatio string
Click string
ActionbarClick string
ActionbarClickCost string
EspClickRatio string
ActionRatio string
AdItemClickCount string
EspLivePlayedSeconds string
PlayedThreeSeconds string
Play3sRatio string
PlayedFiveSeconds string
Play5sRatio string
PlayedEnd string
PlayEndRatio string
Share string
Comment string
Likes string
Report string
Block string
ItemNegative string
LiveShare string
LiveComment string
LiveReward string
EffectivePlayCount string
EffectivePlayRatio string
ConversionNum string
ConversionCostEsp string
Roi string
Gmv string
T0Gmv string
T1Gmv string
T7Gmv string
T15Gmv string
T30Gmv string
T0Roi string
T1Roi string
T7Roi string
T15Roi string
T30Roi string
PaiedOrder string
OrderRatio string
T0OrderCnt string
T0OrderCntCost string
T0OrderCntRatio string
T1OrderCnt string
T7OrderCnt string
T15OrderCnt string
T30OrderCnt string
MerchantRecoFans string
T1Retention string
T7Retention string
T15Retention string
T30Retention string
T1RetentionRatio string
T7RetentionRatio string
T15RetentionRatio string
T30RetentionRatio string
ReservationSuccess string
ReservationCost string
StandardLivePlayedStarted string
AdLivePlayCnt string
AdLivePlayCntCost string
LiveAudienceCost string
LiveEventGoodsView string
GoodsClickRatio string
DirectAttrPlatNewBuyerCnt string
T30AttrPlatTotalBuyerCnt string
DirectAttrSellerNewBuyerCnt string
T30AttrSellerTotalBuyerCnt string
T3Gmv string
T3OrderCnt string
T3Roi string
T7IndirectOrderAmt string
T7IndirectOrderCnt string
FansT0GmvPerFans string
FansT3GmvPerFans string
FansT7GmvPerFans string
FansT15GmvPerFans string
FansT30GmvPerFans string
RecoFansCost string
QcpxWhiteboxDirectOrderPaymentAmt string
QcpxWhiteboxDirectOrderCnt string
FansT0Gmv string
FansT1Gmv string
FansT7Gmv string
FansT15Gmv string
FansT30Gmv string
FansT0Roi string
FansT1Roi string
FansT7Roi string
FansT15Roi string
FansT30Roi string
T0ShopNewBuyerOrderPaymentAmt string
T1ShopNewBuyerOrderPaymentAmt string
T3ShopNewBuyerOrderPaymentAmt string
T7ShopNewBuyerOrderPaymentAmt string
T15ShopNewBuyerOrderPaymentAmt string
T30ShopNewBuyerOrderPaymentAmt string
T0ShopNewBuyerOrderCnt string
T1ShopNewBuyerOrderCnt string
T3ShopNewBuyerOrderCnt string
T7ShopNewBuyerOrderCnt string
T15ShopNewBuyerOrderCnt string
T30ShopNewBuyerOrderCnt string
T1NewBuyerRepurchaseRatio string
T3NewBuyerRepurchaseRatio string
T7NewBuyerRepurchaseRatio string
T15NewBuyerRepurchaseRatio string
T30NewBuyerRepurchaseRatio string
T0ShopNewBuyerRoi string
T1ShopNewBuyerRoi string
T3ShopNewBuyerRoi string
T7ShopNewBuyerRoi string
T15ShopNewBuyerRoi string
T30ShopNewBuyerRoi string
CreateCardOrderCnt string
ForwardTsCreateCardOrderCnt string
CreateCardOrderCost string
ForwardTsCreateCardOrderCost string
ActivateCardOrderCnt string
ForwardTsActivateCardOrderCnt string
ActivateCardOrderCost string
ForwardTsActivateCardOrderCost string
CreateCardOrderRatio string
ForwardTsCreateCardOrderRatio string
ActivateCardOrderCntRatio string
ForwardTsActivateCardOrderRatio string
LivePlayCnt string
ItemEntranceClkCnt string
ShowCnt string
ReportDateStr string
CampaignId string
CampaignName string
UnitId string
UnitName string
CreativeId string
CreativeName string
CidActualRoiAfterSubsidy string
CidCouponAmount string
CidCouponCallbackPaidRefundAmount string
CidVoucherCost string
}
// TableName 返回表名
func (e *CampaignReportSum) TableName() string {
return "campaign_report_sum"
}
// GetCols 获取所有字段名
func (e *CampaignReportSum) GetCols() *CampaignReportSumCol {
return &CampaignReportSumCol{
SQLBaseCol: beans.SQLBaseCol{
Id: "id",
CreatedAt: "created_at",
UpdatedAt: "updated_at",
},
T0OrderPaymentAmt: "t0_order_payment_amt",
CreativeMaterialType: "creative_material_type",
LiveName: "live_name",
AuthorId: "author_id",
PicUrl: "pic_url",
PicName: "pic_name",
PicId: "pic_id",
CoverUrl: "cover_url",
CoverId: "cover_id",
ItemOrderConversionRatio: "item_order_conversion_ratio",
ItemCardClickRatio: "item_card_click_ratio",
ItemCardClkCnt: "item_card_clk_cnt",
LivePlayCntCost: "live_play_cnt_cost",
AdMerchantFollowCost: "ad_merchant_follow_cost",
AdMerchantFollow: "ad_merchant_follow",
NetT0OrderCnt: "net_t0_order_cnt",
NetT0Roi: "net_t0_roi",
NetT0Gmv: "net_t0_gmv",
PhotoName: "photo_name",
PhotoIdStr: "photo_id_str",
PhotoId: "photo_id",
ModPriceSegment: "mod_price_segment",
AgeSegment: "age_segment",
Province: "province",
Gender: "gender",
AdPhotoPlayedFiveRatio: "ad_photo_played_five_ratio",
AdPhotoPlayedThreeRatio: "ad_photo_played_three_ratio",
OrderSubmitRoi: "order_submit_roi",
OrderSubmitAmt: "order_submit_amt",
EventOrderSubmitCost: "event_order_submit_cost",
EventOrderSubmit: "event_order_submit",
EventOrderPaidRoi: "event_order_paid_roi",
EventAppInvoked: "event_app_invoked",
EventAddShoppingCart: "event_add_shopping_cart",
ConversionNumCost: "conversion_num_cost",
AdEffectivePlayNum: "ad_effective_play_num",
AdItemClick: "ad_item_click",
MerchantProductId: "merchant_product_id",
CostTotal: "cost_total",
AdShow: "ad_show",
AdShow1kCost: "ad_show1k_cost",
Impression: "impression",
PhotoClick: "photo_click",
PhotoClickRatio: "photo_click_ratio",
Click: "click",
ActionbarClick: "actionbar_click",
ActionbarClickCost: "actionbar_click_cost",
EspClickRatio: "esp_click_ratio",
ActionRatio: "action_ratio",
AdItemClickCount: "ad_item_click_count",
EspLivePlayedSeconds: "esp_live_played_seconds",
PlayedThreeSeconds: "played_three_seconds",
Play3sRatio: "play3s_ratio",
PlayedFiveSeconds: "played_five_seconds",
Play5sRatio: "play5s_ratio",
PlayedEnd: "played_end",
PlayEndRatio: "play_end_ratio",
Share: "share",
Comment: "comment",
Likes: "likes",
Report: "report",
Block: "block",
ItemNegative: "item_negative",
LiveShare: "live_share",
LiveComment: "live_comment",
LiveReward: "live_reward",
EffectivePlayCount: "effective_play_count",
EffectivePlayRatio: "effective_play_ratio",
ConversionNum: "conversion_num",
ConversionCostEsp: "conversion_cost_esp",
Roi: "roi",
Gmv: "gmv",
T0Gmv: "t0_gmv",
T1Gmv: "t1_gmv",
T7Gmv: "t7_gmv",
T15Gmv: "t15_gmv",
T30Gmv: "t30_gmv",
T0Roi: "t0_roi",
T1Roi: "t1_roi",
T7Roi: "t7_roi",
T15Roi: "t15_roi",
T30Roi: "t30_roi",
PaiedOrder: "paied_order",
OrderRatio: "order_ratio",
T0OrderCnt: "t0_order_cnt",
T0OrderCntCost: "t0_order_cnt_cost",
T0OrderCntRatio: "t0_order_cnt_ratio",
T1OrderCnt: "t1_order_cnt",
T7OrderCnt: "t7_order_cnt",
T15OrderCnt: "t15_order_cnt",
T30OrderCnt: "t30_order_cnt",
MerchantRecoFans: "merchant_reco_fans",
T1Retention: "t1_retention",
T7Retention: "t7_retention",
T15Retention: "t15_retention",
T30Retention: "t30_retention",
T1RetentionRatio: "t1_retention_ratio",
T7RetentionRatio: "t7_retention_ratio",
T15RetentionRatio: "t15_retention_ratio",
T30RetentionRatio: "t30_retention_ratio",
ReservationSuccess: "reservation_success",
ReservationCost: "reservation_cost",
StandardLivePlayedStarted: "standard_live_played_started",
AdLivePlayCnt: "ad_live_play_cnt",
AdLivePlayCntCost: "ad_live_play_cnt_cost",
LiveAudienceCost: "live_audience_cost",
LiveEventGoodsView: "live_event_goods_view",
GoodsClickRatio: "goods_click_ratio",
DirectAttrPlatNewBuyerCnt: "direct_attr_plat_new_buyer_cnt",
T30AttrPlatTotalBuyerCnt: "t30_attr_plat_total_buyer_cnt",
DirectAttrSellerNewBuyerCnt: "direct_attr_seller_new_buyer_cnt",
T30AttrSellerTotalBuyerCnt: "t30_attr_seller_total_buyer_cnt",
T3Gmv: "t3_gmv",
T3OrderCnt: "t3_order_cnt",
T3Roi: "t3_roi",
T7IndirectOrderAmt: "t7_indirect_order_amt",
T7IndirectOrderCnt: "t7_indirect_order_cnt",
FansT0GmvPerFans: "fans_t0_gmv_per_fans",
FansT3GmvPerFans: "fans_t3_gmv_per_fans",
FansT7GmvPerFans: "fans_t7_gmv_per_fans",
FansT15GmvPerFans: "fans_t15_gmv_per_fans",
FansT30GmvPerFans: "fans_t30_gmv_per_fans",
RecoFansCost: "reco_fans_cost",
QcpxWhiteboxDirectOrderPaymentAmt: "qcpx_whitebox_direct_order_payment_amt",
QcpxWhiteboxDirectOrderCnt: "qcpx_whitebox_direct_order_cnt",
FansT0Gmv: "fans_t0_gmv",
FansT1Gmv: "fans_t1_gmv",
FansT7Gmv: "fans_t7_gmv",
FansT15Gmv: "fans_t15_gmv",
FansT30Gmv: "fans_t30_gmv",
FansT0Roi: "fans_t0_roi",
FansT1Roi: "fans_t1_roi",
FansT7Roi: "fans_t7_roi",
FansT15Roi: "fans_t15_roi",
FansT30Roi: "fans_t30_roi",
T0ShopNewBuyerOrderPaymentAmt: "t0_shop_new_buyer_order_payment_amt",
T1ShopNewBuyerOrderPaymentAmt: "t1_shop_new_buyer_order_payment_amt",
T3ShopNewBuyerOrderPaymentAmt: "t3_shop_new_buyer_order_payment_amt",
T7ShopNewBuyerOrderPaymentAmt: "t7_shop_new_buyer_order_payment_amt",
T15ShopNewBuyerOrderPaymentAmt: "t15_shop_new_buyer_order_payment_amt",
T30ShopNewBuyerOrderPaymentAmt: "t30_shop_new_buyer_order_payment_amt",
T0ShopNewBuyerOrderCnt: "t0_shop_new_buyer_order_cnt",
T1ShopNewBuyerOrderCnt: "t1_shop_new_buyer_order_cnt",
T3ShopNewBuyerOrderCnt: "t3_shop_new_buyer_order_cnt",
T7ShopNewBuyerOrderCnt: "t7_shop_new_buyer_order_cnt",
T15ShopNewBuyerOrderCnt: "t15_shop_new_buyer_order_cnt",
T30ShopNewBuyerOrderCnt: "t30_shop_new_buyer_order_cnt",
T1NewBuyerRepurchaseRatio: "t1_new_buyer_repurchase_ratio",
T3NewBuyerRepurchaseRatio: "t3_new_buyer_repurchase_ratio",
T7NewBuyerRepurchaseRatio: "t7_new_buyer_repurchase_ratio",
T15NewBuyerRepurchaseRatio: "t15_new_buyer_repurchase_ratio",
T30NewBuyerRepurchaseRatio: "t30_new_buyer_repurchase_ratio",
T0ShopNewBuyerRoi: "t0_shop_new_buyer_roi",
T1ShopNewBuyerRoi: "t1_shop_new_buyer_roi",
T3ShopNewBuyerRoi: "t3_shop_new_buyer_roi",
T7ShopNewBuyerRoi: "t7_shop_new_buyer_roi",
T15ShopNewBuyerRoi: "t15_shop_new_buyer_roi",
T30ShopNewBuyerRoi: "t30_shop_new_buyer_roi",
CreateCardOrderCnt: "create_card_order_cnt",
ForwardTsCreateCardOrderCnt: "forward_ts_create_card_order_cnt",
CreateCardOrderCost: "create_card_order_cost",
ForwardTsCreateCardOrderCost: "forward_ts_create_card_order_cost",
ActivateCardOrderCnt: "activate_card_order_cnt",
ForwardTsActivateCardOrderCnt: "forward_ts_activate_card_order_cnt",
ActivateCardOrderCost: "activate_card_order_cost",
ForwardTsActivateCardOrderCost: "forward_ts_activate_card_order_cost",
CreateCardOrderRatio: "create_card_order_ratio",
ForwardTsCreateCardOrderRatio: "forward_ts_create_card_order_ratio",
ActivateCardOrderCntRatio: "activate_card_order_cnt_ratio",
ForwardTsActivateCardOrderRatio: "forward_ts_activate_card_order_ratio",
LivePlayCnt: "live_play_cnt",
ItemEntranceClkCnt: "item_entrance_clk_cnt",
ShowCnt: "show_cnt",
ReportDateStr: "report_date_str",
CampaignId: "campaign_id",
CampaignName: "campaign_name",
UnitId: "unit_id",
UnitName: "unit_name",
CreativeId: "creative_id",
CreativeName: "creative_name",
CidActualRoiAfterSubsidy: "cid_actual_roi_after_subsidy",
CidCouponAmount: "cid_coupon_amount",
CidCouponCallbackPaidRefundAmount: "cid_coupon_callback_paid_refund_amount",
CidVoucherCost: "cid_voucher_cost",
}
}

View File

@@ -0,0 +1,97 @@
package copydata
import (
dao "cid/dao/copydata"
dto "cid/model/dto/copydata"
"context"
"errors"
"gitea.com/red-future/common/beans"
)
type campaignReportSumService struct{}
// CampaignReportSum 广告计划效果指标表服务
var CampaignReportSum = new(campaignReportSumService)
// Create 创建广告计划效果指标表
func (s *campaignReportSumService) Create(ctx context.Context, req *dto.CampaignReportSumItem) (res *dto.CreateCampaignReportSumRes, err error) {
// 验证必要字段
if req.ReportDateStr == "" {
return nil, errors.New("报告日期不能为空")
}
// 插入数据库
id, err := dao.CampaignReportSum.Insert(ctx, req)
if err != nil {
return nil, err
}
res = &dto.CreateCampaignReportSumRes{
Id: id,
}
return
}
// BatchCreate 批量创建广告计划效果指标表
func (s *campaignReportSumService) BatchCreate(ctx context.Context, req *dto.BatchCreateCampaignReportSumReq) (res *dto.BatchCreateCampaignReportSumRes, err error) {
ctx = context.WithValue(ctx, "user", &beans.User{UserName: "admin"})
// 验证数据
if len(req.Items) == 0 {
return nil, errors.New("批量创建数据不能为空")
}
// 批量插入数据库
successCount, failCount, failedIndexes, err := dao.CampaignReportSum.BatchInsert(ctx, req.Items)
if err != nil {
return nil, err
}
res = &dto.BatchCreateCampaignReportSumRes{
SuccessCount: successCount,
FailCount: failCount,
FailedItems: failedIndexes,
}
return
}
// CreateDetail 创建广告效果指标表
func (s *campaignReportSumService) CreateDetail(ctx context.Context, req *dto.CampaignReportDetailItem) (res *dto.CreateCampaignReportDetailRes, err error) {
// 验证必要字段
if req.ReportDateStr == "" {
return nil, errors.New("报告日期不能为空")
}
// 插入数据库
id, err := dao.CampaignReportDetail.Insert(ctx, req)
if err != nil {
return nil, err
}
res = &dto.CreateCampaignReportDetailRes{
Id: id,
}
return
}
// BatchCreateDetail 批量创建广告效果指标表
func (s *campaignReportSumService) BatchCreateDetail(ctx context.Context, req *dto.BatchCreateCampaignReportDetailReq) (res *dto.BatchCreateCampaignReportDetailRes, err error) {
ctx = context.WithValue(ctx, "user", &beans.User{UserName: "admin"})
// 验证数据
if len(req.Items) == 0 {
return nil, errors.New("批量创建数据不能为空")
}
// 批量插入数据库
successCount, failCount, failedIndexes, err := dao.CampaignReportDetail.BatchInsert(ctx, req.Items)
if err != nil {
return nil, err
}
res = &dto.BatchCreateCampaignReportDetailRes{
SuccessCount: successCount,
FailCount: failCount,
FailedItems: failedIndexes,
}
return
}