sys_dictionary.go 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. // 自动生成模板SysDictionary
  2. package dao
  3. import (
  4. "gorm.io/gorm"
  5. "server/global"
  6. )
  7. // SysDictionary 如果含有time.Time 请自行import time包
  8. type SysDictionary struct {
  9. global.GVA_MODEL
  10. Name string `json:"name" form:"name" gorm:"column:name;comment:字典名(中)"` // 字典名(中)
  11. Type string `json:"type" form:"type" gorm:"column:type;comment:字典名(英)"` // 字典名(英)
  12. Status *bool `json:"status" form:"status" gorm:"column:status;comment:状态"` // 状态
  13. Desc string `json:"desc" form:"desc" gorm:"column:desc;comment:描述"` // 描述
  14. SysDictionaryDetails []SysDictionaryDetail `json:"sysDictionaryDetails" form:"sysDictionaryDetails"`
  15. }
  16. func (SysDictionary) TableName() string {
  17. return "sys_dictionaries"
  18. }
  19. // TODO:字典查询
  20. // QueryDictionaryByType 查询字典 按类型
  21. func QueryDictionaryByType(t string) (sysDictionary SysDictionary, err error) {
  22. err = global.GVA_DB.First(&SysDictionary{}, "type = ?", t).Error
  23. return sysDictionary, err
  24. }
  25. // QueryDictionaryAndDetailsById 查询字典和详情 按字典id
  26. func QueryDictionaryAndDetailsById(id uint) (sysDictionary SysDictionary, err error) {
  27. err = global.GVA_DB.Where("id =?", id).Preload("SysDictionaryDetails").First(&sysDictionary).Error
  28. return sysDictionary, err
  29. }
  30. // GetSysDictionary 根据id或者type获取字典单条数据
  31. func GetSysDictionary(Type string, Id uint, flag bool) (sysDictionary SysDictionary, err error) {
  32. err = global.GVA_DB.Where("(type = ? OR id = ?) and status = ?", Type, Id, flag).Preload("SysDictionaryDetails", func(db *gorm.DB) *gorm.DB {
  33. return db.Where("status = ?", true).Order("sort")
  34. }).First(&sysDictionary).Error
  35. return
  36. }
  37. // GetSysDictionaryInfoList 分页获取字典列表
  38. func GetSysDictionaryInfoList() (sysDictionaries []SysDictionary, err error) {
  39. err = global.GVA_DB.Find(&sysDictionaries).Error
  40. return
  41. }
  42. // TODO:字典新增
  43. // CreateDictionary 创建字典
  44. func (sd SysDictionary) CreateDictionary() error {
  45. return global.GVA_DB.Create(&sd).Error
  46. }
  47. // TODO:字典修改
  48. // UpdateDictionary 修改字典
  49. func (sd SysDictionary) UpdateDictionary() error {
  50. return global.GVA_DB.Model(&SysDictionary{}).Updates(&sd).Error
  51. }
  52. // TODO:字典删除
  53. // DeleteDictionary 删除字典
  54. func (sd SysDictionary) DeleteDictionary() error {
  55. return global.GVA_DB.Delete(&sd).Error
  56. }