92 lines
2.4 KiB
Go
92 lines
2.4 KiB
Go
package copydata
|
|
|
|
import (
|
|
dao "cid/dao/copydata"
|
|
dto "cid/model/dto/copydata"
|
|
"context"
|
|
"errors"
|
|
|
|
"gitea.com/red-future/common/beans"
|
|
)
|
|
|
|
type creativeReportSumService struct{}
|
|
|
|
// CreativeReportSum 广告效果指标表服务
|
|
var CreativeReportSum = new(creativeReportSumService)
|
|
|
|
// Create 创建广告效果指标表
|
|
func (s *creativeReportSumService) Create(ctx context.Context, req *dto.CreativeReportSumItem) (res *dto.CreateCreativeReportSumRes, err error) {
|
|
// 验证必要字段
|
|
if req.ReportDateStr == "" {
|
|
return nil, errors.New("报告日期不能为空")
|
|
}
|
|
|
|
// 插入数据库
|
|
id, err := dao.CreativeReportSum.Insert(ctx, req)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
res = &dto.CreateCreativeReportSumRes{
|
|
Id: id,
|
|
}
|
|
return
|
|
}
|
|
|
|
// BatchCreate 批量创建广告效果指标表
|
|
func (s *creativeReportSumService) BatchCreate(ctx context.Context, req *dto.BatchCreateCreativeReportSumReq) (res *dto.BatchCreateCreativeReportSumRes, 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.CreativeReportSum.BatchInsert(ctx, req.Items)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
res = &dto.BatchCreateCreativeReportSumRes{
|
|
SuccessCount: successCount,
|
|
FailCount: failCount,
|
|
FailedItems: failedIndexes,
|
|
}
|
|
return
|
|
}
|
|
|
|
func (s *creativeReportSumService) CreateDetail(ctx context.Context, req *dto.CreativeReportDetailItem) (res *dto.CreateCreativeReportDetailRes, err error) {
|
|
if req.ReportDateStr == "" {
|
|
return nil, errors.New("报告日期不能为空")
|
|
}
|
|
|
|
id, err := dao.CreativeReportDetail.Insert(ctx, req)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
res = &dto.CreateCreativeReportDetailRes{
|
|
Id: id,
|
|
}
|
|
return
|
|
}
|
|
|
|
func (s *creativeReportSumService) BatchCreateDetail(ctx context.Context, req *dto.BatchCreateCreativeReportDetailReq) (res *dto.BatchCreateCreativeReportDetailRes, 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.CreativeReportDetail.BatchInsert(ctx, req.Items)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
res = &dto.BatchCreateCreativeReportDetailRes{
|
|
SuccessCount: successCount,
|
|
FailCount: failCount,
|
|
FailedItems: failedIndexes,
|
|
}
|
|
return
|
|
}
|