From bd24d39d577c6f7e8df2aea97faa75f05ae4b042 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=96=8C?= <259278618@qq.com> Date: Sat, 6 Dec 2025 18:36:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller/ad_position_controller.go | 7 +------ controller/advertisement_controller.go | 5 ----- controller/cid_controller.go | 14 ------------- controller/stat_report_controller.go | 2 +- dao/ad_source_dao.go | 4 +--- dao/cid_request_dao.go | 4 +--- dao/strategy_dao.go | 4 +--- dao/tenant_dao.go | 2 +- main.go | 2 +- model/dto/ad_position_dto.go | 15 ------------- model/dto/advertisement_dto.go | 14 ------------- model/dto/cid_dto.go | 18 ---------------- model/dto/stat_report_dto.go | 4 ++++ service/ad_position_service.go | 29 -------------------------- service/advertisement_service.go | 29 -------------------------- service/cid_service.go | 17 --------------- 16 files changed, 11 insertions(+), 159 deletions(-) diff --git a/controller/ad_position_controller.go b/controller/ad_position_controller.go index 313ae3c..8a6999c 100644 --- a/controller/ad_position_controller.go +++ b/controller/ad_position_controller.go @@ -40,13 +40,8 @@ func (c *adPosition) List(ctx context.Context, req *dto.ListAdPositionReq) (res return service.AdPosition.List(ctx, req) } -// GetStatistics 获取广告位统计数据 -func (c *adPosition) GetStatistics(ctx context.Context, req *dto.GetAdPositionStatisticsReq) (res *dto.GetAdPositionStatisticsRes, err error) { - return service.AdPosition.GetStatistics(ctx, req) -} - // GetAvailableAdPositions 获取可用的广告位列表 -func (c *adPosition) GetAvailableAdPositions(ctx context.Context, req *dto.GetAvailableAdPositionsReq) (res *dto.GetAvailableAdPositionsRes, err error) { +func (c *adPosition) GetAvailableAdPositions(ctx context.Context, _ *dto.GetAvailableAdPositionsReq) (res *dto.GetAvailableAdPositionsRes, err error) { list, err := service.AdPosition.GetAvailableAdPositions(ctx) if err != nil { return nil, err diff --git a/controller/advertisement_controller.go b/controller/advertisement_controller.go index 3009b26..8f7a161 100644 --- a/controller/advertisement_controller.go +++ b/controller/advertisement_controller.go @@ -44,8 +44,3 @@ func (c *advertisement) GetOne(ctx context.Context, req *dto.GetAdvertisementReq func (c *advertisement) List(ctx context.Context, req *dto.ListAdvertisementReq) (res *dto.ListAdvertisementRes, err error) { return service.Advertisement.List(ctx, req) } - -// GetStatistics 获取广告统计数据 -func (c *advertisement) GetStatistics(ctx context.Context, req *dto.GetAdStatisticsForAdvertisementReq) (res *dto.GetAdStatisticsForAdvertisementRes, err error) { - return service.Advertisement.GetStatistics(ctx, req) -} diff --git a/controller/cid_controller.go b/controller/cid_controller.go index d5da68f..b22d533 100644 --- a/controller/cid_controller.go +++ b/controller/cid_controller.go @@ -33,20 +33,6 @@ func (c *cid) GenerateCID(ctx context.Context, req *dto.GenerateCIDReq) (res *dt return result, nil } -// GetStatistics 获取CID统计信息 -func (c *cid) GetStatistics(ctx context.Context, req *dto.GetCIDStatisticsReq) (res *dto.GetCIDStatisticsRes, err error) { - if req == nil { - return nil, gerror.New("请求参数不能为空") - } - - result, err := service.CID.GetCIDStatistics(ctx, req) - if err != nil { - return nil, err - } - - return result, nil -} - // GetCIDHistory 获取CID历史记录 func (c *cid) GetCIDHistory(ctx context.Context, req *dto.GetCIDHistoryReq) (res *dto.GetCIDHistoryRes, err error) { if req == nil { diff --git a/controller/stat_report_controller.go b/controller/stat_report_controller.go index e8611e9..dce17d5 100644 --- a/controller/stat_report_controller.go +++ b/controller/stat_report_controller.go @@ -133,7 +133,7 @@ func (c *statReport) RealTimeStats(ctx context.Context, req *dto.RealTimeStatReq } // ExportReport 导出报表 -func (c *statReport) ExportReport(ctx context.Context, req *dto.ReportDetailReq) (res *dto.ExportReportRes, err error) { +func (c *statReport) ExportReport(ctx context.Context, req *dto.ExportReportReq) (res *dto.ExportReportRes, err error) { // 获取报表详情 resp, err := service.StatReport.GetReportDetail(ctx, req.ReportID) if err != nil { diff --git a/dao/ad_source_dao.go b/dao/ad_source_dao.go index 55598c7..cce3122 100644 --- a/dao/ad_source_dao.go +++ b/dao/ad_source_dao.go @@ -7,9 +7,7 @@ import ( "github.com/gogf/gf/v2/frame/g" ) -var ( - AdSource = adSourceDao{} -) +var AdSource = &adSourceDao{} type adSourceDao struct{} diff --git a/dao/cid_request_dao.go b/dao/cid_request_dao.go index 6101f5b..ff9d274 100644 --- a/dao/cid_request_dao.go +++ b/dao/cid_request_dao.go @@ -7,9 +7,7 @@ import ( "github.com/gogf/gf/v2/frame/g" ) -var ( - CIDRequest = cidRequestDao{} -) +var CIDRequest = &cidRequestDao{} type cidRequestDao struct{} diff --git a/dao/strategy_dao.go b/dao/strategy_dao.go index 6181990..265ac1f 100644 --- a/dao/strategy_dao.go +++ b/dao/strategy_dao.go @@ -7,9 +7,7 @@ import ( "github.com/gogf/gf/v2/frame/g" ) -var ( - Strategy = strategyDao{} -) +var Strategy = &strategyDao{} type strategyDao struct{} diff --git a/dao/tenant_dao.go b/dao/tenant_dao.go index cba1147..a9e1ed4 100644 --- a/dao/tenant_dao.go +++ b/dao/tenant_dao.go @@ -9,7 +9,7 @@ import ( "github.com/gogf/gf/v2/frame/g" ) -var Tenant = tenantDao{} +var Tenant = &tenantDao{} type tenantDao struct{} diff --git a/main.go b/main.go index b685e79..de1a796 100644 --- a/main.go +++ b/main.go @@ -22,7 +22,7 @@ func main() { controller.Report, //controller.RateLimit, //controller.Application, - //controller.StatReport, + controller.StatReport, }) select {} } diff --git a/model/dto/ad_position_dto.go b/model/dto/ad_position_dto.go index 403ca36..b918a1b 100644 --- a/model/dto/ad_position_dto.go +++ b/model/dto/ad_position_dto.go @@ -126,21 +126,6 @@ type UpdateAdPositionStatusReq struct { Status string `json:"status" v:"required"` // 广告位状态:启用、禁用、测试 } -// GetAdPositionStatisticsReq 获取广告位统计数据请求 -type GetAdPositionStatisticsReq struct { - g.Meta `path:"/getStatistics" method:"get" tags:"广告位管理" summary:"获取广告位统计数据" dc:"获取广告位的统计数据"` - - Id string `json:"id" v:"required"` // 广告位ID - StatType string `json:"statType" v:"required"` // 统计类型:天、周、月 - StartDate int64 `json:"startDate"` // 开始日期 - EndDate int64 `json:"endDate"` // 结束日期 -} - -type GetAdPositionStatisticsRes struct { - Statistics []*entity.AdStatistics `json:"statistics"` - Total int `json:"total"` -} - // GetAvailableAdPositionsReq 获取可用广告位请求 type GetAvailableAdPositionsReq struct { g.Meta `path:"/getAvailableAdPositions" method:"get" tags:"广告位管理" summary:"获取可用广告位列表" dc:"获取所有启用的广告位列表"` diff --git a/model/dto/advertisement_dto.go b/model/dto/advertisement_dto.go index 3e888ce..9217c20 100644 --- a/model/dto/advertisement_dto.go +++ b/model/dto/advertisement_dto.go @@ -117,17 +117,3 @@ type UpdateAdStatusReq struct { Id string `json:"id" v:"required"` // 广告ID Status string `json:"status" v:"required"` // 广告状态:启用、禁用 } - -// GetAdStatisticsReq 获取广告统计数据请求 -type GetAdStatisticsForAdvertisementReq struct { - g.Meta `path:"/getStatistics" method:"get" tags:"广告管理" summary:"获取广告统计数据" dc:"获取广告的统计数据"` - - Id string `json:"id" v:"required"` // 广告ID - StatType string `json:"statType" v:"required"` // 统计类型:天、周、月 - StartDate int64 `json:"startDate"` // 开始日期 - EndDate int64 `json:"endDate"` // 结束日期 -} - -type GetAdStatisticsForAdvertisementRes struct { - Statistics []*entity.AdStatistics `json:"statistics"` -} diff --git a/model/dto/cid_dto.go b/model/dto/cid_dto.go index e8e4f15..683b3bc 100644 --- a/model/dto/cid_dto.go +++ b/model/dto/cid_dto.go @@ -36,24 +36,6 @@ type GenerateCIDRes struct { GeneratedAt string `json:"generated_at"` // 生成时间 } -// GetCIDStatisticsReq 获取CID统计请求 -type GetCIDStatisticsReq struct { - g.Meta `path:"/getStatistics" method:"get" tags:"CID服务" summary:"获取CID统计" dc:"获取CID服务的统计信息"` - UserId int64 `json:"user_id"` // 用户ID(可选) - TenantId int64 `json:"tenant_id"` // 租户ID(可选) - DateFrom int64 `json:"date_from"` // 开始日期 - DateTo int64 `json:"date_to"` // 结束日期 -} - -// GetCIDStatisticsRes 获取CID统计响应 -type GetCIDStatisticsRes struct { - TotalRequests int64 `json:"total_requests"` // 总请求数 - SuccessfulReq int64 `json:"successful_requests"` // 成功请求数 - AverageProcessTime float64 `json:"average_process_time"` // 平均处理时间 - TopSources []string `json:"top_sources"` // 主要广告源 - ConversionStats map[string]float64 `json:"conversion_stats"` // 转化率统计 -} - // CIDRequestHistory CID请求历史记录 type CIDRequestHistory struct { Id int64 `json:"id"` // 记录ID diff --git a/model/dto/stat_report_dto.go b/model/dto/stat_report_dto.go index 96bbd68..0fb720f 100644 --- a/model/dto/stat_report_dto.go +++ b/model/dto/stat_report_dto.go @@ -44,6 +44,10 @@ type ReportDetailReq struct { g.Meta `path:"/getReportDetail" method:"get"` ReportID int64 `json:"report_id" v:"required"` } +type ExportReportReq struct { + g.Meta `path:"/exportReport" method:"get"` + ReportID int64 `json:"report_id" v:"required"` +} // 报表详情响应 type ReportDetailResp struct { diff --git a/service/ad_position_service.go b/service/ad_position_service.go index 6f16fec..fdd536a 100644 --- a/service/ad_position_service.go +++ b/service/ad_position_service.go @@ -81,35 +81,6 @@ func (s *adPosition) List(ctx context.Context, req *dto.ListAdPositionReq) (res return } -// GetStatistics 获取广告位统计数据 -func (s *adPosition) GetStatistics(ctx context.Context, req *dto.GetAdPositionStatisticsReq) (res *dto.GetAdPositionStatisticsRes, err error) { - statReq := &dto.GetAdStatisticsReq{ - StatType: "adPosition", - StatDimension: req.StatType, - TargetId: req.Id, - StartDate: req.StartDate, - EndDate: req.EndDate, - DeviceType: "", - Platform: "", - Region: "", - Gender: "", - AgeGroup: "", - SortBy: "", - SortDirection: "", - } - - list, total, err := dao.AdStatistics.GetStatistics(ctx, statReq) - if err != nil { - return - } - - res = &dto.GetAdPositionStatisticsRes{ - Statistics: list, - Total: int(total), - } - return -} - // GetByCode 根据编码获取广告位 func (s *adPosition) GetByCode(ctx context.Context, code string) (adPosition *entity.AdPosition, err error) { return dao.AdPosition.GetByCode(ctx, code) diff --git a/service/advertisement_service.go b/service/advertisement_service.go index caac880..0a7b7a1 100644 --- a/service/advertisement_service.go +++ b/service/advertisement_service.go @@ -92,35 +92,6 @@ func (s *advertisement) List(ctx context.Context, req *dto.ListAdvertisementReq) return } -// GetStatistics 获取广告统计数据 -func (s *advertisement) GetStatistics(ctx context.Context, req *dto.GetAdStatisticsForAdvertisementReq) (res *dto.GetAdStatisticsForAdvertisementRes, err error) { - statReq := &dto.GetAdStatisticsReq{ - StatType: "advertisement", - StatDimension: req.StatType, - TargetId: req.Id, - StartDate: req.StartDate, - EndDate: req.EndDate, - DeviceType: "", - Platform: "", - Region: "", - Gender: "", - AgeGroup: "", - SortBy: "", - SortDirection: "", - } - - list, _, err := dao.AdStatistics.GetStatistics(ctx, statReq) - if err != nil { - return - } - - res = &dto.GetAdStatisticsForAdvertisementRes{ - Statistics: list, - } - // Total字段不存在,已移除 - return -} - // UpdateAdStatistics 更新广告统计 func (s *advertisement) UpdateAdStatistics(ctx context.Context, id string, impressions, clicks, conversions int64, cost int64) (err error) { // 获取广告信息 diff --git a/service/cid_service.go b/service/cid_service.go index 4be0d6f..20ee9fe 100644 --- a/service/cid_service.go +++ b/service/cid_service.go @@ -311,23 +311,6 @@ func (s *cidService) recordCIDRequest(ctx context.Context, req *dto.GenerateCIDR dao.CIDRequest.Create(ctx, request) } -// GetCIDStatistics 获取CID统计信息 -func (s *cidService) GetCIDStatistics(ctx context.Context, req *dto.GetCIDStatisticsReq) (res *dto.GetCIDStatisticsRes, err error) { - // 这里应该实现真实的统计逻辑 - // 暂时返回模拟数据 - return &dto.GetCIDStatisticsRes{ - TotalRequests: int64(rand.Intn(9000) + 1000), - SuccessfulReq: int64(rand.Intn(8100) + 900), - AverageProcessTime: rand.Float64()*200 + 50, - TopSources: []string{"self", "google", "facebook"}, - ConversionStats: map[string]float64{ - "self": rand.Float64() * 0.1, - "google": rand.Float64() * 0.2, - "facebook": rand.Float64() * 0.15, - }, - }, nil -} - // GetCIDHistory 获取CID请求历史 func (s *cidService) GetCIDHistory(ctx context.Context, userId int64, page, size int) (res *dto.GetCIDHistoryRes, err error) { history, total, err := dao.CIDRequest.GetHistory(ctx, userId, page, size)