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", "task_id"}, KeyWordField: []string{"remark"}, }, //UniqueKey: map[string]string{"task_id": "索引不能重复"}, }, } } func (s *TaskService) Get(id, os int) *model.TaskConfig { var res *model.TaskConfig dbm_enable(s.Model).Where("task_id", id).Where("out_state", os).Scan(&res) if res == nil { dbm_notenable(s.Model).Where("task_id", id).Where("out_state", os).Scan(&res) } // var res *model.TaskConfig // for _, v := range item { // if v.OutState == os { // res = &v // } // } return res } func (s *TaskService) GetDaily() []model.TaskConfig { var item []model.TaskConfig dbm_enable(s.Model).Where("task_type", 1).Scan(&item) if len(item) == 0 { dbm_notenable(s.Model).Where("task_type", 1).Scan(&item) } return item } func (s *TaskService) GetWeek() []model.TaskConfig { var item []model.TaskConfig dbm_enable(s.Model).Where("task_type", 2).Scan(&item) if len(item) == 0 { dbm_notenable(s.Model).Where("task_type", 2).Scan(&item) } return item } func (s *TaskService) IsDaily(id, os int) bool { var item *model.TaskConfig dbm_enable(s.Model).Where("task_id", id).Where("out_state", os).Scan(&item) if item == nil { dbm_notenable(s.Model).Where("task_id", id).Where("out_state", os).Scan(&item) } if item == nil { return false } if item.TaskType == 1 { return true } return false } func (s *TaskService) IsAcceptable(taskid uint32) (out *model.TaskConfig) { cool.DBM(s.Model).Where("is_acceptable", 1).Where("task_id", taskid). Cache(gdb.CacheOption{ // Duration: time.Hour, Force: false, }).Scan(&out) return }