Initial commit

This commit is contained in:
2026-05-20 16:13:58 +08:00
commit ceffbe382e
500 changed files with 157469 additions and 0 deletions
+100
View File
@@ -0,0 +1,100 @@
package dailystatadvertiseser
import (
"context"
"stat/common/utils"
"stat/models/dailystatadvertise"
"time"
"github.com/pkg/errors"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo/options"
)
//GetDailyStatAdvertise 按照参数搜索
func GetDailyStatAdvertise(ctx context.Context, param *DailyStatAdvertiseSearch) (*DailyStatAdvertiseSearchResp, error) {
filter := bson.M{}
opt := &options.FindOptions{}
resp := &DailyStatAdvertiseSearchResp{}
opt.SetSort(bson.M{dailystatadvertise.FN.DailyStatAdvertise.SumDate: -1})
opt.SetSkip((param.PageNum - 1) * param.PageSize)
opt.SetLimit(param.PageSize)
total, serr := dailystatadvertise.CountDailyStatAdvertises(ctx, filter)
if serr != nil {
return resp, serr
}
if total == 0 {
return resp, nil
}
list, serr := dailystatadvertise.FindManyDailyStatAdvertise(ctx, filter, opt)
if serr != nil {
return resp, serr
}
resp.List = list
resp.Total = total
return resp, nil
}
//AddGraphic 添加一个
func AddDailyStatAdvertise(ctx context.Context,
ac *dailystatadvertise.DailyStatAdvertise) error {
ac.AppName = "蜜桃传媒"
ac.SumDate = utils.BeginWithTime(ac.SumDate)
serr := dailystatadvertise.InsertOneDailyStatAdvertise(ctx, ac)
if serr != nil {
return serr
}
return nil
}
//DelDailyStatAdvertise 删除指定
func DelDailyStatAdvertise(ctx context.Context, id string) error {
objectId, err := primitive.ObjectIDFromHex(id)
if err != nil {
return err
}
adFilter := bson.M{dailystatadvertise.FN.DailyStatAdvertise.ID: objectId}
//删除
count, serr := dailystatadvertise.DelOneDailyStatAdvertise(ctx, adFilter)
if serr != nil {
return serr
}
if count == 0 {
return errors.Errorf("DelDailyStatAdvertise")
}
return nil
}
//UpdateDailyStatAdvertise 更新指定
func UpdateDailyStatAdvertise(ctx context.Context, id string,
info *DailyStatAdvertiseUpdate) error {
now := time.Now()
info.UpdatedAt = &now
if info.SumDate != nil {
sumdate := utils.BeginWithTime(*info.SumDate)
info.SumDate = &sumdate
}
objectId, err := primitive.ObjectIDFromHex(id)
if err != nil {
return err
}
adFilter := bson.M{dailystatadvertise.FN.DailyStatAdvertise.ID: objectId}
updateDoc := bson.M{"$set": info}
serr := dailystatadvertise.UpdateOneDailyStatAdvertise(ctx, adFilter, updateDoc)
if serr != nil {
return serr
}
return nil
}
+37
View File
@@ -0,0 +1,37 @@
package dailystatadvertiseser
import (
"stat/models/dailystatadvertise"
"time"
)
// ActressPhotoSearch 模特管理
type DailyStatAdvertiseSearch struct {
PageNum int64 `json:"pageNum"`
PageSize int64 `json:"pageSize"`
}
type DailyStatAdvertiseSearchResp struct {
Total int64 `json:"total"`
List dailystatadvertise.DailyStatAdvertiseList `json:"list"`
}
type DailyStatAdvertiseUpdate struct {
SumDate *time.Time `bson:"sumDate,omitempty" json:"sumDate,omitempty"` // 记录时间 按天对齐
AppId *int32 `bson:"appId,omitempty" json:"appId"` // appId
NewDirectCount *int64 `bson:"newDirectCount,omitempty" json:"newDirectCount"` // 新增直推
DirectVisitCount *int64 `bson:"directVisitCount,omitempty" json:"directVisitCount"` // 直推访问数
Day1RetainRate *string `bson:"day1RetainRate,omitempty" json:"day1RetainRate"` // 次日留存率
Day3RetainRate *string `bson:"day3RetainRate,omitempty" json:"day3RetainRate"` // 3日留存率
Day7RetainRate *string `bson:"day7RetainRate,omitempty" json:"day7RetainRate"` // 7日留存率
UpdatedAt *time.Time `json:"updatedAt" bson:"updatedAt,omitempty"` // 更新时间
}
type DailyStatAdvertiseUpdateReq struct {
Param DailyStatAdvertiseUpdate `json:"param" bson:"param"` // 参数
Id string `json:"id" bson:"_id" binding:"required"` // 视频Id
}
type DailyStatAdvertiseDelReq struct {
Id string `json:"id" bson:"_id" binding:"required"` // 视频Id
}