1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package logic
- import (
- "errors"
- "eta/eta_index_lib/models"
- "eta/eta_index_lib/utils"
- "strconv"
- "time"
- )
- // RefreshBaseEdbInfo 刷新基础指标
- func RefreshBaseEdbInfo(edbInfo *models.EdbInfo, startDate string) (isHandling bool, errMsg string, err error) {
- cacheKey := utils.CACHE_EDB_DATA_REFRESH + strconv.Itoa(edbInfo.Source) + "_" + edbInfo.EdbCode
- if utils.Rc.IsExist(cacheKey) {
- isHandling = true
- return
- }
- utils.Rc.SetNX(cacheKey, 1, 1*time.Minute)
- defer func() {
- utils.Rc.Delete(cacheKey)
- }()
- switch edbInfo.Source {
- case utils.DATA_SOURCE_SCI:
- err = models.RefreshEdbDataFromSci(edbInfo.EdbInfoId, edbInfo.EdbCode, startDate)
- case utils.DATA_SOURCE_BAIINFO:
- err = models.RefreshEdbDataFromBaiinfo(edbInfo.EdbInfoId, edbInfo.EdbCode, startDate)
- case utils.DATA_SOURCE_MYSTEEL_CHEMICAL:
- err = models.RefreshEdbDataFromMysteelChemical(edbInfo.EdbInfoId, edbInfo.EdbCode, startDate)
- case utils.DATA_SOURCE_YS:
- err = models.RefreshEdbDataFromSmm(edbInfo.EdbInfoId, edbInfo.EdbCode, startDate)
- case utils.DATA_SOURCE_BLOOMBERG:
- err = models.RefreshEdbDataFromBloomberg(edbInfo.EdbInfoId, edbInfo.EdbCode, startDate)
- case utils.DATA_SOURCE_CCF:
- ccfOb := new(models.BaseFromCCF)
- err = ccfOb.Refresh(edbInfo.EdbInfoId, edbInfo.EdbCode, startDate)
- case utils.DATA_SOURCE_SCI_HQ:
- err = models.RefreshEdbDataFromSciHq(edbInfo.EdbInfoId, edbInfo.EdbCode, startDate)
- default:
- return
- }
- if err != nil && err.Error() != utils.ErrNoRow() {
- errMsg = "刷新指标信息失败!"
- err = errors.New("刷新指标信息失败 RefreshEdbDataFromSci,Err:" + err.Error())
- return
- }
- // 更新指标最大最小值
- if edbInfo.Source == utils.DATA_SOURCE_MYSTEEL_CHEMICAL {
- dataUpdateTime := time.Now().Format(utils.FormatDateTime)
- _, err, errMsg = models.UnifiedModifyEdbInfoMaxAndMinInfoDataUpdate(edbInfo, dataUpdateTime)
- if err != nil {
- return
- }
- } else {
- err, errMsg = models.UnifiedModifyEdbInfoMaxAndMinInfo(edbInfo)
- if err != nil {
- return
- }
- }
- // 更新ES
- go UpdateEs(edbInfo.EdbInfoId)
- return
- }
|