From 165e3e49899ebb8e670b61aeb1b4bf77cc347817 Mon Sep 17 00:00:00 2001 From: PandaX <18610165312@163.com> Date: Sun, 25 Feb 2024 12:38:39 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BC=98=E5=8C=96]=20=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=8A=9B=E5=87=BA=E8=BF=81=E7=A7=BB=E5=88=B0?= =?UTF-8?q?api=E5=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/job/api/job.go | 30 +++++++++++------- apps/job/api/log_job.go | 10 ++++-- apps/job/services/job.go | 61 +++++++++++++++++------------------- apps/job/services/log_job.go | 41 ++++++++++++------------ 4 files changed, 76 insertions(+), 66 deletions(-) diff --git a/apps/job/api/job.go b/apps/job/api/job.go index b0f21fe..1562ecd 100644 --- a/apps/job/api/job.go +++ b/apps/job/api/job.go @@ -22,7 +22,8 @@ func (j *JobApi) CreateJob(rc *restfulx.ReqCtx) { job.Id = model2.GenerateID() job.Owner = rc.LoginAccount.UserName job.OrgId = rc.LoginAccount.OrganizationId - j.JobApp.Insert(job) + _, err := j.JobApp.Insert(job) + biz.ErrIsNil(err, "添加任务失败") } func (j *JobApi) GetJobList(rc *restfulx.ReqCtx) { @@ -35,7 +36,8 @@ func (j *JobApi) GetJobList(rc *restfulx.ReqCtx) { job.RoleId = rc.LoginAccount.RoleId job.Owner = rc.LoginAccount.UserName - list, total := j.JobApp.FindListPage(pageNum, pageSize, job) + list, total, err := j.JobApp.FindListPage(pageNum, pageSize, job) + biz.ErrIsNil(err, "查询任务列表失败") rc.ResData = model.ResultPage{ Total: total, PageNum: int64(pageNum), @@ -46,35 +48,39 @@ func (j *JobApi) GetJobList(rc *restfulx.ReqCtx) { func (j *JobApi) GetJob(rc *restfulx.ReqCtx) { jobId := restfulx.PathParam(rc, "jobId") - rc.ResData = j.JobApp.FindOne(jobId) + data, err := j.JobApp.FindOne(jobId) + biz.ErrIsNil(err, "查询任务失败") + rc.ResData = data } func (l *JobApi) UpdateJob(rc *restfulx.ReqCtx) { var job entity.SysJob restfulx.BindQuery(rc, &job) - l.JobApp.Update(job) + _, err := l.JobApp.Update(job) + biz.ErrIsNil(err, "修改任务失败") } func (l *JobApi) DeleteJob(rc *restfulx.ReqCtx) { jobIds := restfulx.PathParam(rc, "jobId") group := strings.Split(jobIds, ",") - l.JobApp.Delete(group) + err := l.JobApp.Delete(group) + biz.ErrIsNil(err, "删除任务失败") } func (l *JobApi) StopJobForService(rc *restfulx.ReqCtx) { jobId := restfulx.PathParam(rc, "jobId") - job := l.JobApp.FindOne(jobId) + job, err := l.JobApp.FindOne(jobId) + biz.ErrIsNil(err, "任务不存在") jobs.Remove(jobs.Crontab, job.EntryId) } func (l *JobApi) StartJobForService(rc *restfulx.ReqCtx) { jobId := restfulx.PathParam(rc, "jobId") - job := l.JobApp.FindOne(jobId) - + job, err := l.JobApp.FindOne(jobId) + biz.ErrIsNil(err, "任务不存在") biz.IsTrue(job.Status == "0", "以关闭的任务不能开启") biz.IsTrue(job.EntryId == 0, "任务不能重复启动") - var err error var j = &jobs.ExecJob{} j.InvokeTarget = job.TargetInvoke j.CronExpression = job.CronExpression @@ -87,7 +93,8 @@ func (l *JobApi) StartJobForService(rc *restfulx.ReqCtx) { job.EntryId, err = jobs.AddJob(jobs.Crontab, j) biz.ErrIsNil(err, "添加任务失败,可能任务表达式错误") - l.JobApp.Update(*job) + _, err = l.JobApp.Update(*job) + biz.ErrIsNil(err, "修改任务失败") } func (l *JobApi) UpdateStatusJob(rc *restfulx.ReqCtx) { @@ -96,5 +103,6 @@ func (l *JobApi) UpdateStatusJob(rc *restfulx.ReqCtx) { sjob := entity.SysJob{} sjob.Id = job.JobId sjob.Status = job.Status - l.JobApp.Update(sjob) + _, err := l.JobApp.Update(sjob) + biz.ErrIsNil(err, "修改任务状态失败") } diff --git a/apps/job/api/log_job.go b/apps/job/api/log_job.go index cc2e96a..5976f3e 100644 --- a/apps/job/api/log_job.go +++ b/apps/job/api/log_job.go @@ -3,6 +3,7 @@ package api import ( "pandax/apps/job/entity" "pandax/apps/job/services" + "pandax/kit/biz" "pandax/kit/model" "pandax/kit/restfulx" "strings" @@ -23,7 +24,8 @@ func (l *JobLogApi) GetJobLogList(rc *restfulx.ReqCtx) { job.RoleId = rc.LoginAccount.RoleId job.Owner = rc.LoginAccount.UserName - list, total := l.JobLogApp.FindListPage(pageNum, pageSize, job) + list, total, err := l.JobLogApp.FindListPage(pageNum, pageSize, job) + biz.ErrIsNil(err, "查询任务列表失败") rc.ResData = model.ResultPage{ Total: total, PageNum: int64(pageNum), @@ -36,10 +38,12 @@ func (l *JobLogApi) GetJobLogList(rc *restfulx.ReqCtx) { func (l *JobLogApi) DeleteJobLog(rc *restfulx.ReqCtx) { logIds := restfulx.PathParam(rc, "id") group := strings.Split(logIds, ",") - l.JobLogApp.Delete(group) + err := l.JobLogApp.Delete(group) + biz.ErrIsNil(err, "删除失败") } // DeleteAll 清空登录日志 func (l *JobLogApi) DeleteAll(rc *restfulx.ReqCtx) { - l.JobLogApp.DeleteAll() + err := l.JobLogApp.DeleteAll() + biz.ErrIsNil(err, "清空失败") } diff --git a/apps/job/services/job.go b/apps/job/services/job.go index 62a9408..7bd274e 100644 --- a/apps/job/services/job.go +++ b/apps/job/services/job.go @@ -2,20 +2,19 @@ package services import ( "pandax/apps/job/entity" - "pandax/kit/biz" "pandax/pkg/global" "pandax/pkg/global/model" ) type ( JobModel interface { - Insert(data entity.SysJob) *entity.SysJob - FindOne(jobId string) *entity.SysJob - FindListPage(page, pageSize int, data entity.SysJob) (*[]entity.SysJob, int64) - FindList(data entity.SysJob) *[]entity.SysJob - Update(data entity.SysJob) *entity.SysJob - Delete(jobId []string) - FindByEntryId(entryId int64) *entity.SysJob + Insert(data entity.SysJob) (*entity.SysJob, error) + FindOne(jobId string) (*entity.SysJob, error) + FindListPage(page, pageSize int, data entity.SysJob) (*[]entity.SysJob, int64, error) + FindList(data entity.SysJob) (*[]entity.SysJob, error) + Update(data entity.SysJob) (*entity.SysJob, error) + Delete(jobId []string) error + FindByEntryId(entryId int64) (*entity.SysJob, error) RemoveAllEntryID() error RemoveEntryID(EntryID int) error } @@ -29,19 +28,18 @@ var JobModelDao JobModel = &jobModelImpl{ table: `jobs`, } -func (m *jobModelImpl) Insert(data entity.SysJob) *entity.SysJob { - global.Db.Table(m.table).Create(&data) - return &data +func (m *jobModelImpl) Insert(data entity.SysJob) (*entity.SysJob, error) { + err := global.Db.Table(m.table).Create(&data).Error + return &data, err } -func (m *jobModelImpl) FindOne(jobId string) *entity.SysJob { +func (m *jobModelImpl) FindOne(jobId string) (*entity.SysJob, error) { resData := new(entity.SysJob) err := global.Db.Table(m.table).Where("id = ?", jobId).First(resData).Error - biz.ErrIsNil(err, "查询任务信息失败") - return resData + return resData, err } -func (m *jobModelImpl) FindListPage(page, pageSize int, data entity.SysJob) (*[]entity.SysJob, int64) { +func (m *jobModelImpl) FindListPage(page, pageSize int, data entity.SysJob) (*[]entity.SysJob, int64, error) { list := make([]entity.SysJob, 0) var total int64 = 0 offset := pageSize * (page - 1) @@ -58,13 +56,14 @@ func (m *jobModelImpl) FindListPage(page, pageSize int, data entity.SysJob) (*[] model.OrgAuthSet(db, data.RoleId, data.Owner) err := db.Count(&total).Error + if err != nil { + return &list, total, err + } err = db.Order("create_time desc").Limit(pageSize).Offset(offset).Find(&list).Error - - biz.ErrIsNil(err, "查询任务分页信息失败") - return &list, total + return &list, total, err } -func (m *jobModelImpl) FindList(data entity.SysJob) *[]entity.SysJob { +func (m *jobModelImpl) FindList(data entity.SysJob) (*[]entity.SysJob, error) { list := make([]entity.SysJob, 0) db := global.Db.Table(m.table) // 此处填写 where参数判断 @@ -75,30 +74,28 @@ func (m *jobModelImpl) FindList(data entity.SysJob) *[]entity.SysJob { db = db.Where("status = ?", data.Status) } // 组织数据访问权限 - model.OrgAuthSet(db, data.RoleId, data.Owner) - err := db.Order("create_time desc").Find(&list).Error + err := model.OrgAuthSet(db, data.RoleId, data.Owner) if err != nil { - global.Log.Error("查询任务分页信息失败:" + err.Error()) + return nil, err } - return &list + err = db.Order("create_time desc").Find(&list).Error + return &list, err } -func (m *jobModelImpl) Update(data entity.SysJob) *entity.SysJob { - biz.ErrIsNil(global.Db.Table(m.table).Updates(&data).Error, "修改任务失败") - return &data +func (m *jobModelImpl) Update(data entity.SysJob) (*entity.SysJob, error) { + err := global.Db.Table(m.table).Updates(&data).Error + return &data, err } -func (m *jobModelImpl) Delete(jobIds []string) { +func (m *jobModelImpl) Delete(jobIds []string) error { err := global.Db.Table(m.table).Delete(&entity.SysJob{}, "id in (?)", jobIds).Error - biz.ErrIsNil(err, "删除操作日志信息失败") - return + return err } -func (m *jobModelImpl) FindByEntryId(entryId int64) *entity.SysJob { +func (m *jobModelImpl) FindByEntryId(entryId int64) (*entity.SysJob, error) { resData := new(entity.SysJob) err := global.Db.Table(m.table).Where("entry_id = ?", entryId).First(resData).Error - biz.ErrIsNil(err, "查询失败") - return resData + return resData, err } func (m *jobModelImpl) RemoveAllEntryID() error { diff --git a/apps/job/services/log_job.go b/apps/job/services/log_job.go index 3e9f97a..4852c4a 100644 --- a/apps/job/services/log_job.go +++ b/apps/job/services/log_job.go @@ -2,17 +2,16 @@ package services import ( "pandax/apps/job/entity" - "pandax/kit/biz" "pandax/pkg/global" "pandax/pkg/global/model" ) type ( JobLogModel interface { - Insert(data entity.JobLog) *entity.JobLog - FindListPage(page, pageSize int, data entity.JobLog) (*[]entity.JobLog, int64) - Delete(infoId []string) - DeleteAll() + Insert(data entity.JobLog) (*entity.JobLog, error) + FindListPage(page, pageSize int, data entity.JobLog) (*[]entity.JobLog, int64, error) + Delete(infoId []string) error + DeleteAll() error } JobLogModelImpl struct { @@ -24,12 +23,12 @@ var JobLogModelDao JobLogModel = &JobLogModelImpl{ table: `job_logs`, } -func (m *JobLogModelImpl) Insert(data entity.JobLog) *entity.JobLog { - global.Db.Table(m.table).Create(&data) - return &data +func (m *JobLogModelImpl) Insert(data entity.JobLog) (*entity.JobLog, error) { + err := global.Db.Table(m.table).Create(&data).Error + return &data, err } -func (m *JobLogModelImpl) FindListPage(page, pageSize int, data entity.JobLog) (*[]entity.JobLog, int64) { +func (m *JobLogModelImpl) FindListPage(page, pageSize int, data entity.JobLog) (*[]entity.JobLog, int64, error) { list := make([]entity.JobLog, 0) var total int64 = 0 offset := pageSize * (page - 1) @@ -43,21 +42,23 @@ func (m *JobLogModelImpl) FindListPage(page, pageSize int, data entity.JobLog) ( } // 组织数据访问权限 - model.OrgAuthSet(db, data.RoleId, data.Owner) - - err := db.Count(&total).Error + err := model.OrgAuthSet(db, data.RoleId, data.Owner) + if err != nil { + return &list, total, err + } + err = db.Count(&total).Error + if err != nil { + return &list, total, err + } err = db.Order("create_time desc").Limit(pageSize).Offset(offset).Find(&list).Error - - biz.ErrIsNil(err, "查询任务分页日志信息失败") - return &list, total + return &list, total, err } -func (m *JobLogModelImpl) Delete(logIds []string) { +func (m *JobLogModelImpl) Delete(logIds []string) error { err := global.Db.Table(m.table).Delete(&entity.JobLog{}, "id in (?)", logIds).Error - biz.ErrIsNil(err, "删除任务日志信息失败") - return + return err } -func (m *JobLogModelImpl) DeleteAll() { - global.Db.Exec("DELETE FROM job_logs") +func (m *JobLogModelImpl) DeleteAll() error { + return global.Db.Exec("DELETE FROM job_logs").Error }