forked from all_user/stat_center
Initial commit
This commit is contained in:
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user