12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package services
- import (
- "encoding/json"
- "eta/eta_index_lib/models"
- "eta/eta_index_lib/utils"
- "fmt"
- "github.com/rdlucklib/rdluck_tools/http"
- "net/url"
- )
- // GetEdbDataFromPb 获取Pb数据
- func GetEdbDataFromPb(edbCode, startDate, endDate, edbTerminalCode string) (item *models.EdbDataFromPb, err error) {
- /* if utils.Hz_Pb_Data_Url == `` {
- err = errors.New("彭博接口未配置")
- return
- }*/
- terminal, err := GetTerminal(utils.DATA_SOURCE_PB, edbTerminalCode)
- if err != nil {
- err = fmt.Errorf("获取彭博接口配置出错 Err: %s", err)
- return
- }
- if terminal.ServerUrl == "" {
- err = fmt.Errorf("彭博接口未配置")
- return
- }
- if edbTerminalCode == "" {
- // 设置指标与终端关系的缓存
- terminalCodeCacheKey := utils.CACHE_EDB_TERMINAL_CODE_URL + edbCode
- _ = utils.Rc.Put(terminalCodeCacheKey, terminal.TerminalCode, utils.GetTodayLastSecond())
- }
- edbCode = url.QueryEscape(edbCode)
- bpUrl := terminal.ServerUrl + `edbInfo/pb?EdbCode=%s&StartDate=%s&EndDate=%s`
- bpUrl = fmt.Sprintf(bpUrl, edbCode, startDate, endDate)
- utils.FileLog.Info("bpUrl:" + bpUrl)
- body, err := http.Get(bpUrl)
- if err != nil {
- utils.FileLog.Info("GetEdbDataByPb Err:" + err.Error())
- return
- }
- utils.FileLog.Info("GetEdbDataByPb result:" + string(body))
- item = new(models.EdbDataFromPb)
- err = json.Unmarshal(body, &item)
- if err != nil {
- utils.FileLog.Info("GetEdbDataByPb Unmarshal Err:" + err.Error())
- return
- }
- edbCode, _ = url.QueryUnescape(edbCode)
- return
- }
- // GetEdbDataFromPbFinance 获取Pb财务数据
- func GetEdbDataFromPbFinance(companyCode, edbCode, startDate, endDate, edbTerminalCode string) (item *models.EdbDataFromPb, err error) {
- /*if utils.Hz_Pb_Data_Url == `` {
- err = errors.New("彭博接口未配置")
- return
- }*/
- terminal, err := GetTerminal(utils.DATA_SOURCE_PB_FINANCE, edbTerminalCode)
- if err != nil {
- err = fmt.Errorf("获取彭博接口配置出错 Err: %s", err)
- return
- }
- if terminal.ServerUrl == "" {
- err = fmt.Errorf("彭博接口未配置")
- return
- }
- if edbTerminalCode == "" {
- // 设置指标与终端关系的缓存
- terminalCodeCacheKey := utils.CACHE_EDB_TERMINAL_CODE_URL + companyCode + "&&" + edbCode
- _ = utils.Rc.Put(terminalCodeCacheKey, terminal.TerminalCode, utils.GetTodayLastSecond())
- }
- companyCode = url.QueryEscape(companyCode)
- edbCode = url.QueryEscape(edbCode)
- bpUrl := terminal.ServerUrl + `edbInfo/pb/finance?CompanyCode=%s&EdbCode=%s&StartDate=%s&EndDate=%s`
- bpUrl = fmt.Sprintf(bpUrl, companyCode, edbCode, startDate, endDate)
- utils.FileLog.Info("bpUrl:" + bpUrl)
- body, err := http.Get(bpUrl)
- if err != nil {
- utils.FileLog.Info("GetEdbDataByPb Err:" + err.Error())
- return
- }
- utils.FileLog.Info("GetEdbDataByPb result:" + string(body))
- item = new(models.EdbDataFromPb)
- err = json.Unmarshal(body, &item)
- if err != nil {
- utils.FileLog.Info("GetEdbDataByPb Unmarshal Err:" + err.Error())
- return
- }
- edbCode, _ = url.QueryUnescape(edbCode)
- return
- }
|