Files
huangguo_server/web/service/taskser/daily.go
T
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

115 lines
2.0 KiB
Go

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)
}