def.go 1.6 KB
Newer Older
aaronchen2k2k's avatar
aaronchen2k2k 已提交
1 2 3 4
package serverRepo

import (
	"github.com/easysoft/zendata/src/model"
5
	constant "github.com/easysoft/zendata/src/utils/const"
aaronchen2k2k's avatar
aaronchen2k2k 已提交
6 7 8 9 10 11 12
	"github.com/jinzhu/gorm"
)

type DefRepo struct {
	db *gorm.DB
}

13
func (r *DefRepo) ListAll() (models []*model.ZdDef) {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
14
	r.db.Select("id,title,folder,path,updatedAt").Find(&models)
15 16 17
	return
}

18 19 20 21 22 23 24 25 26 27 28 29 30
func (r *DefRepo) List(keywords string, page int) (models []*model.ZdDef, total int, err error) {
	query := r.db.Select("id,title,folder,path").Order("id ASC")
	if keywords != "" {
		query = query.Where("title LIKE ?", "%"+keywords+"%")
	}
	if page > 0 {
		query = query.Offset((page-1) * constant.PageSize).Limit(constant.PageSize)
	}

	err = query.Find(&models).Error

	err = r.db.Model(&model.ZdDef{}).Count(&total).Error

aaronchen2k2k's avatar
aaronchen2k2k 已提交
31 32 33
	return
}

aaronchen2k2k's avatar
aaronchen2k2k 已提交
34
func (r *DefRepo) Get(id uint) (def model.ZdDef, err error) {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
35 36 37 38 39
	err = r.db.Where("id=?", id).First(&def).Error

	return
}

aaronchen2k2k's avatar
aaronchen2k2k 已提交
40
func (r *DefRepo) Create(def *model.ZdDef) (err error) {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
41 42 43 44 45
	err = r.db.Create(def).Error

	return
}

aaronchen2k2k's avatar
aaronchen2k2k 已提交
46
func (r *DefRepo) Update(def *model.ZdDef) (err error) {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
47 48 49 50 51 52
	err = r.db.Save(def).Error

	return
}

func (r *DefRepo) Remove(id uint) (err error) {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
53
	var def model.ZdDef
aaronchen2k2k's avatar
aaronchen2k2k 已提交
54
	def.ID = id
aaronchen2k2k's avatar
aaronchen2k2k 已提交
55 56

	err = r.db.Delete(&def).Error
aaronchen2k2k's avatar
aaronchen2k2k 已提交
57
	err = r.db.Where("defID = ?", id).Delete(&model.ZdField{}).Error
aaronchen2k2k's avatar
aaronchen2k2k 已提交
58 59 60 61 62

	return
}


aaronchen2k2k's avatar
aaronchen2k2k 已提交
63 64
func (r *DefRepo) UpdateYaml(def model.ZdDef) (err error) {
	err = r.db.Model(&model.ZdDef{}).Where("id=?", def.ID).Update("yaml", def.Yaml).Error
aaronchen2k2k's avatar
aaronchen2k2k 已提交
65 66 67
	return
}

aaronchen2k2k's avatar
aaronchen2k2k 已提交
68
func (r *DefRepo) GenDef(def model.ZdDef, data *model.DefData) () {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
69 70 71 72 73 74 75 76
	data.Title = def.Title
	data.Desc = def.Desc
	data.Type = def.Type
}

func NewDefRepo(db *gorm.DB) *DefRepo {
	return &DefRepo{db: db}
}