Files
bl/modules/config/service/task.go
昔念 026689f3ed ```
feat(cache): 添加复合键缓存操作支持

添加了基于 uint32+string 组合键的缓存操作方法,包括
GetByCompoundKey、SetByCompoundKey、DelByCompoundKey 和
ContainsByCompoundKey 方法,用于处理用户ID和会话ID的组合缓存场景

fix(vscode): 添加 cSpell 配置支持 struc 词汇

refactor(session): 移除过时的会话管理方法

移除了基于单一字符串键的会话管理方法,因为已迁移到使用
复合键的缓存操作方式
```
2026-01-19 18:51:56 +08:00

60 lines
1.1 KiB
Go

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"},
KeyWordField: []string{"remark"},
},
//UniqueKey: map[string]string{"task_id": "索引不能重复"},
},
}
}
func (s *TaskService) Get(id, os int) *model.TaskConfig {
var item []model.TaskConfig
dbm(s.Model).Where("task_id", id).Scan(&item)
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(s.Model).Where("task_type", 1).Scan(&item)
return item
}
func (s *TaskService) IsAcceptable(taskid uint32) bool {
con, _ := cool.DBM(s.Model).Where("is_acceptable", 1).Where("task_id", taskid).
Cache(gdb.CacheOption{
// Duration: time.Hour,
Force: false,
}).Count()
return con > 0
}