|
@@ -1,13 +1,15 @@
|
|
|
package data_manage
|
|
|
|
|
|
import (
|
|
|
- "github.com/beego/beego/v2/client/orm"
|
|
|
+ sql2 "database/sql"
|
|
|
+ "eta/eta_task/global"
|
|
|
+ "eta/eta_task/utils"
|
|
|
"github.com/rdlucklib/rdluck_tools/paging"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
type BaseFromUsdaFasIndex struct {
|
|
|
- BaseFromUsdaFasIndexId int `orm:"column(base_from_usda_fas_index_id);pk"`
|
|
|
+ BaseFromUsdaFasIndexId int `gorm:"column:base_from_usda_fas_index_id;primaryKey;autoIncrement"`
|
|
|
ClassifyId int
|
|
|
IndexCode string
|
|
|
IndexName string
|
|
@@ -25,7 +27,7 @@ type BaseFromUsdaFasIndex struct {
|
|
|
|
|
|
// BaseFromUsdaFasClassify UsdaFas原始数据分类表
|
|
|
type BaseFromUsdaFasClassify struct {
|
|
|
- ClassifyId int `orm:"column(classify_id);pk"`
|
|
|
+ ClassifyId int `gorm:"column:classify_id;primaryKey;autoIncrement"`
|
|
|
ClassifyName string `description:"分类名称"`
|
|
|
ParentId int `description:"父级id"`
|
|
|
SysUserId int `description:"创建人id"`
|
|
@@ -36,10 +38,17 @@ type BaseFromUsdaFasClassify struct {
|
|
|
CreateTime time.Time `description:"创建时间"`
|
|
|
}
|
|
|
|
|
|
-func GetBaseFromUsdaFasIndexMaxDate() (max_date time.Time, err error) {
|
|
|
- o := orm.NewOrm()
|
|
|
- sql := ` SELECT max(a.modify_time)as max_date FROM base_from_usda_fas_data as a `
|
|
|
- err = o.Raw(sql).QueryRow(&max_date)
|
|
|
+func GetBaseFromUsdaFasIndexMaxDate() (maxDate time.Time, err error) {
|
|
|
+ o := global.DbMap[utils.DbNameIndex]
|
|
|
+ sql := ` SELECT max(a.modify_time) as max_date FROM base_from_usda_fas_data as a `
|
|
|
+ var timeNull sql2.NullTime
|
|
|
+ err = o.Raw(sql).Scan(&timeNull).Error
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if timeNull.Valid {
|
|
|
+ maxDate = timeNull.Time
|
|
|
+ }
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -52,22 +61,39 @@ type UsdaFasIndexResp struct {
|
|
|
}
|
|
|
|
|
|
func GetBaseFromUsdaFasIndexAll(dateStr string) (list []*BaseFromUsdaFasIndex, err error) {
|
|
|
- o := orm.NewOrm()
|
|
|
+ o := global.DbMap[utils.DbNameIndex]
|
|
|
sql := `SELECT * FROM base_from_usda_fas_index WHERE end_date>=?`
|
|
|
- _, err = o.Raw(sql, dateStr).QueryRows(&list)
|
|
|
+ err = o.Raw(sql, dateStr).Find(&list).Error
|
|
|
return
|
|
|
}
|
|
|
|
|
|
func (obj *BaseFromUsdaFasIndex) AddBaseFromUsdaFasIndex(item *BaseFromUsdaFasIndex) (lastId int64, err error) {
|
|
|
- o := orm.NewOrm()
|
|
|
- lastId, err = o.Insert(item)
|
|
|
+ err = global.DbMap[utils.DbNameIndex].Create(item).Error
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ lastId = int64(item.BaseFromUsdaFasIndexId)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
func (obj *BaseFromUsdaFasIndex) InsertOrUpdateBaseFromUsdaFasIndex(item *BaseFromUsdaFasIndex) (lastId int64, err error) {
|
|
|
- o := orm.NewOrm()
|
|
|
- lastId, err = o.InsertOrUpdate(item)
|
|
|
- return
|
|
|
+ saveItem := *item
|
|
|
+ o := global.DbMap[utils.DbNameIndex]
|
|
|
+ //lastId, err = o.InsertOrUpdate(item)
|
|
|
+ result := o.FirstOrCreate(item, "base_from_usda_fas_index_id = ?", item.BaseFromUsdaFasIndexId)
|
|
|
+ if result.Error != nil {
|
|
|
+ err = result.Error
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if result.RowsAffected == 0 {
|
|
|
+ saveItem.BaseFromUsdaFasIndexId = 0
|
|
|
+ result = o.Model(item).Where("base_from_usda_fas_index_id = ?", item.BaseFromUsdaFasIndexId).Updates(saveItem)
|
|
|
+ if result.Error != nil {
|
|
|
+ err = result.Error
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return int64(item.BaseFromUsdaFasIndexId), nil
|
|
|
}
|
|
|
|
|
|
type UsdaFasClassifyResp struct {
|
|
@@ -79,29 +105,53 @@ type UsdaFasClassifyResp struct {
|
|
|
}
|
|
|
|
|
|
func GetBaseFromUsdaFasClassifyAll() (list []*BaseFromUsdaFasClassify, err error) {
|
|
|
- o := orm.NewOrm()
|
|
|
+ o := global.DbMap[utils.DbNameIndex]
|
|
|
sql := `SELECT * FROM base_from_usda_fas_classify `
|
|
|
- _, err = o.Raw(sql).QueryRows(&list)
|
|
|
+ err = o.Raw(sql).Find(&list).Error
|
|
|
return
|
|
|
}
|
|
|
|
|
|
func AddBaseFromUsdaFasClassify(item *BaseFromUsdaFasClassify) (lastId int64, err error) {
|
|
|
- o := orm.NewOrm()
|
|
|
- lastId, err = o.Insert(item)
|
|
|
+ err = global.DbMap[utils.DbNameIndex].Create(item).Error
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ lastId = int64(item.ClassifyId)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
func InsertOrUpdateBaseFromUsdaFasClassify(item *BaseFromUsdaFasClassify) (lastId int64, err error) {
|
|
|
- o := orm.NewOrm()
|
|
|
- lastId, err = o.InsertOrUpdate(item)
|
|
|
- return
|
|
|
+ saveItem := *item
|
|
|
+ o := global.DbMap[utils.DbNameIndex]
|
|
|
+ //lastId, err = o.InsertOrUpdate(item)
|
|
|
+ result := o.FirstOrCreate(item, "classify_id = ?", item.ClassifyId)
|
|
|
+ if result.Error != nil {
|
|
|
+ err = result.Error
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if result.RowsAffected == 0 {
|
|
|
+ saveItem.ClassifyId = 0
|
|
|
+ result = o.Model(item).Where("classify_id = ?", item.ClassifyId).Updates(saveItem)
|
|
|
+ if result.Error != nil {
|
|
|
+ err = result.Error
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return int64(item.ClassifyId), nil
|
|
|
}
|
|
|
|
|
|
-// GetBaseFromComTradeMaxDate 获取UsdaFas消费者指数最大数据
|
|
|
-func GetBaseFromUsdaFasMaxDate() (max_date time.Time, err error) {
|
|
|
- o := orm.NewOrm()
|
|
|
- sql := ` SELECT max(a.modify_time)as max_date FROM base_from_usda_fas_data as a `
|
|
|
- err = o.Raw(sql).QueryRow(&max_date)
|
|
|
+// GetBaseFromUsdaFasMaxDate 获取UsdaFas消费者指数最大数据
|
|
|
+func GetBaseFromUsdaFasMaxDate() (maxDate time.Time, err error) {
|
|
|
+ o := global.DbMap[utils.DbNameIndex]
|
|
|
+ sql := ` SELECT max(a.modify_time) as max_date FROM base_from_usda_fas_data as a `
|
|
|
+ var timeNull sql2.NullTime
|
|
|
+ err = o.Raw(sql).Scan(&timeNull).Error
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if timeNull.Valid {
|
|
|
+ maxDate = timeNull.Time
|
|
|
+ }
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -115,11 +165,11 @@ type BaseFromUsdaFasData struct {
|
|
|
ModifyTime time.Time `description:"修改时间"`
|
|
|
}
|
|
|
|
|
|
-// GetAllComTradeDataList 获取UsdaFas消费者指数数据
|
|
|
+// GetAllBaseFromUsdaFasDataList 获取UsdaFas消费者指数数据
|
|
|
func GetAllBaseFromUsdaFasDataList(startDate string) (list []*BaseFromUsdaFasData, err error) {
|
|
|
- o := orm.NewOrm()
|
|
|
+ o := global.DbMap[utils.DbNameIndex]
|
|
|
sql := `SELECT * FROM base_from_usda_fas_data WHERE modify_time>=? ORDER BY base_from_usda_fas_data_id ASC `
|
|
|
- _, err = o.Raw(sql, startDate).QueryRows(&list)
|
|
|
+ err = o.Raw(sql, startDate).Find(&list).Error
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -131,20 +181,19 @@ type BaseFromUsdaFasDataResp struct {
|
|
|
Data BaseFromUsdaFasDataIndexAndDataResp
|
|
|
}
|
|
|
|
|
|
-// ComTradeIndexDataResp 分页列表响应体
|
|
|
+// BaseFromUsdaFasDataIndexAndDataResp 分页列表响应体
|
|
|
type BaseFromUsdaFasDataIndexAndDataResp struct {
|
|
|
List []*BaseFromUsdaFasData
|
|
|
Paging *paging.PagingItem `description:"分页数据"`
|
|
|
}
|
|
|
|
|
|
-// MultiAddBaseFromComTradeData 批量添加数据
|
|
|
+// MultiAddBaseFromUsdaFasDataIndex 批量添加数据
|
|
|
func MultiAddBaseFromUsdaFasDataIndex(items []*BaseFromUsdaFasData) (lastId int64, err error) {
|
|
|
num := len(items)
|
|
|
if num <= 0 {
|
|
|
return
|
|
|
}
|
|
|
- o := orm.NewOrm()
|
|
|
- lastId, err = o.InsertMulti(num, items)
|
|
|
-
|
|
|
+ o := global.DbMap[utils.DbNameIndex]
|
|
|
+ err = o.CreateInBatches(items, utils.MultiAddNum).Error
|
|
|
return
|
|
|
}
|