base_from_national_statistics_classify.go 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package data_manage
  2. import (
  3. "eta/eta_api/global"
  4. "eta/eta_api/utils"
  5. "fmt"
  6. "strings"
  7. "time"
  8. )
  9. // BaseFromNationalStatisticsClassify 国统局-指标分类
  10. type BaseFromNationalStatisticsClassify struct {
  11. BaseFromNationalStatisticsClassifyId int `orm:"column(base_from_national_statistics_classify_id);pk" gorm:"primaryKey"`
  12. ClassifyName string `description:"分类名称"`
  13. Id string `description:"分类ID(字符串)"`
  14. Dbcode string `description:"dbcode"`
  15. Wdcode string `description:"wdcode"`
  16. Pid string `description:"父级分类ID"`
  17. IsParent int `description:"是否存在子分类: 0-否; 1-是"`
  18. CreateTime time.Time `description:"创建时间"`
  19. ModifyTime time.Time `description:"更新时间"`
  20. }
  21. func (m *BaseFromNationalStatisticsClassify) TableName() string {
  22. return "base_from_national_statistics_classify"
  23. }
  24. func (m *BaseFromNationalStatisticsClassify) Create() (err error) {
  25. o := global.DbMap[utils.DbNameIndex]
  26. err = o.Create(m).Error
  27. return
  28. }
  29. func (m *BaseFromNationalStatisticsClassify) CreateMulti(items []*BaseFromNationalStatisticsClassify) (err error) {
  30. if len(items) == 0 {
  31. return
  32. }
  33. o := global.DbMap[utils.DbNameIndex]
  34. err = o.CreateInBatches(items, utils.MultiAddNum).Error
  35. return
  36. }
  37. func (m *BaseFromNationalStatisticsClassify) Update(cols []string) (err error) {
  38. o := global.DbMap[utils.DbNameIndex]
  39. err = o.Select(cols).Updates(m).Error
  40. return
  41. }
  42. func (m *BaseFromNationalStatisticsClassify) Del() (err error) {
  43. o := global.DbMap[utils.DbNameIndex]
  44. sql := `DELETE FROM base_from_national_statistics_classify WHERE base_from_national_statistics_classify_id = ? LIMIT 1`
  45. err = o.Exec(sql, m.BaseFromNationalStatisticsClassifyId).Error
  46. return
  47. }
  48. func (m *BaseFromNationalStatisticsClassify) GetItemById(id int) (err error) {
  49. o := global.DbMap[utils.DbNameIndex]
  50. sql := `SELECT * FROM base_from_national_statistics_classify WHERE base_from_national_statistics_classify_id = ? LIMIT 1`
  51. err = o.Raw(sql, id).First(&m).Error
  52. return
  53. }
  54. func (m *BaseFromNationalStatisticsClassify) GetItemByCondition(condition string, pars []interface{}) (err error) {
  55. o := global.DbMap[utils.DbNameIndex]
  56. sql := `SELECT * FROM base_from_national_statistics_classify WHERE 1=1 `
  57. sql += condition
  58. sql += ` LIMIT 1`
  59. err = o.Raw(sql, pars...).First(&m).Error
  60. return
  61. }
  62. func (m *BaseFromNationalStatisticsClassify) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
  63. o := global.DbMap[utils.DbNameIndex]
  64. sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
  65. err = o.Raw(sql, pars...).Scan(&count).Error
  66. return
  67. }
  68. func (m *BaseFromNationalStatisticsClassify) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*BaseFromNationalStatisticsClassify, err error) {
  69. o := global.DbMap[utils.DbNameIndex]
  70. fields := strings.Join(fieldArr, ",")
  71. if len(fieldArr) == 0 {
  72. fields = `*`
  73. }
  74. order := `ORDER BY create_time DESC`
  75. if orderRule != "" {
  76. order = ` ORDER BY ` + orderRule
  77. }
  78. sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
  79. err = o.Raw(sql, pars...).Find(&items).Error
  80. return
  81. }
  82. type BaseFromNationalStatisticsClassifyItem struct {
  83. ClassifyId int `description:"分类ID"`
  84. ClassifyName string `description:"分类名称"`
  85. ParentId int `description:"父级分类ID"`
  86. ParentIds []int `description:"父级分类ID集合-用于前端的定位"`
  87. Dbcode string `description:"数据库编码"`
  88. IsParent int `description:"是否存在子分类: 0-否; 1-是"`
  89. Children []*BaseFromNationalStatisticsClassifyItem `description:"子分类"`
  90. }