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)
 | |
| }
 |