12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- package data_manage
- import (
- "eta/eta_hub/global"
- "eta/eta_hub/utils"
- "fmt"
- "github.com/rdlucklib/rdluck_tools/paging"
- "strings"
- "time"
- )
- // BaseFromBusinessIndex
- // @Description: 外部指标(商家系统)表
- type BaseFromBusinessIndex struct {
- BaseFromBusinessIndexId int64 `orm:"column(base_from_business_index_id);pk"`
- IndexCode string `description:"指标编码"`
- IndexName string `description:"指标名称"`
- Unit string `description:"单位"`
- Frequency string `description:"频度"`
- Source int `description:"数据来源"`
- SourceName string `description:"数据来源名称"`
- StartDate time.Time `description:"开始日期"`
- EndDate time.Time `description:"结束日期"`
- Remark string `description:"备注字段"`
- BaseModifyTime time.Time `description:"基础信息(名称,单位,频度)变更时间"`
- DataUpdateTime time.Time `description:"最近一次数据发生变化的时间"`
- CreateTime time.Time `description:"创建时间"`
- ModifyTime time.Time `description:"修改时间"`
- }
- // BaseFromBusinessIndexItem
- // @Description: 外部指标结构
- type BaseFromBusinessIndexItem struct {
- IndexCode string `description:"指标编码"`
- IndexName string `description:"指标名称"`
- Unit string `description:"单位"`
- Frequency string `description:"频度"`
- SourceName string `description:"数据来源名称"`
- }
- // BaseFromBusinessIndexResp 联合国商品贸易列表数据返回
- type BaseFromBusinessIndexResp struct {
- Paging *paging.PagingItem
- List []*BaseFromBusinessIndexItem
- LastUpdateTime string
- }
- func (m *BaseFromBusinessIndex) GetItemsByCondition(cond string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (total int, items []*BaseFromBusinessIndexItem, err error) {
- //o := orm.NewOrmUsingDB("data")
- fields := strings.Join(fieldArr, ",")
- if len(fieldArr) == 0 {
- fields = `*`
- }
- // 获取总数
- sql := fmt.Sprintf(`SELECT count(1) AS total FROM base_from_business_index WHERE 1=1 %s `, cond)
- //err = o.Raw(sql, pars).QueryRow(&total)
- //if err != nil {
- // return
- //}
- err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&total).Error
- // 排序字段
- order := `ORDER BY create_time DESC`
- if orderRule != "" {
- order = ` ORDER BY ` + orderRule
- }
- sql = fmt.Sprintf(`SELECT %s FROM base_from_business_index WHERE 1=1 %s %s limit ?,?`, fields, cond, order)
- //_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
- err = global.DbMap[utils.DbNameIndex].Raw(sql, pars, startSize, pageSize).Find(&items).Error
- return
- }
|