|
@@ -1,69 +1,23 @@
|
|
|
package models
|
|
|
|
|
|
import (
|
|
|
- "encoding/json"
|
|
|
- "errors"
|
|
|
"fmt"
|
|
|
"github.com/beego/beego/v2/client/orm"
|
|
|
- "github.com/rdlucklib/rdluck_tools/http"
|
|
|
+ "hongze/hongze_edb_lib/services"
|
|
|
"hongze/hongze_edb_lib/utils"
|
|
|
"strings"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
-type EdbDataFromThs struct {
|
|
|
- DataVol int64 `json:"dataVol"`
|
|
|
- Errmsg string `json:"errmsg"`
|
|
|
- Errorcode int64 `json:"errorcode"`
|
|
|
- Perf interface{} `json:"perf"`
|
|
|
- Tables []struct {
|
|
|
- ID []string `json:"id"`
|
|
|
- Time []string `json:"time"`
|
|
|
- Value []float64 `json:"value"`
|
|
|
- } `json:"tables"`
|
|
|
-}
|
|
|
-
|
|
|
-func AddEdbDataFromThs(edbCode, startDate, endDate string) (err error) {
|
|
|
+func AddEdbDataFromThs(edbCode string, item *services.EdbDataFromThs) (err error) {
|
|
|
var errMsg string
|
|
|
o := orm.NewOrm()
|
|
|
- tx, err := o.Begin()
|
|
|
defer func() {
|
|
|
- if err != nil {
|
|
|
- err = tx.Rollback()
|
|
|
- if err != nil {
|
|
|
- errMsg = " Rollback err:" + err.Error()
|
|
|
- }
|
|
|
- } else {
|
|
|
- err = tx.Commit()
|
|
|
- if err != nil {
|
|
|
- errMsg = " Commit err:" + err.Error()
|
|
|
- }
|
|
|
- }
|
|
|
if err != nil {
|
|
|
go utils.SendEmail(utils.APP_NAME_CN+"【"+utils.RunMode+"】"+"失败提醒", " 同花顺数据获取失败:err:"+errMsg, utils.EmailSendToUsers)
|
|
|
}
|
|
|
}()
|
|
|
|
|
|
- thsUrl := utils.Hz_Ths_Data_Url + `edbInfo/ths?EdbCode=%s&StartDate=%s&EndDate=%s`
|
|
|
- thsUrl = fmt.Sprintf(thsUrl, edbCode, startDate, endDate)
|
|
|
- utils.FileLog.Info("thsUrl:" + thsUrl)
|
|
|
- body, err := http.Get(thsUrl)
|
|
|
- utils.FileLog.Info("ths result:" + string(body))
|
|
|
- if err != nil {
|
|
|
- err = errors.New(" Err:" + err.Error() + ";result:" + string(body))
|
|
|
- return
|
|
|
- }
|
|
|
- item := new(EdbDataFromThs)
|
|
|
- err = json.Unmarshal(body, &item)
|
|
|
- if err != nil {
|
|
|
- err = errors.New("GetEdbDataFromThs json.Unmarshal Err:" + err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- if item.Errorcode != 0 {
|
|
|
- err = errors.New(string(body))
|
|
|
- errMsg ="获取同花顺信息失败:"+ string(body)
|
|
|
- return
|
|
|
- }
|
|
|
if len(item.Tables) > 0 {
|
|
|
table := item.Tables[0]
|
|
|
dataLen := len(table.Time)
|
|
@@ -88,7 +42,7 @@ func AddEdbDataFromThs(edbCode, startDate, endDate string) (err error) {
|
|
|
}
|
|
|
if isAdd {
|
|
|
addSql = strings.TrimRight(addSql, ",")
|
|
|
- _, err = tx.Raw(addSql).Exec()
|
|
|
+ _, err = o.Raw(addSql).Exec()
|
|
|
if err != nil {
|
|
|
errMsg = " tx.Exec Err :" + err.Error()
|
|
|
return
|