12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package cron
- import (
- "github.com/xinliangnote/go-gin-api/configs"
- "github.com/xinliangnote/go-gin-api/internal/pkg/core"
- cronRepo "github.com/xinliangnote/go-gin-api/internal/repository/cron"
- "github.com/xinliangnote/go-gin-api/internal/repository/mysql"
- "github.com/xinliangnote/go-gin-api/internal/repository/redis"
- "github.com/xinliangnote/go-gin-api/internal/services/cron"
- "github.com/xinliangnote/go-gin-api/pkg/hash"
- "go.uber.org/zap"
- )
- var _ Handler = (*handler)(nil)
- type Handler interface {
- i()
- // Create 创建任务
- // @Tags API.cron
- // @Router /api/cron [post]
- Create() core.HandlerFunc
- // Modify 编辑任务
- // @Tags API.cron
- // @Router /api/cron/{id} [post]
- Modify() core.HandlerFunc
- // List 任务列表
- // @Tags API.cron
- // @Router /api/cron [get]
- List() core.HandlerFunc
- // UpdateUsed 更新任务为启用/禁用
- // @Tags API.cron
- // @Router /api/cron/used [patch]
- UpdateUsed() core.HandlerFunc
- // Detail 获取单条任务详情
- // @Tags API.cron
- // @Router /api/cron/{id} [get]
- Detail() core.HandlerFunc
- // Execute 手动执行任务
- // @Tags API.cron
- // @Router /api/cron/{id} [patch]
- Execute() core.HandlerFunc
- }
- type handler struct {
- logger *zap.Logger
- cache redis.Repo
- hashids hash.Hash
- cronService cron.Service
- }
- func New(logger *zap.Logger, db mysql.Repo, cache redis.Repo, cronServer cronRepo.Server) Handler {
- return &handler{
- logger: logger,
- cache: cache,
- hashids: hash.New(configs.Get().HashIds.Secret, configs.Get().HashIds.Length),
- cronService: cron.New(db, cache, cronServer),
- }
- }
- func (h *handler) i() {}
|