123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- package data
- import (
- "context"
- "encoding/json"
- "eta/eta_task/models"
- excelModel "eta/eta_task/models/data_manage/excel"
- "eta/eta_task/services/alarm_msg"
- "eta/eta_task/utils"
- "fmt"
- "strings"
- "time"
- )
- const TradeAnalysisTableRefreshUrl = "/trade_analysis/table/refresh"
- // RefreshTradeAnalysisTables 刷新持仓分析表格
- func RefreshTradeAnalysisTables(cont context.Context) (err error) {
- var errMsgList []string
- defer func() {
- if err != nil {
- tips := fmt.Sprintf("RefreshTradeAnalysisTables err: %v", err)
- utils.FileLog.Info(tips)
- go alarm_msg.SendAlarmMsg(tips, 3)
- }
- if len(errMsgList) > 0 {
- errMsg := strings.Join(errMsgList, "\n")
- utils.FileLog.Info(errMsg)
- go alarm_msg.SendAlarmMsg(errMsg, 3)
- }
- utils.FileLog.Info(fmt.Sprintf("持仓分析指标刷新结束: %s", time.Now().Format(utils.FormatDateTime)))
- }()
- utils.FileLog.Info(fmt.Sprintf("持仓分析-表格刷新开始: %s", time.Now().Format(utils.FormatDateTime)))
- excelOb := new(excelModel.ExcelInfo)
- var cond string
- var pars []interface{}
- cond += ` AND is_delete = 0 AND source IN (?, ?)`
- pars = append(pars, utils.TRADE_ANALYSIS_TABLE, utils.TRADE_ANALYSIS_CORRELATION_TABLE)
- items, e := excelOb.GetItemsByCondition(cond, pars, []string{"excel_info_id"}, "")
- if e != nil {
- err = fmt.Errorf("获取持仓分析表失败, %v", e)
- return
- }
- for _, v := range items {
- resp, e := refreshTradeAnalysisTable(v.ExcelInfoId)
- if e != nil {
- errMsgList = append(errMsgList, fmt.Sprintf("ExcelId: %d, refresh err: %v", v.ExcelInfoId, e))
- continue
- }
- if resp.Ret != 200 {
- errMsgList = append(errMsgList, fmt.Sprintf("ExcelId: %d, refresh err: %v, errMsg: %s", v.ExcelInfoId, e, resp.ErrMsg))
- continue
- }
- }
- return err
- }
- // refreshTradeAnalysisTable 刷新表格数据
- func refreshTradeAnalysisTable(excelId int) (resp *models.BaseResponse, err error) {
- param := make(map[string]interface{})
- param["ExcelInfoId"] = excelId
- postUrl := utils.EDB_LIB_URL + TradeAnalysisTableRefreshUrl
- postData, e := json.Marshal(param)
- if e != nil {
- err = fmt.Errorf("post data json err: %v", e)
- return
- }
- result, e := HttpPost(postUrl, string(postData), "application/json")
- if e != nil {
- err = fmt.Errorf("http post err: %v", e)
- return
- }
- if e = json.Unmarshal(result, &resp); e != nil {
- err = fmt.Errorf("resp json unmarshal err: %v", e)
- return
- }
- return
- }
|