migu_music_server/app/jobs/apis/sys_job.go
2025-03-28 14:07:20 +08:00

70 lines
1.4 KiB
Go

package apis
import (
"net/http"
"github.com/gin-gonic/gin"
"github.com/go-admin-team/go-admin-core/sdk"
"github.com/go-admin-team/go-admin-core/sdk/api"
"go-admin/app/jobs/service"
"go-admin/common/dto"
)
type SysJob struct {
api.Api
}
// RemoveJobForService 调用service实现
func (e SysJob) RemoveJobForService(c *gin.Context) {
v := dto.GeneralDelDto{}
s := service.SysJob{}
err := e.MakeContext(c).
MakeOrm().
Bind(&v).
MakeService(&s.Service).
Errors
if err != nil {
e.Logger.Error(err)
return
}
s.Cron = sdk.Runtime.GetCrontabKey(c.Request.Host)
err = s.RemoveJob(&v)
if err != nil {
e.Logger.Errorf("RemoveJob error, %s", err.Error())
e.Error(500, err, "")
return
}
e.OK(nil, s.Msg)
}
// StartJobForService 启动job service实现
func (e SysJob) StartJobForService(c *gin.Context) {
e.MakeContext(c)
log := e.GetLogger()
db, err := e.GetOrm()
if err != nil {
log.Error(err)
return
}
var v dto.GeneralGetDto
err = c.BindUri(&v)
if err != nil {
log.Warnf("参数验证错误, error: %s", err)
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
return
}
s := service.SysJob{}
s.Orm = db
s.Log = log
s.Cron = sdk.Runtime.GetCrontabKey(c.Request.Host)
err = s.StartJob(&v)
if err != nil {
log.Errorf("GetCrontabKey error, %s", err.Error())
e.Error(500, err, err.Error())
return
}
e.OK(nil, s.Msg)
}