package taskser import ( "go.mongodb.org/mongo-driver/mongo/options" "time" "91porn-server/models/commod" "91porn-server/models/v/dailytaskmod" "go.mongodb.org/mongo-driver/bson" ) type DailyTaskListReq struct { commod.Page Status *bool `form:"status" json:"status" binding:"-"` } func GetDailyTaskList(p DailyTaskListReq) ([]dailytaskmod.DailyTask, bool, error) { opt := options.Find() opt.SetLimit(p.Limit64()).SetSkip(p.Skip64()) opt.SetSort(bson.D{{"sortNum", 1}}) filter := bson.M{} if p.Status != nil { filter["status"] = *p.Status } ot, next, err := dailytaskmod.GetTasks(filter, opt) if err != nil { return nil, false, err } return ot, next, nil } func AddDailyTask(adt dailytaskmod.AddDailyTaskReq) error { var dt dailytaskmod.DailyTask i := 0 if adt.Title != nil { dt.Title = *adt.Title i++ } if adt.Desc != nil { dt.Desc = *adt.Desc i++ } if adt.Img != nil { dt.Img = *adt.Img i++ } if len(adt.Detail) != 0 { dt.Detail = adt.Detail i++ } if adt.Type != nil { dt.Type = *adt.Type i++ } if adt.Link != nil { dt.Link = *adt.Link i++ } if adt.Status != nil { dt.Status = *adt.Status i++ } if adt.SortNum != nil { dt.SortNum = *adt.SortNum i++ } if i == 0 { return nil } now := time.Now() dt.CreatedAt = now dt.UpdatedAt = now if err := dailytaskmod.AddDailyTask(nil, dt); err != nil { return err } return nil } func EditDailyTask(edtr dailytaskmod.EditDailyTaskReq) error { if edtr.ID.IsZero() { return nil } b := make(bson.M) if edtr.Title != nil { b["title"] = *edtr.Title } if edtr.Desc != nil { b["desc"] = *edtr.Desc } if edtr.Img != nil { b["img"] = *edtr.Img } if len(edtr.Detail) != 0 { b["detail"] = edtr.Detail } if edtr.Type != nil { b["type"] = *edtr.Type } if edtr.Link != nil { b["link"] = *edtr.Link } if edtr.Status != nil { b["status"] = *edtr.Status } if edtr.SortNum != nil { b["sortNum"] = *edtr.SortNum } if len(b) == 0 { return nil } b["updatedAt"] = time.Now() return dailytaskmod.EditDailyTask(nil, edtr.ID, b) }