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