package copydata import ( "context" dao "dataengine/dao/copydata" dto "dataengine/model/dto/copydata" "errors" "gitea.redpowerfuture.com/red-future/common/beans" ) type unitReportSumService struct{} // UnitReportSumService 广告效果指标服务 var UnitReportSumService = new(unitReportSumService) // Create 创建广告效果指标 func (s *unitReportSumService) Create(ctx context.Context, req *dto.UnitReportSumItem) (res *dto.CreateUnitReportSumRes, err error) { ctx = context.WithValue(ctx, "user", &beans.User{UserName: "admin"}) if req.ReportDateStr == "" { return nil, errors.New("报告日期不能为空") } id, err := dao.UnitReportSum.Insert(ctx, req) if err != nil { return nil, err } res = &dto.CreateUnitReportSumRes{ Id: id, } return } // BatchCreate 批量创建广告效果指标 func (s *unitReportSumService) BatchCreate(ctx context.Context, req *dto.BatchCreateUnitReportSumReq) (res *dto.BatchCreateUnitReportSumRes, 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.UnitReportSum.BatchInsert(ctx, req.Items) if err != nil { return nil, err } res = &dto.BatchCreateUnitReportSumRes{ SuccessCount: successCount, FailCount: failCount, FailedItems: failedIndexes, } return } // Create 创建广告效果指标详情 func (s *unitReportSumService) CreateDetail(ctx context.Context, req *dto.UnitReportDetailItem) (res *dto.CreateUnitReportDetailRes, err error) { if req.ReportDateStr == "" { return nil, errors.New("报告日期不能为空") } id, err := dao.UnitReportDetail.Insert(ctx, req) if err != nil { return nil, err } res = &dto.CreateUnitReportDetailRes{ Id: id, } return } // BatchCreate 批量创建广告效果指标详情 func (s *unitReportSumService) BatchCreateDetail(ctx context.Context, req *dto.BatchCreateUnitReportDetailReq) (res *dto.BatchCreateUnitReportDetailRes, 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.UnitReportDetail.BatchInsert(ctx, req.Items) if err != nil { return nil, err } res = &dto.BatchCreateUnitReportDetailRes{ SuccessCount: successCount, FailCount: failCount, FailedItems: failedIndexes, } return }