12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- package services
- import (
- "errors"
- "eta/eta_index_lib/models"
- "eta/eta_index_lib/utils"
- )
- // GetTerminal 获取终端信息
- func GetTerminal(source int, oldTerminalCode string) (edbTerminal *models.EdbTerminal, err error) {
- if source == utils.DATA_SOURCE_WIND {
- tmpConfig := new(models.EdbConfig)
- tmpConfig, err = models.GetConfigDetailByCode("wind_terminal_code")
- if err != nil && err.Error() != utils.ErrNoRow() {
- err = errors.New("获取配置的wind地址失败,err:" + err.Error())
- return
- }
- err = nil
- if tmpConfig != nil {
- oldTerminalCode = tmpConfig.ConfigValue
- //return
- }
- }
- if oldTerminalCode != "" {
- edbTerminal, err = models.GetEdbTerminalByCode(oldTerminalCode)
- if err != nil {
- return
- }
- return
- }
- // 配置中没有的话,那么就从分组获取,
- list, err := models.GetEdbCountGroupByTerminal(source)
- if err != nil {
- return
- }
- //windUrlNum := 0
- //获取对应的配置url
- terminalNumMap := make(map[string]int)
- for _, v := range list {
- terminalNumMap[v.TerminalCode] = v.Total
- }
- terminalList, err := models.GetEdbTerminalListBySource(source)
- if err != nil {
- return
- }
- if len(terminalList) == 0 {
- err = errors.New("终端地址未配置")
- return
- }
- num := 0
- edbTerminal = new(models.EdbTerminal)
- for _, v := range terminalList {
- tmpNum := terminalNumMap[v.TerminalCode]
- if edbTerminal.TerminalId == 0 {
- edbTerminal = v
- num = tmpNum
- } else if tmpNum < num {
- edbTerminal = v
- num = tmpNum
- }
- }
- if edbTerminal == nil {
- err = errors.New("获取配置的终端地址失败")
- return
- }
- /*if edbTerminal != nil {
- windUrl = edbTerminal.ServerUrl
- terminalCode = edbTerminal.TerminalCode
- }*/
- return
- }
- func GetFirstTerminal(source int, oldTerminalCode string) (edbTerminal *models.EdbTerminal, err error) {
- if oldTerminalCode != "" {
- edbTerminal, err = models.GetEdbTerminalByCode(oldTerminalCode)
- if err != nil {
- return
- }
- return
- }
- edbTerminal, err = models.GetEdbTerminalFirstBySource(source)
- if err != nil {
- if err.Error() == utils.ErrNoRow() {
- err = errors.New("终端未配置")
- return
- }
- return
- }
- return
- }
|