sys_dictionary_detail.go 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. // 自动生成模板SysDictionaryDetail
  2. package dao
  3. import (
  4. "server/global"
  5. )
  6. // 如果含有time.Time 请自行import time包
  7. type SysDictionaryDetail struct {
  8. global.GVA_MODEL
  9. Label string `json:"label" form:"label" gorm:"column:label;comment:展示值"` // 展示值
  10. Value string `json:"value" form:"value" gorm:"column:value;comment:字典值"` // 字典值
  11. Extend string `json:"extend" form:"extend" gorm:"column:extend;comment:扩展值"` // 扩展值
  12. Status *bool `json:"status" form:"status" gorm:"column:status;comment:启用状态"` // 启用状态
  13. Sort int `json:"sort" form:"sort" gorm:"column:sort;comment:排序标记"` // 排序标记
  14. SysDictionaryID int `json:"sysDictionaryID" form:"sysDictionaryID" gorm:"column:sys_dictionary_id;comment:关联标记"` // 关联标记
  15. }
  16. func (SysDictionaryDetail) TableName() string {
  17. return "sys_dictionary_details"
  18. }
  19. // TODO:字典详情查询
  20. // GetSysDictionaryDetailById 查询字典详情 按id
  21. func GetSysDictionaryDetailById(id uint) (sysDictionaryDetail SysDictionaryDetail, err error) {
  22. err = global.GVA_DB.Where("id = ?", id).First(&sysDictionaryDetail).Error
  23. return sysDictionaryDetail, err
  24. }
  25. // GetSysDictionaryDetailInfoList 分页获取字典详情列表
  26. func (sdd SysDictionaryDetail) GetSysDictionaryDetailInfoList(limit, offset int) (sysDictionaryDetails []SysDictionaryDetail, total int64, err error) {
  27. // 创建db
  28. db := global.GVA_DB.Model(&SysDictionaryDetail{})
  29. // 如果有条件搜索 下方会自动创建搜索语句
  30. if sdd.Label != "" {
  31. db = db.Where("label LIKE ?", "%"+sdd.Label+"%")
  32. }
  33. if sdd.Value != "" {
  34. db = db.Where("value = ?", sdd.Value)
  35. }
  36. if sdd.Status != nil {
  37. db = db.Where("status = ?", sdd.Status)
  38. }
  39. if sdd.SysDictionaryID != 0 {
  40. db = db.Where("sys_dictionary_id = ?", sdd.SysDictionaryID)
  41. }
  42. err = db.Count(&total).Error
  43. if err != nil {
  44. return
  45. }
  46. err = db.Limit(limit).Offset(offset).Order("sort").Find(&sysDictionaryDetails).Error
  47. return sysDictionaryDetails, total, err
  48. }
  49. // GetDictionaryListByDictionaryId 查询字典列表 按字典id
  50. func GetDictionaryListByDictionaryId(dictionaryID uint) (sysDictionaryDetails []SysDictionaryDetail, err error) {
  51. err = global.GVA_DB.Find(&sysDictionaryDetails, "sys_dictionary_id = ?", dictionaryID).Error
  52. return sysDictionaryDetails, err
  53. }
  54. // GetDictionaryListByType 查询字典列表 按字典类型
  55. func GetDictionaryListByType(t string) (sysDictionaryDetails []SysDictionaryDetail, err error) {
  56. db := global.GVA_DB.Model(&SysDictionaryDetail{}).Joins("JOIN sys_dictionaries ON sys_dictionaries.id = sys_dictionary_details.sys_dictionary_id")
  57. err = db.Debug().Find(&sysDictionaryDetails, "type = ?", t).Error
  58. return sysDictionaryDetails, err
  59. }
  60. // GetDictionaryInfoByValue 查询字典列表 按字典内容
  61. func GetDictionaryInfoByValue(dictionaryID uint, value uint) (sysDictionaryDetail SysDictionaryDetail, err error) {
  62. err = global.GVA_DB.First(&sysDictionaryDetail, "sys_dictionary_id = ? and value = ?", dictionaryID, value).Error
  63. return sysDictionaryDetail, err
  64. }
  65. // GetDictionaryInfoByTypeValue 查询字典列表 按字典类型和字典内容
  66. func GetDictionaryInfoByTypeValue(t string, value uint) (sysDictionaryDetail SysDictionaryDetail, err error) {
  67. db := global.GVA_DB.Model(&SysDictionaryDetail{}).Joins("JOIN sys_dictionaries ON sys_dictionaries.id = sys_dictionary_details.sys_dictionary_id")
  68. err = db.First(&sysDictionaryDetail, "sys_dictionaries.type = ? and sys_dictionary_details.value = ?", t, value).Error
  69. return sysDictionaryDetail, err
  70. }
  71. // TODO:字典详情新增
  72. // CreateSysDictionaryDetail 创建字典详情数据
  73. func (sdd SysDictionaryDetail) CreateSysDictionaryDetail() error {
  74. return global.GVA_DB.Create(&sdd).Error
  75. }
  76. // TODO:字典详情修改
  77. // UpdateSysDictionaryDetail 更新字典数据
  78. func (sdd SysDictionaryDetail) UpdateSysDictionaryDetail() error {
  79. return global.GVA_DB.Save(&sdd).Error
  80. }
  81. // TODO:字典详情删除
  82. // DeleteSysDictionaryDetail 删除字典详情
  83. func (sdd SysDictionaryDetail) DeleteSysDictionaryDetail() error {
  84. return global.GVA_DB.Delete(&sdd).Error
  85. }