mirror of
				https://gitee.com/dromara/mayfly-go
				synced 2025-11-04 08:20:25 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			71 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package application
 | 
						||
 | 
						||
import (
 | 
						||
	"mayfly-go/internal/devops/domain/entity"
 | 
						||
	"mayfly-go/internal/devops/domain/repository"
 | 
						||
	"mayfly-go/internal/devops/infrastructure/persistence"
 | 
						||
	"mayfly-go/pkg/biz"
 | 
						||
	"mayfly-go/pkg/model"
 | 
						||
)
 | 
						||
 | 
						||
type MachineScript interface {
 | 
						||
	// 分页获取机器脚本信息列表
 | 
						||
	GetPageList(condition *entity.MachineScript, pageParam *model.PageParam, toEntity interface{}, orderBy ...string) *model.PageResult
 | 
						||
 | 
						||
	// 根据条件获取
 | 
						||
	GetMachineScript(condition *entity.MachineScript, cols ...string) error
 | 
						||
 | 
						||
	// 根据id获取
 | 
						||
	GetById(id uint64, cols ...string) *entity.MachineScript
 | 
						||
 | 
						||
	Save(entity *entity.MachineScript)
 | 
						||
 | 
						||
	Delete(id uint64)
 | 
						||
}
 | 
						||
 | 
						||
type machineScriptAppImpl struct {
 | 
						||
	machineScriptRepo repository.MachineScript
 | 
						||
	machineRepo       repository.Machine
 | 
						||
}
 | 
						||
 | 
						||
const Common_Script_Machine_Id = 9999999
 | 
						||
 | 
						||
// 实现类单例
 | 
						||
var MachineScriptApp MachineScript = &machineScriptAppImpl{
 | 
						||
	machineRepo:       persistence.MachineDao,
 | 
						||
	machineScriptRepo: persistence.MachineScriptDao}
 | 
						||
 | 
						||
// 分页获取机器脚本信息列表
 | 
						||
func (m *machineScriptAppImpl) GetPageList(condition *entity.MachineScript, pageParam *model.PageParam, toEntity interface{}, orderBy ...string) *model.PageResult {
 | 
						||
	return m.machineScriptRepo.GetPageList(condition, pageParam, toEntity, orderBy...)
 | 
						||
}
 | 
						||
 | 
						||
// 根据条件获取
 | 
						||
func (m *machineScriptAppImpl) GetMachineScript(condition *entity.MachineScript, cols ...string) error {
 | 
						||
	return m.machineScriptRepo.GetMachineScript(condition, cols...)
 | 
						||
}
 | 
						||
 | 
						||
// 根据id获取
 | 
						||
func (m *machineScriptAppImpl) GetById(id uint64, cols ...string) *entity.MachineScript {
 | 
						||
	return m.machineScriptRepo.GetById(id, cols...)
 | 
						||
}
 | 
						||
 | 
						||
// 保存机器脚本
 | 
						||
func (m *machineScriptAppImpl) Save(entity *entity.MachineScript) {
 | 
						||
	// 如果机器id不为公共脚本id,则校验机器是否存在
 | 
						||
	if machineId := entity.MachineId; machineId != Common_Script_Machine_Id {
 | 
						||
		biz.NotNil(m.machineRepo.GetById(machineId, "Name"), "该机器不存在")
 | 
						||
	}
 | 
						||
 | 
						||
	if entity.Id != 0 {
 | 
						||
		model.UpdateById(entity)
 | 
						||
	} else {
 | 
						||
		model.Insert(entity)
 | 
						||
	}
 | 
						||
}
 | 
						||
 | 
						||
// 根据id删除
 | 
						||
func (m *machineScriptAppImpl) Delete(id uint64) {
 | 
						||
	m.machineScriptRepo.Delete(id)
 | 
						||
}
 |