diff --git a/bin/ego b/bin/ego deleted file mode 100644 index 3daca06..0000000 Binary files a/bin/ego and /dev/null differ diff --git a/internal/model/sys_deploy_file.go b/internal/model/sys_deploy_file.go index 3bd937b..3dbf3d7 100644 --- a/internal/model/sys_deploy_file.go +++ b/internal/model/sys_deploy_file.go @@ -6,26 +6,26 @@ import ( // SysDeployFile 部署文件记录表 type SysDeployFile struct { - DeployId string `gorm:"column:deploy_id;type:varchar(64);primary_key;comment:部署ID" json:"deployId"` - FileName string `gorm:"column:file_name;type:varchar(255);not null;comment:原始文件名" json:"fileName"` - ProjectName string `gorm:"column:project_name;type:varchar(100);not null;comment:项目名称" json:"projectName"` - Domain string `gorm:"column:domain;type:varchar(255);not null;comment:访问域名" json:"domain"` - DeployPath string `gorm:"column:deploy_path;type:varchar(500);not null;comment:部署路径" json:"deployPath"` - FileSize int64 `gorm:"column:file_size;type:bigint;comment:文件大小(字节)" json:"fileSize"` - FileHash string `gorm:"column:file_hash;type:varchar(64);comment:文件哈希值" json:"fileHash"` - Status string `gorm:"column:status;type:char(1);default:1;comment:状态(0停用 1正常 2部署中 3部署失败)" json:"status"` - DeployStatus string `gorm:"column:deploy_status;type:char(1);default:0;comment:部署状态(0未部署 1部署成功 2部署失败)" json:"deployStatus"` - ErrorMsg string `gorm:"column:error_msg;type:text;comment:错误信息" json:"errorMsg"` - Version string `gorm:"column:version;type:varchar(50);comment:版本号" json:"version"` - Description string `gorm:"column:description;type:varchar(500);comment:描述" json:"description"` - DelFlag string `gorm:"column:del_flag;type:char(1);default:0;comment:删除标志(0代表存在 1代表删除)" json:"delFlag"` - CreateBy string `gorm:"column:create_by;type:varchar(64);comment:创建者" json:"createBy"` - CreateTime *time.Time `gorm:"column:create_time;type:datetime;comment:创建时间" json:"createTime"` - UpdateBy string `gorm:"column:update_by;type:varchar(64);comment:更新者" json:"updateBy"` - UpdateTime *time.Time `gorm:"column:update_time;type:datetime;comment:更新时间" json:"updateTime"` - DeployTime *time.Time `gorm:"column:deploy_time;type:datetime;comment:部署时间" json:"deployTime"` + DeployId string `gorm:"column:deploy_id;type:varchar(64);primary_key;comment:部署ID" json:"deployId"` + FileName string `gorm:"column:file_name;type:varchar(255);not null;comment:原始文件名" json:"fileName" binding:"required"` + ProjectName string `gorm:"column:project_name;type:varchar(100);not null;comment:项目名称" json:"projectName" binding:"required"` + Domain string `gorm:"column:domain;type:varchar(255);not null;comment:访问域名" json:"domain" binding:"required"` + DeployPath string `gorm:"column:deploy_path;type:varchar(500);not null;comment:部署路径" json:"deployPath"` + FileSize int64 `gorm:"column:file_size;type:bigint;comment:文件大小(字节)" json:"fileSize"` + FileHash string `gorm:"column:file_hash;type:varchar(64);comment:文件哈希值" json:"fileHash"` + Status string `gorm:"column:status;type:char(1);default:1;comment:状态(0停用 1正常 2部署中 3部署失败)" json:"status"` + DeployStatus string `gorm:"column:deploy_status;type:char(1);default:0;comment:部署状态(0未部署 1部署成功 2部署失败)" json:"deployStatus"` + ErrorMsg string `gorm:"column:error_msg;type:text;comment:错误信息" json:"errorMsg"` + Version string `gorm:"column:version;type:varchar(50);comment:版本号" json:"version"` + Description string `gorm:"column:description;type:varchar(500);comment:描述" json:"description"` + DelFlag string `gorm:"column:del_flag;type:char(1);default:0;comment:删除标志(0代表存在 1代表删除)" json:"delFlag"` + CreateBy string `gorm:"column:create_by;type:varchar(64);comment:创建者" json:"createBy"` + CreateTime *time.Time `gorm:"column:create_time;type:datetime;comment:创建时间" json:"createTime"` + UpdateBy string `gorm:"column:update_by;type:varchar(64);comment:更新者" json:"updateBy"` + UpdateTime *time.Time `gorm:"column:update_time;type:datetime;comment:更新时间" json:"updateTime"` + DeployTime *time.Time `gorm:"column:deploy_time;type:datetime;comment:部署时间" json:"deployTime"` LastAccessTime *time.Time `gorm:"column:last_access_time;type:datetime;comment:最后访问时间" json:"lastAccessTime"` - AccessCount int64 `gorm:"column:access_count;type:bigint;default:0;comment:访问次数" json:"accessCount"` + AccessCount int64 `gorm:"column:access_count;type:bigint;default:0;comment:访问次数" json:"accessCount"` } // TableName 表名 @@ -35,10 +35,10 @@ func (m *SysDeployFile) TableName() string { // DeployFileStatus 部署文件状态常量 const ( - DeployFileStatusDisabled = "0" // 停用 - DeployFileStatusNormal = "1" // 正常 + DeployFileStatusDisabled = "0" // 停用 + DeployFileStatusNormal = "1" // 正常 DeployFileStatusDeploying = "2" // 部署中 - DeployFileStatusFailed = "3" // 部署失败 + DeployFileStatusFailed = "3" // 部署失败 ) // DeployStatus 部署状态常量 @@ -46,4 +46,4 @@ const ( DeployStatusNotDeployed = "0" // 未部署 DeployStatusSuccess = "1" // 部署成功 DeployStatusFailed = "2" // 部署失败 -) \ No newline at end of file +) diff --git a/internal/service/sys_deploy_file_service.go b/internal/service/sys_deploy_file_service.go index 0df77d0..96c9975 100644 --- a/internal/service/sys_deploy_file_service.go +++ b/internal/service/sys_deploy_file_service.go @@ -36,6 +36,19 @@ func (s *SysDeployFileService) Create(c *gin.Context) serializer.Response { return serializer.ParamErr("参数绑定失败!", err) } + // 验证必填字段 + if deployFile.Domain == "" { + logger.Error(c, "域名不能为空!") + return serializer.ParamErr("域名不能为空!", fmt.Errorf("域名不能为空")) + } + + // 检查域名是否已存在 + var existingDeployFile model.SysDeployFile + if err := s.Db.Where("domain = ? AND del_flag = ?", deployFile.Domain, "0").First(&existingDeployFile).Error; err == nil { + logger.Error(c, "域名已存在!") + return serializer.ParamErr("域名已存在,请使用其他域名!", fmt.Errorf("域名已存在")) + } + // 生成部署ID if id, err := SysSequenceServiceBuilder(deployFile.TableName()).GenerateId(); err == nil { deployFile.DeployId = id