package service import ( "blazing/cool" "blazing/modules/config/model" "github.com/gogf/gf/v2/database/gdb" ) type TaskService struct { *cool.Service } func NewTaskService() *TaskService { return &TaskService{ &cool.Service{ Model: model.NewTaskConfig(), PageQueryOp: &cool.QueryOp{ FieldEQ: []string{"task_type"}, }, //UniqueKey: map[string]string{"task_id": "索引不能重复"}, }, } } func (s *TaskService) Get(id, os uint32) *model.TaskConfig { var item []model.TaskConfig cool.DBM(s.Model).Where("task_id", id). Cache(gdb.CacheOption{ // Duration: time.Hour, Force: false, }).Scan(&item) var res *model.TaskConfig if len(item) == 1 { //只有一个直接默认 res = &item[0] } if len(item) > 1 { // for _, v := range item { if v.OutState == os { res = &item[os] return res } } } return res } func (s *TaskService) GetDaily() []model.TaskConfig { var item []model.TaskConfig cool.DBM(s.Model).Where("task_type", 1). Cache(gdb.CacheOption{ // Duration: time.Hour, Force: false, }).Scan(&item) return item }