project_module_files.go 2.5 KB
package domain

import "time"

// 项目模板文件
type ProjectModuleFiles struct {
	// 唯一标识
	Id int64 `json:"id"`
	// 项目编号
	ProjectModuleId int64 `json:"projectModuleId"`
	// 项目版本编号
	ProjectModuleVersion int64 `json:"projectModuleVersion"`
	// 文件类型 1:文件夹 2:文件
	FileType int `json:"fileType"`
	// 代码块
	CodeBlock string `json:"codeBlock"`
	// 父级Id
	ParentId int64 `json:"parentId"`
	// 排序
	Sort int `json:"sort"`
	// 备注信息
	Remark string `json:"remark"`
	// 创建时间
	CreateTime time.Time `json:"createTime"`
	// 更新时间
	UpdateTime time.Time `json:"updateTime"`
	// 当前文件相对路径  a/b/c
	Path string `json:"path"`
	// 标签
	Tag string `json:"tag"`
}

type ProjectModuleFilesRepository interface {
	Save(projectModuleFiles *ProjectModuleFiles) (*ProjectModuleFiles, error)
	Remove(projectModuleFiles *ProjectModuleFiles) (*ProjectModuleFiles, error)
	FindOne(queryOptions map[string]interface{}) (*ProjectModuleFiles, error)
	Find(queryOptions map[string]interface{}) (int64, []*ProjectModuleFiles, error)
}

func (projectModuleFiles *ProjectModuleFiles) Identify() interface{} {
	if projectModuleFiles.Id == 0 {
		return nil
	}
	return projectModuleFiles.Id
}

func (projectModuleFiles *ProjectModuleFiles) Update(data map[string]interface{}) error {
	if id, ok := data["id"]; ok {
		projectModuleFiles.Id = id.(int64)
	}
	if projectModuleId, ok := data["projectModuleId"]; ok {
		projectModuleFiles.ProjectModuleId = projectModuleId.(int64)
	}
	if projectModuleVersion, ok := data["projectModuleVersion"]; ok {
		projectModuleFiles.ProjectModuleVersion = projectModuleVersion.(int64)
	}
	if fileType, ok := data["fileType"]; ok {
		projectModuleFiles.FileType = fileType.(int)
	}
	if codeBlock, ok := data["codeBlock"]; ok {
		projectModuleFiles.CodeBlock = codeBlock.(string)
	}
	if ParentId, ok := data["ParentId"]; ok {
		projectModuleFiles.ParentId = ParentId.(int64)
	}
	if Sort, ok := data["Sort"]; ok {
		projectModuleFiles.Sort = Sort.(int)
	}
	if remark, ok := data["remark"]; ok {
		projectModuleFiles.Remark = remark.(string)
	}
	if CreateTime, ok := data["CreateTime"]; ok {
		projectModuleFiles.CreateTime = CreateTime.(time.Time)
	}
	if UpdateTime, ok := data["UpdateTime"]; ok {
		projectModuleFiles.UpdateTime = UpdateTime.(time.Time)
	}
	if path, ok := data["path"]; ok {
		projectModuleFiles.Path = path.(string)
	}
	if tag, ok := data["tag"]; ok {
		projectModuleFiles.Tag = tag.(string)
	}
	return nil
}