feat(deploy): 增加部署文件域名验证和存在性检查
- 在创建部署文件时增加域名必填验证 - 添加域名存在性检查,防止重复使用已存在的域名 - 优化了参数绑定和错误处理逻辑
This commit is contained in:
parent
e8aa95b7c5
commit
d94ced13b0
|
@ -7,9 +7,9 @@ import (
|
||||||
// SysDeployFile 部署文件记录表
|
// SysDeployFile 部署文件记录表
|
||||||
type SysDeployFile struct {
|
type SysDeployFile struct {
|
||||||
DeployId string `gorm:"column:deploy_id;type:varchar(64);primary_key;comment:部署ID" json:"deployId"`
|
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"`
|
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"`
|
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"`
|
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"`
|
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"`
|
FileSize int64 `gorm:"column:file_size;type:bigint;comment:文件大小(字节)" json:"fileSize"`
|
||||||
FileHash string `gorm:"column:file_hash;type:varchar(64);comment:文件哈希值" json:"fileHash"`
|
FileHash string `gorm:"column:file_hash;type:varchar(64);comment:文件哈希值" json:"fileHash"`
|
||||||
|
|
|
@ -36,6 +36,19 @@ func (s *SysDeployFileService) Create(c *gin.Context) serializer.Response {
|
||||||
return serializer.ParamErr("参数绑定失败!", err)
|
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
|
// 生成部署ID
|
||||||
if id, err := SysSequenceServiceBuilder(deployFile.TableName()).GenerateId(); err == nil {
|
if id, err := SysSequenceServiceBuilder(deployFile.TableName()).GenerateId(); err == nil {
|
||||||
deployFile.DeployId = id
|
deployFile.DeployId = id
|
||||||
|
|
Loading…
Reference in New Issue