base_from_business.go 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package data_manage
  2. import (
  3. "eta/eta_hub/global"
  4. "eta/eta_hub/utils"
  5. "fmt"
  6. "github.com/rdlucklib/rdluck_tools/paging"
  7. "strings"
  8. "time"
  9. )
  10. // BaseFromBusinessIndex
  11. // @Description: 外部指标(商家系统)表
  12. type BaseFromBusinessIndex struct {
  13. BaseFromBusinessIndexId int64 `orm:"column(base_from_business_index_id);pk"`
  14. IndexCode string `description:"指标编码"`
  15. IndexName string `description:"指标名称"`
  16. Unit string `description:"单位"`
  17. Frequency string `description:"频度"`
  18. Source int `description:"数据来源"`
  19. SourceName string `description:"数据来源名称"`
  20. StartDate time.Time `description:"开始日期"`
  21. EndDate time.Time `description:"结束日期"`
  22. Remark string `description:"备注字段"`
  23. BaseModifyTime time.Time `description:"基础信息(名称,单位,频度)变更时间"`
  24. DataUpdateTime time.Time `description:"最近一次数据发生变化的时间"`
  25. CreateTime time.Time `description:"创建时间"`
  26. ModifyTime time.Time `description:"修改时间"`
  27. }
  28. // BaseFromBusinessIndexItem
  29. // @Description: 外部指标结构
  30. type BaseFromBusinessIndexItem struct {
  31. IndexCode string `description:"指标编码"`
  32. IndexName string `description:"指标名称"`
  33. Unit string `description:"单位"`
  34. Frequency string `description:"频度"`
  35. SourceName string `description:"数据来源名称"`
  36. }
  37. // BaseFromBusinessIndexResp 联合国商品贸易列表数据返回
  38. type BaseFromBusinessIndexResp struct {
  39. Paging *paging.PagingItem
  40. List []*BaseFromBusinessIndexItem
  41. LastUpdateTime string
  42. }
  43. func (m *BaseFromBusinessIndex) GetItemsByCondition(cond string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (total int, items []*BaseFromBusinessIndexItem, err error) {
  44. //o := orm.NewOrmUsingDB("data")
  45. fields := strings.Join(fieldArr, ",")
  46. if len(fieldArr) == 0 {
  47. fields = `*`
  48. }
  49. // 获取总数
  50. sql := fmt.Sprintf(`SELECT count(1) AS total FROM base_from_business_index WHERE 1=1 %s `, cond)
  51. //err = o.Raw(sql, pars).QueryRow(&total)
  52. //if err != nil {
  53. // return
  54. //}
  55. err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&total).Error
  56. // 排序字段
  57. order := `ORDER BY create_time DESC`
  58. if orderRule != "" {
  59. order = ` ORDER BY ` + orderRule
  60. }
  61. sql = fmt.Sprintf(`SELECT %s FROM base_from_business_index WHERE 1=1 %s %s limit ?,?`, fields, cond, order)
  62. //_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  63. err = global.DbMap[utils.DbNameIndex].Raw(sql, pars, startSize, pageSize).Find(&items).Error
  64. return
  65. }