70 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			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)
 | 
						|
}
 |