refactor: 机器计划任务与流程定义关联至标签

This commit is contained in:
meilin.huang
2024-05-08 21:04:25 +08:00
parent cf5111a325
commit 1d0e91f1af
85 changed files with 586 additions and 474 deletions

View File

@@ -5,28 +5,37 @@ import (
"mayfly-go/internal/machine/api/vo"
"mayfly-go/internal/machine/application"
"mayfly-go/internal/machine/domain/entity"
tagapp "mayfly-go/internal/tag/application"
tagentity "mayfly-go/internal/tag/domain/entity"
"strconv"
"strings"
"mayfly-go/pkg/biz"
"mayfly-go/pkg/req"
"mayfly-go/pkg/scheduler"
"mayfly-go/pkg/utils/collx"
)
type MachineCronJob struct {
MachineCronJobApp application.MachineCronJob `inject:""`
TagTreeRelateApp tagapp.TagTreeRelate `inject:"TagTreeRelateApp"`
}
func (m *MachineCronJob) MachineCronJobs(rc *req.Ctx) {
cond, pageParam := req.BindQueryAndPage(rc, new(entity.MachineCronJob))
vos := new([]*vo.MachineCronJobVO)
pageRes, err := m.MachineCronJobApp.GetPageList(cond, pageParam, vos)
var vos []*vo.MachineCronJobVO
pageRes, err := m.MachineCronJobApp.GetPageList(cond, pageParam, &vos)
biz.ErrIsNil(err)
for _, mcj := range *vos {
for _, mcj := range vos {
mcj.Running = scheduler.ExistKey(mcj.Key)
}
m.TagTreeRelateApp.FillTagInfo(tagentity.TagRelateTypeMachineCronJob, collx.ArrayMap(vos, func(mvo *vo.MachineCronJobVO) tagentity.IRelateTag {
return mvo
})...)
rc.ResData = pageRes
}
@@ -35,11 +44,11 @@ func (m *MachineCronJob) Save(rc *req.Ctx) {
mcj := req.BindJsonAndCopyTo[*entity.MachineCronJob](rc, jobForm, new(entity.MachineCronJob))
rc.ReqParam = jobForm
cronJobId, err := m.MachineCronJobApp.SaveMachineCronJob(rc.MetaCtx, mcj)
err := m.MachineCronJobApp.SaveMachineCronJob(rc.MetaCtx, &application.SaveMachineCronJobParam{
CronJob: mcj,
CodePaths: jobForm.CodePaths,
})
biz.ErrIsNil(err)
// 关联机器
m.MachineCronJobApp.CronJobRelateMachines(rc.MetaCtx, cronJobId, jobForm.MachineIds)
}
func (m *MachineCronJob) Delete(rc *req.Ctx) {
@@ -54,14 +63,6 @@ func (m *MachineCronJob) Delete(rc *req.Ctx) {
}
}
func (m *MachineCronJob) GetRelateMachineIds(rc *req.Ctx) {
rc.ResData = m.MachineCronJobApp.GetRelateMachineIds(uint64(rc.QueryIntDefault("cronJobId", -1)))
}
func (m *MachineCronJob) GetRelateCronJobIds(rc *req.Ctx) {
rc.ResData = m.MachineCronJobApp.GetRelateMachineIds(uint64(rc.QueryIntDefault("machineId", -1)))
}
func (m *MachineCronJob) RunCronJob(rc *req.Ctx) {
cronJobKey := rc.PathParam("key")
biz.NotEmpty(cronJobKey, "cronJob key不能为空")