|
@@ -2,6 +2,7 @@ package controllers
|
|
|
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
+ "eta/eta_index_lib/logic"
|
|
|
"eta/eta_index_lib/models"
|
|
|
shanghaismm "eta/eta_index_lib/services/shanghai_smm"
|
|
|
"eta/eta_index_lib/utils"
|
|
@@ -28,13 +29,17 @@ var ShanghaiSmmNameToCodeMap = make(map[string]string)
|
|
|
// @router /refresh/list [post]
|
|
|
func (this *ShanghaiSmmController) RefreshData() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
+ var err error
|
|
|
defer func() {
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Error("SMM-RefreshData err:", err)
|
|
|
+ }
|
|
|
this.Data["json"] = br
|
|
|
this.ServeJSON()
|
|
|
}()
|
|
|
|
|
|
var req []*shanghaismm.EdbInfoData
|
|
|
- if err := json.Unmarshal(this.Ctx.Input.RequestBody, &req); err != nil {
|
|
|
+ if err = json.Unmarshal(this.Ctx.Input.RequestBody, &req); err != nil {
|
|
|
br.Msg = "参数解析异常!"
|
|
|
br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
return
|
|
@@ -56,6 +61,7 @@ func (this *ShanghaiSmmController) RefreshData() {
|
|
|
updateIndexList := make([]*models.BaseFromSmmIndex, 0)
|
|
|
addDateList := make([]*models.BaseFromSmmData, 0)
|
|
|
readyDateList := make([]*models.BaseFromSmmData, 0)
|
|
|
+ updateIndexCode := make([]string, 0)
|
|
|
for _, v := range req {
|
|
|
indexInfo := ShanghaiSmmNameToIndexMap[v.IndexName]
|
|
|
if indexInfo == nil {
|
|
@@ -121,6 +127,7 @@ func (this *ShanghaiSmmController) RefreshData() {
|
|
|
item.ModifyTime = time.Now()
|
|
|
item.DataTimestamp = time.Now().UnixMilli()
|
|
|
addDateList = append(addDateList, item)
|
|
|
+ updateIndexCode = append(updateIndexCode, indexInfo.IndexCode)
|
|
|
} else {
|
|
|
smmData, err := models.GetBaseFromSmmDataByCodeAndDate(indexInfo.IndexCode, v.RenewDate)
|
|
|
if err != nil {
|
|
@@ -143,6 +150,7 @@ func (this *ShanghaiSmmController) RefreshData() {
|
|
|
if err != nil {
|
|
|
utils.FileLog.Info("indexCode: %s,更新指标数据失败,Err:%s", v.IndexCode, err.Error())
|
|
|
}
|
|
|
+ updateIndexCode = append(updateIndexCode, indexInfo.IndexCode)
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -201,6 +209,38 @@ func (this *ShanghaiSmmController) RefreshData() {
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
+ var messages []string
|
|
|
+ defer func() {
|
|
|
+ if len(messages) > 0 {
|
|
|
+ errMsg := strings.Join(messages, ",")
|
|
|
+ utils.FileLog.Info("SMM RefreshData errMsg: %s", errMsg)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ for _, v := range updateIndexCode {
|
|
|
+ itemInfo, err := models.GetSmmIndexInfoMaxAndMinInfo(v)
|
|
|
+ if err == nil && itemInfo != nil {
|
|
|
+ e := models.ModifySmmIndexMaxAndMinInfo(v, itemInfo)
|
|
|
+ if e != nil {
|
|
|
+ messages = append(messages, fmt.Sprintf("更新指标最大最小值失败, indexCode: %s, err: %s", v, e.Error()))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 同步刷新ETA图库有色的指标
|
|
|
+ {
|
|
|
+ // 获取指标详情
|
|
|
+ edbInfo, e := models.GetEdbInfoByEdbCode(utils.DATA_SOURCE_YS, v)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ messages = append(messages, fmt.Sprintf("刷新ETA指标异常, indexCode: %s, err: %s", v, e.Error()))
|
|
|
+ }
|
|
|
+
|
|
|
+ // 已经加入到指标库的话,那么就去更新ETA指标库吧
|
|
|
+ if edbInfo != nil {
|
|
|
+ go logic.RefreshBaseEdbInfo(edbInfo, ``)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
br.Msg = "数据刷新成功"
|
|
|
br.Success = true
|
|
|
br.Ret = 200
|
|
@@ -345,6 +385,38 @@ func (this *ShanghaiSmmController) RefreshExcel() {
|
|
|
}
|
|
|
// 不修改
|
|
|
fmt.Println(len(updateDataList))
|
|
|
+ var messages []string
|
|
|
+ defer func() {
|
|
|
+ if len(messages) > 0 {
|
|
|
+ errMsg := strings.Join(messages, ",")
|
|
|
+ utils.FileLog.Info("SMM RefreshExcel errMsg: %s", errMsg)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ for _, v := range updateDataList {
|
|
|
+ itemInfo, err := models.GetSmmIndexInfoMaxAndMinInfo(v.IndexCode)
|
|
|
+ if err == nil && itemInfo != nil {
|
|
|
+ e := models.ModifySmmIndexMaxAndMinInfo(v.IndexCode, itemInfo)
|
|
|
+ if e != nil {
|
|
|
+ messages = append(messages, fmt.Sprintf("更新指标最大最小值失败, indexCode: %s, err: %s", v.IndexCode, e.Error()))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 同步刷新ETA图库有色的指标
|
|
|
+ {
|
|
|
+ // 获取指标详情
|
|
|
+ edbInfo, e := models.GetEdbInfoByEdbCode(utils.DATA_SOURCE_YS, v.IndexCode)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ messages = append(messages, fmt.Sprintf("刷新ETA指标异常, indexCode: %s, err: %s", v.IndexCode, e.Error()))
|
|
|
+ }
|
|
|
+
|
|
|
+ // 已经加入到指标库的话,那么就去更新ETA指标库吧
|
|
|
+ if edbInfo != nil {
|
|
|
+ go logic.RefreshBaseEdbInfo(edbInfo, ``)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
// if len(updateDataList) > 0 {
|
|
|
// err = models.UpdateBaseFromSmmDataListByIndexCode(updateDataList)
|
|
|
// if err != nil {
|