1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package dao
- import (
- "server/global"
- )
- type ProjectFile struct {
- global.GVA_MODEL
- ProjectCode string `json:"projectCode" from:"projectCode" gorm:"comment:项目编号"`
- Name string `json:"name" from:"name" gorm:"comment:文件名称"`
- Key string `json:"key" from:"key" gorm:"comment:key"`
- Genre int `json:"genre" form:"genre" gorm:"comment:项目类型"`
- FileGenre FileGenre `json:"fileGenre" form:"fileGenre" gorm:"foreignKey:genre;references:id;"`
- Path string `json:"path" from:"path" gorm:"comment:路径"`
- }
- func (ProjectFile) TableName() string {
- return "project_file"
- }
- // TODO:项目文件查询
- // QueryFilesByCode 查询项目文件 按项目code
- func QueryFilesByCode(code string) (files []ProjectFile, err error) {
- err = global.GVA_DB.Model(&ProjectFile{}).Where("project_code = ?", code).Preload("FileGenre").Find(&files).Error
- return files, err
- }
- // QueryFileList 查询项目文件列表
- func QueryFileList(limit, offset, genre int, code, name string) (files []ProjectFile, total int64, err error) {
- // 创建db
- db := global.GVA_DB.Model(&ProjectFile{}).Where("project_code = ?", code)
- // 如果有条件搜索 下方会自动创建搜索语句
- if genre != 0 {
- db = db.Where("genre = ?", genre)
- }
- if name != "" {
- db = db.Where("name LIKE ?", "%"+name+"%")
- }
- err = db.Count(&total).Error
- if err != nil {
- return
- }
- err = db.Order("id desc").Limit(limit).Offset(offset).Find(&files).Error
- return files, total, err
- }
- // QueryFilesByNameOrGenre 查询项目文件 按名称或类型
- func QueryFilesByNameOrGenre(genre int, code, name string) (files []ProjectFile, err error) {
- // 创建db
- db := global.GVA_DB.Model(&ProjectFile{}).Where("project_code = ?", code)
- // 如果有条件搜索 下方会自动创建搜索语句
- if genre != 0 {
- db = db.Where("genre = ?", genre)
- }
- if name != "" {
- db = db.Where("name LIKE ?", "%"+name+"%")
- }
- err = db.Order("id desc").Find(&files).Error
- return files, err
- }
- // TODO:项目文件新增
- // CreateFile 新增文件
- func (pf ProjectFile) CreateFile() error {
- var isFile ProjectFile
- global.GVA_DB.Model(&ProjectFile{}).Where("project_code = ? AND name = ? AND genre = ?", pf.ProjectCode, pf.Name, pf.Genre).First(&isFile)
- if isFile.ID != 0 {
- err := global.GVA_DB.Model(&ProjectFile{}).Where("id = ?", isFile.ID).Updates(&pf).Error
- if err != nil {
- return err
- }
- } else {
- err := global.GVA_DB.Model(&ProjectFile{}).Create(&pf).Error
- if err != nil {
- return err
- }
- }
- return nil
- }
- // TODO:项目文件修改
- // TODO:项目文件删除
- // DeleteFile 删除文件
- func DeleteFile(id uint) error {
- return global.GVA_DB.Unscoped().Where("id = ?", id).Delete(&ProjectFile{}).Error
- }
|