@@ -0,0 +1,114 @@
|
||||
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)
|
||||
}
|
||||
Reference in New Issue
Block a user