base_from_edb_mapping.go 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. package models
  2. import (
  3. "eta_gn/eta_index_lib/global"
  4. "eta_gn/eta_index_lib/utils"
  5. "fmt"
  6. "strings"
  7. "time"
  8. )
  9. // BaseFromEdbMapping 同花顺高频数据
  10. //type BaseFromEdbMapping struct {
  11. // Id int `orm:"column(id);pk"`
  12. // BaseFromIndexId int `description:"源指标ID"`
  13. // BaseIndexCode string `description:"源指标编码"`
  14. // EdbInfoId int `description:"指标ID"`
  15. // EdbCode string `description:"指标编码"`
  16. // Source int `description:"指标来源:1-同花顺..."`
  17. // SubSource int `description:"子数据来源:0-经济数据库;1-日期序列;2-高频数据"`
  18. // ConvertRule string `description:"转换规则"`
  19. // CreateTime time.Time `description:"创建时间"`
  20. // ModifyTime time.Time `description:"修改时间"`
  21. //}
  22. // BaseFromEdbMapping 同花顺高频数据
  23. type BaseFromEdbMapping struct {
  24. Id int `gorm:"column:id;primaryKey" description:"同花顺高频数据ID"`
  25. BaseFromIndexId int `gorm:"column:base_from_index_id" description:"源指标ID"`
  26. BaseIndexCode string `gorm:"column:base_index_code" description:"源指标编码"`
  27. EdbInfoId int `gorm:"column:edb_info_id" description:"指标ID"`
  28. EdbCode string `gorm:"column:edb_code" description:"指标编码"`
  29. Source int `gorm:"column:source" description:"指标来源:1-同花顺..."`
  30. SubSource int `gorm:"column:sub_source" description:"子数据来源:0-经济数据库;1-日期序列;2-高频数据"`
  31. ConvertRule string `gorm:"column:convert_rule" description:"转换规则"`
  32. CreateTime time.Time `gorm:"column:create_time" description:"创建时间"`
  33. ModifyTime time.Time `gorm:"column:modify_time" description:"修改时间"`
  34. }
  35. func (m *BaseFromEdbMapping) TableName() string {
  36. return "base_from_edb_mapping"
  37. }
  38. type BaseFromEdbMappingCols struct {
  39. PrimaryId string
  40. BaseFromIndexId string
  41. BaseIndexCode string
  42. EdbInfoId string
  43. EdbCode string
  44. Source string
  45. SubSource string
  46. ConvertRule string
  47. CreateTime string
  48. ModifyTime string
  49. }
  50. func (m *BaseFromEdbMapping) Cols() BaseFromEdbMappingCols {
  51. return BaseFromEdbMappingCols{
  52. PrimaryId: "id",
  53. BaseFromIndexId: "base_from_index_id",
  54. BaseIndexCode: "base_index_code",
  55. EdbInfoId: "edb_info_id",
  56. EdbCode: "edb_code",
  57. Source: "source",
  58. SubSource: "sub_source",
  59. ConvertRule: "convert_rule",
  60. CreateTime: "create_time",
  61. ModifyTime: "modify_time",
  62. }
  63. }
  64. func (m *BaseFromEdbMapping) Create() (err error) {
  65. //o := orm.NewOrm()
  66. //id, err := o.Insert(m)
  67. err = global.DEFAULT_DmSQL.Create(m).Error
  68. if err != nil {
  69. return
  70. }
  71. //m.Id = int(id)
  72. return
  73. }
  74. func (m *BaseFromEdbMapping) CreateMulti(items []*BaseFromEdbMapping) (err error) {
  75. if len(items) == 0 {
  76. return
  77. }
  78. //o := orm.NewOrm()
  79. //_, err = o.InsertMulti(len(items), items)
  80. err = global.DEFAULT_DmSQL.CreateInBatches(items, len(items)).Error
  81. return
  82. }
  83. func (m *BaseFromEdbMapping) Update(cols []string) (err error) {
  84. //o := orm.NewOrm()
  85. //_, err = o.Update(m, cols...)
  86. err = global.DEFAULT_DmSQL.Model(m).Select(cols).Updates(m).Error
  87. return
  88. }
  89. func (m *BaseFromEdbMapping) Remove() (err error) {
  90. //o := orm.NewOrm()
  91. sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
  92. //_, err = o.Raw(sql, m.Id).Exec()
  93. err = global.DEFAULT_DmSQL.Exec(sql, m.Id).Error
  94. return
  95. }
  96. func (m *BaseFromEdbMapping) MultiRemove(ids []int) (err error) {
  97. if len(ids) == 0 {
  98. return
  99. }
  100. //o := orm.NewOrm()
  101. sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
  102. //_, err = o.Raw(sql, ids).Exec()
  103. err = global.DEFAULT_DmSQL.Exec(sql, ids).Error
  104. return
  105. }
  106. func (m *BaseFromEdbMapping) RemoveByCondition(condition string, pars []interface{}) (err error) {
  107. if condition == "" {
  108. return
  109. }
  110. //o := orm.NewOrm()
  111. sql := fmt.Sprintf(`DELETE FROM %s WHERE %s`, m.TableName(), condition)
  112. //_, err = o.Raw(sql, pars).Exec()
  113. err = global.DEFAULT_DmSQL.Exec(sql, pars...).Error
  114. return
  115. }
  116. func (m *BaseFromEdbMapping) GetItemById(id int) (item *BaseFromEdbMapping, err error) {
  117. //o := orm.NewOrm()
  118. sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
  119. //err = o.Raw(sql, id).QueryRow(&item)
  120. err = global.DEFAULT_DmSQL.Raw(sql, id).Find(&item).Error
  121. return
  122. }
  123. func (m *BaseFromEdbMapping) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *BaseFromEdbMapping, err error) {
  124. //o := orm.NewOrm()
  125. order := ``
  126. if orderRule != "" {
  127. order = ` ORDER BY ` + orderRule
  128. }
  129. sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s %s LIMIT 1`, m.TableName(), condition, order)
  130. //err = o.Raw(sql, pars).QueryRow(&item)
  131. err = global.DEFAULT_DmSQL.Raw(sql, pars...).Find(&item).Error
  132. return
  133. }
  134. func (m *BaseFromEdbMapping) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
  135. //o := orm.NewOrm()
  136. sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
  137. //err = o.Raw(sql, pars).QueryRow(&count)
  138. err = global.DEFAULT_DmSQL.Raw(sql, pars...).Find(&count).Error
  139. return
  140. }
  141. func (m *BaseFromEdbMapping) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*BaseFromEdbMapping, err error) {
  142. //o := orm.NewOrm()
  143. fields := strings.Join(fieldArr, ",")
  144. if len(fieldArr) == 0 {
  145. fields = `*`
  146. }
  147. order := fmt.Sprintf(`ORDER BY %s DESC`, m.Cols().CreateTime)
  148. if orderRule != "" {
  149. order = ` ORDER BY ` + orderRule
  150. }
  151. sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
  152. //_, err = o.Raw(sql, pars).QueryRows(&items)
  153. err = global.DEFAULT_DmSQL.Raw(sql, pars...).Find(&items).Error
  154. return
  155. }
  156. func (m *BaseFromEdbMapping) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*BaseFromEdbMapping, err error) {
  157. //o := orm.NewOrm()
  158. fields := strings.Join(fieldArr, ",")
  159. if len(fieldArr) == 0 {
  160. fields = `*`
  161. }
  162. order := fmt.Sprintf(`ORDER BY %s DESC`, m.Cols().CreateTime)
  163. if orderRule != "" {
  164. order = ` ORDER BY ` + orderRule
  165. }
  166. sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s LIMIT ?,?`, fields, m.TableName(), condition, order)
  167. //_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  168. err = global.DEFAULT_DmSQL.Raw(sql, pars, startSize, pageSize).Find(&items).Error
  169. return
  170. }