|
@@ -4,6 +4,7 @@ import (
|
|
|
"database/sql"
|
|
|
"eta/eta_bridge/global"
|
|
|
"fmt"
|
|
|
+ "time"
|
|
|
)
|
|
|
|
|
|
var (
|
|
@@ -66,38 +67,38 @@ func GetDictData(tableName string, condition string, pars []interface{}) (dictIn
|
|
|
}
|
|
|
|
|
|
type DictIndex struct {
|
|
|
- Id int `description:"主键"`
|
|
|
- Code string `description:"指标编码"`
|
|
|
- Name string `description:"指标名称"`
|
|
|
- Unit string `description:"单位"`
|
|
|
- Frequency string `description:"更新频率"`
|
|
|
- Description string `description:"描述"`
|
|
|
- TableName string `description:"指标数据存储库表"`
|
|
|
- SourceType string `description:"指标来源,如:wind:万德;manual:手工导入;formula:公式;webisite:网页爬取"`
|
|
|
- SourceCode string `description:"来源编码"`
|
|
|
- SourceDescription string `description:"来源说明"`
|
|
|
- Industry string `description:"品种板块"`
|
|
|
- Type string `description:"指标类型"`
|
|
|
- Commodity string `description:"商品名称"`
|
|
|
- SjbId int `description:"SJB_ID"`
|
|
|
- UserId int `description:"所属用户"`
|
|
|
- RowsCount int `description:"指标数据数量"`
|
|
|
- DateFirst string `description:"指标开始时间"`
|
|
|
- DateLast string `description:"指标最新时间"`
|
|
|
- TimeLastUpdate string `description:"最新更新时间"`
|
|
|
- TimeLastRequest string `description:"下次更新时间"`
|
|
|
- Priority int `description:"更新优先级"`
|
|
|
- Status int `description:"指标状态"`
|
|
|
- ShortName string `description:"指标简称"`
|
|
|
- UpdateDescription string `description:"更新说明"`
|
|
|
- ForecastFlag int `description:"预测标识"`
|
|
|
- ManualFlag int `description:"手动标识"`
|
|
|
- VariableFlag int `description:"有效标识"`
|
|
|
- MarketDataFlag int `description:"市场价标识"`
|
|
|
- CreateUser int `description:"创建用户"`
|
|
|
- CreateTime string `description:"创建时间"`
|
|
|
- UpdateUser int `description:"更新用户"`
|
|
|
- UpdateTime string `description:"更新时间"`
|
|
|
+ Id int `description:"主键"`
|
|
|
+ Code string `description:"指标编码"`
|
|
|
+ Name string `description:"指标名称"`
|
|
|
+ Unit string `description:"单位"`
|
|
|
+ Frequency string `description:"更新频率"`
|
|
|
+ Description string `description:"描述"`
|
|
|
+ TableName string `description:"指标数据存储库表"`
|
|
|
+ SourceType string `description:"指标来源,如:wind:万德;manual:手工导入;formula:公式;webisite:网页爬取"`
|
|
|
+ SourceCode string `description:"来源编码"`
|
|
|
+ SourceDescription string `description:"来源说明"`
|
|
|
+ Industry string `description:"品种板块"`
|
|
|
+ Type string `description:"指标类型"`
|
|
|
+ Commodity string `description:"商品名称"`
|
|
|
+ SjbId int `description:"SJB_ID"`
|
|
|
+ UserId int `description:"所属用户"`
|
|
|
+ RowsCount int `description:"指标数据数量"`
|
|
|
+ DateFirst string `description:"指标开始时间"`
|
|
|
+ DateLast string `description:"指标最新时间"`
|
|
|
+ TimeLastUpdate time.Time `description:"最新更新时间"`
|
|
|
+ TimeLastRequest time.Time `description:"下次更新时间"`
|
|
|
+ Priority int `description:"更新优先级"`
|
|
|
+ Status int `description:"指标状态"`
|
|
|
+ ShortName string `description:"指标简称"`
|
|
|
+ UpdateDescription string `description:"更新说明"`
|
|
|
+ ForecastFlag int `description:"预测标识"`
|
|
|
+ ManualFlag int `description:"手动标识"`
|
|
|
+ VariableFlag int `description:"有效标识"`
|
|
|
+ MarketDataFlag int `description:"市场价标识"`
|
|
|
+ CreateUser int `description:"创建用户"`
|
|
|
+ CreateTime time.Time `description:"创建时间"`
|
|
|
+ UpdateUser int `description:"更新用户"`
|
|
|
+ UpdateTime time.Time `description:"更新时间"`
|
|
|
}
|
|
|
|
|
|
type DictIndexSql struct {
|
|
@@ -119,8 +120,8 @@ type DictIndexSql struct {
|
|
|
RowsCount sql.NullInt32 `description:"指标数据数量" json:"ROWS_COUNT"`
|
|
|
DateFirst sql.NullString `description:"指标开始时间" json:"DATE_FIRST"`
|
|
|
DateLast sql.NullString `description:"指标最新时间" json:"DATE_LAST"`
|
|
|
- TimeLastUpdate sql.NullString `description:"最新更新时间" json:"TIME_LAST_UPDATE"`
|
|
|
- TimeLastRequest sql.NullString `description:"下次更新时间" json:"TIME_LAST_REQUEST"`
|
|
|
+ TimeLastUpdate sql.NullTime `description:"最新更新时间" json:"TIME_LAST_UPDATE"`
|
|
|
+ TimeLastRequest sql.NullTime `description:"下次更新时间" json:"TIME_LAST_REQUEST"`
|
|
|
Priority sql.NullInt32 `description:"更新优先级" json:"PRIORITY"`
|
|
|
Status sql.NullInt32 `description:"指标状态" json:"STATUS"`
|
|
|
ShortName sql.NullString `description:"指标简称" json:"SHORT_NAME"`
|
|
@@ -130,9 +131,9 @@ type DictIndexSql struct {
|
|
|
VariableFlag sql.NullInt32 `description:"有效标识" json:"VARIABLE_FLAG"`
|
|
|
MarketDataFlag sql.NullInt32 `description:"市场价标识" json:"MARKETDATA_FLAG"`
|
|
|
CreateUser sql.NullInt32 `description:"创建用户" json:"CREATE_USER"`
|
|
|
- CreateTime sql.NullString `description:"创建时间" json:"CREATE_TIME"`
|
|
|
+ CreateTime sql.NullTime `description:"创建时间" json:"CREATE_TIME"`
|
|
|
UpdateUser sql.NullInt32 `description:"更新用户" json:"UPDATE_USER"`
|
|
|
- UpdateTime sql.NullString `description:"更新时" json:"UPDATE_TIME"`
|
|
|
+ UpdateTime sql.NullTime `description:"更新时间" json:"UPDATE_TIME"`
|
|
|
No sql.NullInt32 `description:"分页查询数" json:"no"`
|
|
|
}
|
|
|
|
|
@@ -205,8 +206,8 @@ func getDictIndex(sqlStatement string, pars []interface{}) (dictIndexs []DictInd
|
|
|
RowsCount: int(tmp.RowsCount.Int32),
|
|
|
DateFirst: tmp.DateFirst.String,
|
|
|
DateLast: tmp.DateLast.String,
|
|
|
- TimeLastUpdate: tmp.TimeLastUpdate.String,
|
|
|
- TimeLastRequest: tmp.TimeLastRequest.String,
|
|
|
+ TimeLastUpdate: tmp.TimeLastUpdate.Time,
|
|
|
+ TimeLastRequest: tmp.TimeLastRequest.Time,
|
|
|
Priority: int(tmp.Priority.Int32),
|
|
|
Status: int(tmp.Status.Int32),
|
|
|
ShortName: tmp.ShortName.String,
|
|
@@ -216,9 +217,9 @@ func getDictIndex(sqlStatement string, pars []interface{}) (dictIndexs []DictInd
|
|
|
VariableFlag: int(tmp.VariableFlag.Int32),
|
|
|
MarketDataFlag: int(tmp.MarketDataFlag.Int32),
|
|
|
CreateUser: int(tmp.CreateUser.Int32),
|
|
|
- CreateTime: tmp.CreateTime.String,
|
|
|
+ CreateTime: tmp.CreateTime.Time,
|
|
|
UpdateUser: int(tmp.UpdateUser.Int32),
|
|
|
- UpdateTime: tmp.UpdateTime.String,
|
|
|
+ UpdateTime: tmp.UpdateTime.Time,
|
|
|
}
|
|
|
dictIndexs = append(dictIndexs, dictTmp)
|
|
|
}
|
|
@@ -338,3 +339,42 @@ func GetDictFrequency() (frequencies []string, err error) {
|
|
|
}()
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// GetDictIndexCount 获取指标总记录数
|
|
|
+func GetDictIndexCount(condition string, pars []interface{}) (total int, err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ global.LOG.Info("嘉悦-获取指标总记录数失败, Err:" + err.Error())
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ sqlBase := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE %s`, IndexTableName, condition)
|
|
|
+ stmt, e := global.OracleJy.Prepare(sqlBase)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("预处理sql失败, err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ rows, e := stmt.Query(pars...)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("查询sql失败, err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ _ = rows.Close()
|
|
|
+ }()
|
|
|
+
|
|
|
+ for rows.Next() {
|
|
|
+ if e = rows.Scan(&total); e != nil {
|
|
|
+ err = fmt.Errorf("扫描错误, err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if e = rows.Err(); e != nil {
|
|
|
+ err = fmt.Errorf("解析行数据失败, err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ _ = stmt.Close()
|
|
|
+ }()
|
|
|
+ return
|
|
|
+}
|