ccf_stock_excel.go 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. package models
  2. import (
  3. "eta/eta_index_lib/global"
  4. "eta/eta_index_lib/utils"
  5. "fmt"
  6. "strings"
  7. "time"
  8. )
  9. // CCFStockExcel CCF化纤装置表格
  10. type CCFStockExcel struct {
  11. CcfStockExcelId int `gorm:"column:ccf_stock_excel_id;type:int(10) UNSIGNED;primaryKey;not null;"`
  12. ClassifyId int `gorm:"column:classify_id;type:int(10) UNSIGNED;comment:分类ID;not null;default:0;"` // 分类ID
  13. ExcelDate time.Time `gorm:"column:excel_date;type:date;comment:表格日期;default:NULL;"` // 表格日期
  14. ExcelContent string `gorm:"column:excel_content;type:longtext;comment:表格html信息;"` // 表格html信息
  15. FromPage string `gorm:"column:from_page;type:varchar(255);comment:表格来源;not null;"` // 表格来源
  16. CreateTime time.Time `gorm:"column:create_time;type:datetime;comment:创建时间;default:NULL;"` // 创建时间
  17. ModifyTime time.Time `gorm:"column:modify_time;type:datetime;comment:更新时间;default:NULL;"` // 更新时间
  18. }
  19. func (m *CCFStockExcel) TableName() string {
  20. return "ccf_stock_excel"
  21. }
  22. type CCFStockExcelCols struct {
  23. CcfStockExcelId string
  24. ClassifyId string
  25. ExcelDate string
  26. ExcelContent string
  27. FromPage string
  28. CreateTime string
  29. ModifyTime string
  30. }
  31. func (m *CCFStockExcel) Cols() CCFStockExcelCols {
  32. return CCFStockExcelCols{
  33. CcfStockExcelId: "ccf_stock_excel_id",
  34. ClassifyId: "classify_id",
  35. ExcelDate: "excel_date",
  36. ExcelContent: "excel_content",
  37. FromPage: "from_page",
  38. CreateTime: "create_time",
  39. ModifyTime: "modify_time",
  40. }
  41. }
  42. func (m *CCFStockExcel) PrimaryId() string {
  43. return m.Cols().CcfStockExcelId
  44. }
  45. func (m *CCFStockExcel) Create() (err error) {
  46. err = global.DEFAULT_DB.Create(m).Error
  47. return
  48. }
  49. func (m *CCFStockExcel) CreateMulti(items []*CCFStockExcel) (err error) {
  50. if len(items) == 0 {
  51. return
  52. }
  53. err = global.DEFAULT_DB.CreateInBatches(items, utils.MultiAddNum).Error
  54. return
  55. }
  56. func (m *CCFStockExcel) Update(cols []string) (err error) {
  57. err = global.DEFAULT_DB.Model(m).Select(cols).Updates(m).Error
  58. return
  59. }
  60. func (m *CCFStockExcel) Del() (err error) {
  61. sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.PrimaryId())
  62. err = global.DEFAULT_DB.Exec(sql, m.CcfStockExcelId).Error
  63. return
  64. }
  65. func (m *CCFStockExcel) MultiDel(menuIds []int) (err error) {
  66. if len(menuIds) == 0 {
  67. return
  68. }
  69. sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.PrimaryId(), utils.GetOrmInReplace(len(menuIds)))
  70. err = global.DEFAULT_DB.Exec(sql, menuIds).Error
  71. return
  72. }
  73. func (m *CCFStockExcel) GetItemById(id int) (item *CCFStockExcel, err error) {
  74. sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.PrimaryId())
  75. err = global.DEFAULT_DB.Raw(sql, id).First(&item).Error
  76. return
  77. }
  78. func (m *CCFStockExcel) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *CCFStockExcel, err error) {
  79. order := ``
  80. if orderRule != "" {
  81. order = ` ORDER BY ` + orderRule
  82. }
  83. sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s %s LIMIT 1`, m.TableName(), condition, order)
  84. err = global.DEFAULT_DB.Raw(sql, pars...).First(&item).Error
  85. return
  86. }
  87. func (m *CCFStockExcel) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
  88. sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
  89. err = global.DEFAULT_DB.Raw(sql, pars...).Scan(&count).Error
  90. return
  91. }
  92. func (m *CCFStockExcel) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*CCFStockExcel, err error) {
  93. fields := strings.Join(fieldArr, ",")
  94. if len(fieldArr) == 0 {
  95. fields = `*`
  96. }
  97. order := fmt.Sprintf(`ORDER BY %s DESC`, m.Cols().CreateTime)
  98. if orderRule != "" {
  99. order = ` ORDER BY ` + orderRule
  100. }
  101. sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
  102. err = global.DEFAULT_DB.Raw(sql, pars...).Find(&items).Error
  103. return
  104. }
  105. func (m *CCFStockExcel) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*CCFStockExcel, err error) {
  106. fields := strings.Join(fieldArr, ",")
  107. if len(fieldArr) == 0 {
  108. fields = `*`
  109. }
  110. order := fmt.Sprintf(`ORDER BY %s DESC`, m.Cols().CreateTime)
  111. if orderRule != "" {
  112. order = ` ORDER BY ` + orderRule
  113. }
  114. sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s LIMIT ?,?`, fields, m.TableName(), condition, order)
  115. pars = append(pars, startSize, pageSize)
  116. err = global.DEFAULT_DB.Raw(sql, pars...).Find(&items).Error
  117. return
  118. }