|
@@ -33,41 +33,6 @@ func EdbInfoRefreshAllFromBaseV2(edbInfoId int, refreshAll, isRefreshTop bool) (
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
-// EdbInfoRefreshAllFromBaseV3Bak 全部刷新指标(切换到edb_lib服务)
|
|
|
|
-// @author Roc
|
|
|
|
-// @datetime 2022-09-16 11:04:44
|
|
|
|
-// @description 将原有的单个指标刷新,调整为批量多个指标刷新
|
|
|
|
-// DeprecatedTime 2023-10-23 09:38:19废弃
|
|
|
|
-// Deprecated
|
|
|
|
-func EdbInfoRefreshAllFromBaseV3Bak(edbInfoIdList []int, refreshAll, isSync bool) (err error, isAsync bool) {
|
|
|
|
- var errmsg string
|
|
|
|
- defer func() {
|
|
|
|
- if err != nil {
|
|
|
|
- fmt.Println("EdbInfoRefreshAllFromBaseV2 Err:" + err.Error() + ";errmsg:" + errmsg)
|
|
|
|
- go alarm_msg.SendAlarmMsg("EdbInfoRefreshFromBaseV2,Err"+err.Error()+";errMsg:"+errmsg, 3)
|
|
|
|
- //go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "EdbInfoRefreshFromBase:"+errmsg, utils.EmailSendToUsers)
|
|
|
|
- }
|
|
|
|
- }()
|
|
|
|
-
|
|
|
|
- // 获取关联的基础指标
|
|
|
|
- newBaseEdbInfoArr, newBasePredictEdbInfoArr, newCalculateMap, newPredictCalculateMap, calculateArr, predictCalculateArr, err, errmsg := getRefreshEdbInfoListByIds(edbInfoIdList)
|
|
|
|
- if err != nil {
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- // 需要刷新的指标数量
|
|
|
|
- totalEdbInfo := len(newBaseEdbInfoArr) + len(calculateArr) + len(predictCalculateArr)
|
|
|
|
-
|
|
|
|
- if totalEdbInfo <= 20 || isSync {
|
|
|
|
- err = edbInfoRefreshAll(refreshAll, newBaseEdbInfoArr, newBasePredictEdbInfoArr, newCalculateMap, newPredictCalculateMap, calculateArr, predictCalculateArr)
|
|
|
|
- } else {
|
|
|
|
- isAsync = true
|
|
|
|
- go edbInfoRefreshAll(refreshAll, newBaseEdbInfoArr, newBasePredictEdbInfoArr, newCalculateMap, newPredictCalculateMap, calculateArr, predictCalculateArr)
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
// EdbInfoRefreshAllFromBaseV3
|
|
// EdbInfoRefreshAllFromBaseV3
|
|
//
|
|
//
|
|
// @Description: 全部刷新指标(切换到edb_lib服务)
|
|
// @Description: 全部刷新指标(切换到edb_lib服务)
|
|
@@ -319,19 +284,6 @@ func edbInfoRefreshAll(refreshAll bool, newBaseEdbInfoArr, newBasePredictEdbInfo
|
|
return fmt.Errorf("刷新失败, err:", errmsg)
|
|
return fmt.Errorf("刷新失败, err:", errmsg)
|
|
}
|
|
}
|
|
|
|
|
|
- //maxAndMinItem, err := data_manage.GetEdbInfoMaxAndMinInfo(source, edbCode)
|
|
|
|
- //if err != nil {
|
|
|
|
- // if utils.IsErrNoRow(err) { //找不到数据,那么就进入到下一条数据做处理
|
|
|
|
- // continue
|
|
|
|
- // }
|
|
|
|
- // return err
|
|
|
|
- //}
|
|
|
|
- //if maxAndMinItem != nil {
|
|
|
|
- // err = data_manage.ModifyEdbInfoMaxAndMinInfo(edbInfoId, maxAndMinItem)
|
|
|
|
- // if err != nil {
|
|
|
|
- // return err
|
|
|
|
- // }
|
|
|
|
- //}
|
|
|
|
fmt.Println("end newBaseEdbInfoArr:", bv, time.Now())
|
|
fmt.Println("end newBaseEdbInfoArr:", bv, time.Now())
|
|
}
|
|
}
|
|
|
|
|
|
@@ -748,427 +700,6 @@ func AddEdbInfo(secName, unit, frequency, noticeTime, mobile string, classifyId,
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
-//全部刷新指标
|
|
|
|
-//func EdbInfoRefreshAllFromBase(edbInfoId int) (err error) {
|
|
|
|
-// var errmsg string
|
|
|
|
-// defer func() {
|
|
|
|
-// if err != nil {
|
|
|
|
-// fmt.Println("EdbInfoRefreshAllFromBase Err:" + err.Error() + ";errmsg:" + errmsg)
|
|
|
|
-// go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "EdbInfoRefreshFromBase:"+errmsg, utils.EmailSendToUsers)
|
|
|
|
-// }
|
|
|
|
-// }()
|
|
|
|
-//
|
|
|
|
-// calculateList, err := data_manage.GetEdbInfoAllCalculate(edbInfoId)
|
|
|
|
-// if err != nil && !utils.IsErrNoRow(err) {
|
|
|
|
-// return errors.New("GetEdbInfoAllCalculate Err:" + err.Error())
|
|
|
|
-// }
|
|
|
|
-// baseEdbInfoArr := make([]*data_manage.EdbInfo, 0)
|
|
|
|
-// calculateInfoArr := make([]*data_manage.EdbInfo, 0)
|
|
|
|
-// baseEdbInfo, err := data_manage.GetEdbInfoById(edbInfoId)
|
|
|
|
-// if err != nil {
|
|
|
|
-// return errors.New("GetEdbInfoAllCalGetEdbInfoByIdr:" + err.Error())
|
|
|
|
-// }
|
|
|
|
-// baseEdbInfoArr = append(baseEdbInfoArr, baseEdbInfo)
|
|
|
|
-//
|
|
|
|
-// for _, v := range calculateList {
|
|
|
|
-// getBaseEdbInfoArr, getCalculateInfoArr, err := data_manage.GetRefreshEdbInfoFromBase(v.EdbInfoId, v.Source)
|
|
|
|
-// if err != nil {
|
|
|
|
-// fmt.Println("GetRefreshEdbInfoFromBase err:" + err.Error())
|
|
|
|
-// errmsg = "获取需要刷新的指标失败:Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// baseEdbInfoArr = append(baseEdbInfoArr, getBaseEdbInfoArr...)
|
|
|
|
-// calculateInfoArr = append(calculateInfoArr, getCalculateInfoArr...)
|
|
|
|
-// calculateInfoArr = append(calculateInfoArr, v)
|
|
|
|
-// }
|
|
|
|
-// //取重
|
|
|
|
-// newBaseEdbInfoArr := make([]*data_manage.EdbInfo, 0)
|
|
|
|
-// baseMap := make(map[int]int)
|
|
|
|
-// for _, v := range baseEdbInfoArr {
|
|
|
|
-// if _, ok := baseMap[v.EdbInfoId]; !ok {
|
|
|
|
-// newBaseEdbInfoArr = append(newBaseEdbInfoArr, v)
|
|
|
|
-// }
|
|
|
|
-// baseMap[v.EdbInfoId] = v.EdbInfoId
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// var calculateArr []int
|
|
|
|
-// newCalculateMap := make(map[int]*data_manage.EdbInfo)
|
|
|
|
-// for _, v := range calculateInfoArr {
|
|
|
|
-// if _, ok := newCalculateMap[v.EdbInfoId]; !ok {
|
|
|
|
-// calculateArr = append(calculateArr, v.EdbInfoId)
|
|
|
|
-// }
|
|
|
|
-// newCalculateMap[v.EdbInfoId] = v
|
|
|
|
-// }
|
|
|
|
-// sort.Ints(calculateArr)
|
|
|
|
-// var startDate string
|
|
|
|
-// for _, bv := range newBaseEdbInfoArr {
|
|
|
|
-// source := bv.Source
|
|
|
|
-// edbInfoId := bv.EdbInfoId
|
|
|
|
-// edbCode := bv.EdbCode
|
|
|
|
-//
|
|
|
|
-// sTime, err := time.Parse(utils.FormatDate, bv.StartDate)
|
|
|
|
-// if err != nil {
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// startDate = sTime.Format(utils.FormatDate)
|
|
|
|
-//
|
|
|
|
-// if source == utils.DATA_SOURCE_THS {
|
|
|
|
-// endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
|
|
|
|
-// err = data_manage.RefreshAllEdbDataByThs(edbInfoId, source, edbCode, startDate, endDate)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshAllEdbDataByThs Err:" + err.Error()
|
|
|
|
-// }
|
|
|
|
-// } else if source == utils.DATA_SOURCE_WIND {
|
|
|
|
-// endDate := time.Now().Format(utils.FormatDate)
|
|
|
|
-// err = data_manage.RefreshAllEdbDataByWind(edbInfoId, source, edbCode, startDate, endDate)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshAllEdbDataByWind Err:" + err.Error()
|
|
|
|
-// }
|
|
|
|
-// } else if source == utils.DATA_SOURCE_PB {
|
|
|
|
-// startDate := sTime.Format(utils.FormatDateUnSpace)
|
|
|
|
-// endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDateUnSpace)
|
|
|
|
-// err = data_manage.RefreshAllEdbDataByPb(edbInfoId, source, edbCode, startDate, endDate)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshAllEdbDataByPb Err:" + err.Error()
|
|
|
|
-// }
|
|
|
|
-// } else if source == utils.DATA_SOURCE_MANUAL {
|
|
|
|
-// endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
|
|
|
|
-// err = data_manage.RefreshAllEdbDataByManual(edbInfoId, source, edbCode, startDate, endDate)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshAllEdbDataByManual Err:" + err.Error()
|
|
|
|
-// }
|
|
|
|
-// } else if source == utils.DATA_SOURCE_LZ {
|
|
|
|
-// endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
|
|
|
|
-// err = data_manage.RefreshAllEdbDataByLz(edbInfoId, source, edbCode, startDate, endDate)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshAllEdbDataByLz Err:" + err.Error()
|
|
|
|
-// }
|
|
|
|
-// } else if source == utils.DATA_SOURCE_YS {
|
|
|
|
-// endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
|
|
|
|
-// err = data_manage.RefreshAllEdbDataByYs(edbInfoId, source, edbCode, startDate, endDate)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshAllEdbDataByYs Err:" + err.Error()
|
|
|
|
-// }
|
|
|
|
-// } else if source == utils.DATA_SOURCE_GL {
|
|
|
|
-// endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
|
|
|
|
-// err = data_manage.RefreshAllEdbDataByGl(edbInfoId, source, edbCode, startDate, endDate)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshAllEdbDataByGl Err:" + err.Error()
|
|
|
|
-// }
|
|
|
|
-// } else if source == utils.DATA_SOURCE_ZZ {
|
|
|
|
-// endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
|
|
|
|
-// err = data_manage.RefreshAllEdbDataByZz(edbInfoId, source, edbCode, startDate, endDate)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshAllEdbDataByZz Err:" + err.Error()
|
|
|
|
-// }
|
|
|
|
-// } else if source == utils.DATA_SOURCE_DL {
|
|
|
|
-// endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
|
|
|
|
-// err = data_manage.RefreshAllEdbDataByDl(edbInfoId, source, edbCode, startDate, endDate)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshAllEdbDataByDl Err:" + err.Error()
|
|
|
|
-// }
|
|
|
|
-// } else if source == utils.DATA_SOURCE_SH {
|
|
|
|
-// endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
|
|
|
|
-// err = data_manage.RefreshAllEdbDataBySh(edbInfoId, source, edbCode, startDate, endDate)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshAllEdbDataBySh Err:" + err.Error()
|
|
|
|
-// }
|
|
|
|
-// } else if source == utils.DATA_SOURCE_CFFEX {
|
|
|
|
-// endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
|
|
|
|
-// err = data_manage.RefreshAllEdbDataByCffex(edbInfoId, source, edbCode, startDate, endDate)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshAllEdbDataByCffex Err:" + err.Error()
|
|
|
|
-// }
|
|
|
|
-// } else if source == utils.DATA_SOURCE_SHFE {
|
|
|
|
-// endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
|
|
|
|
-// err = data_manage.RefreshAllEdbDataByShfe(edbInfoId, source, edbCode, startDate, endDate)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshAllEdbDataByShfe Err:" + err.Error()
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// maxAndMinItem, err := data_manage.GetEdbInfoMaxAndMinInfo(source, edbCode)
|
|
|
|
-// if err != nil {
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// if maxAndMinItem != nil {
|
|
|
|
-// err = data_manage.ModifyEdbInfoMaxAndMinInfo(edbInfoId, maxAndMinItem)
|
|
|
|
-// if err != nil {
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-// fmt.Println("end newBaseEdbInfoArr:", bv, time.Now())
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// endDate := "" //计算指标不限制日期
|
|
|
|
-// //刷新相关计算指标
|
|
|
|
-// for _, v := range calculateArr {
|
|
|
|
-// edbInfo := newCalculateMap[v]
|
|
|
|
-// if edbInfo == nil {
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// edbInfoId := edbInfo.EdbInfoId
|
|
|
|
-// source := edbInfo.Source
|
|
|
|
-// edbCode := edbInfo.EdbCode
|
|
|
|
-//
|
|
|
|
-// if source == utils.DATA_SOURCE_CALCULATE {
|
|
|
|
-// startDate = edbInfo.StartDate
|
|
|
|
-// sTime, err := time.Parse(utils.FormatDate, edbInfo.EndDate)
|
|
|
|
-// if err != nil {
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// startDate = sTime.Format(utils.FormatDate)
|
|
|
|
-//
|
|
|
|
-// var edbInfoIdBytes []string
|
|
|
|
-// calculateMap, err := data_manage.GetEdbInfoCalculateDetail(edbInfoId, edbInfo.Source)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "GetEdbInfoCalculateDetail Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// var formulaStr string
|
|
|
|
-// edbInfoList := make([]*data_manage.EdbInfo, 0)
|
|
|
|
-//
|
|
|
|
-// for _, v := range calculateMap {
|
|
|
|
-// formulaStr += v.FromTag + ","
|
|
|
|
-// edbInfoIdBytes = append(edbInfoIdBytes, v.FromTag)
|
|
|
|
-// edbInfo, _ := data_manage.GetEdbInfoById(v.FromEdbInfoId)
|
|
|
|
-// edbInfoList = append(edbInfoList, edbInfo)
|
|
|
|
-// }
|
|
|
|
-// err = data_manage.RefreshAllCalculate(edbInfoList, int(edbInfoId), source, edbInfo.EdbCode, edbInfo.CalculateFormula, startDate, endDate, edbInfoIdBytes)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshCalculate Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// } else if source == utils.DATA_SOURCE_CALCULATE_LJZZY { //刷新累计值转月值
|
|
|
|
-// calculateLjzzy, err := data_manage.GetEdbInfoCalculateLjzzyDetail(edbInfoId)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "GetEdbInfoCalculateLjzzyDetail Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// fromEdbInfo, err := data_manage.GetEdbInfoById(calculateLjzzy.FromEdbInfoId)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "GetEdbInfoById Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// startDate = edbInfo.StartDate
|
|
|
|
-// endDate = time.Now().Format(utils.FormatDate)
|
|
|
|
-// err = data_manage.RefreshAllCalculateLjzzy(edbInfoId, source, fromEdbInfo, calculateLjzzy.EdbCode, startDate, endDate)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshAllCalculateLjzzy Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// } else if source == utils.DATA_SOURCE_CALCULATE_TBZ { //刷新同比值
|
|
|
|
-// calculateTbz, err := data_manage.GetEdbInfoCalculateTbzDetail(edbInfoId)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "GetEdbInfoById Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// startDate = edbInfo.StartDate
|
|
|
|
-// endDate = time.Now().Format(utils.FormatDate)
|
|
|
|
-// err = data_manage.RefreshAllCalculateTbz(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshAllCalculateTbz Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// } else if source == utils.DATA_SOURCE_CALCULATE_TCZ { //同差值
|
|
|
|
-// calculateTcz, err := data_manage.GetEdbInfoCalculateTczDetail(edbInfoId)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "GetEdbInfoCalculateTczDetail Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTcz.FromEdbInfoId)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "GetEdbInfoById Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// startDate = edbInfo.StartDate
|
|
|
|
-// endDate = time.Now().Format(utils.FormatDate)
|
|
|
|
-// err = data_manage.RefreshAllCalculateTcz(edbInfoId, source, fromEdbInfo, calculateTcz.EdbCode, startDate, endDate)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshCalculateTcz Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// } else if source == utils.DATA_SOURCE_CALCULATE_NSZYDPJJS { //N数值移动平均计算
|
|
|
|
-// calculateNszydpjjs, err := data_manage.GetEdbInfoCalculateNszydpjjsDetail(edbInfoId)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "GetEdbInfoCalculateNszydpjjsDetail Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// fromEdbInfo, err := data_manage.GetEdbInfoById(calculateNszydpjjs.FromEdbInfoId)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "GetEdbInfoById Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
|
|
|
|
-// startDate = edbInfo.StartDate
|
|
|
|
-// err = data_manage.RefreshAllCalculateNszydpjjs(edbInfoId, edbInfo.Source, formulaInt, fromEdbInfo, calculateNszydpjjs.EdbCode, startDate)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshCalculateNszydpjjs Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// } else if source == utils.DATA_SOURCE_CALCULATE_HBZ { //刷新环比值
|
|
|
|
-// calculateTbz, err := data_manage.GetEdbInfoCalculateHbzDetail(edbInfoId)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "GetEdbInfoCalculateHbzDetail Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "GetEdbInfoById Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// startDate = edbInfo.StartDate
|
|
|
|
-// endDate = time.Now().Format(utils.FormatDate)
|
|
|
|
-// formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
|
|
|
|
-// err = data_manage.RefreshAllCalculateHbz(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate, formulaInt)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshAllCalculateHbz Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// } else if source == utils.DATA_SOURCE_CALCULATE_HCZ { //刷新环差值
|
|
|
|
-// calculateTbz, err := data_manage.GetEdbInfoCalculateHczDetail(edbInfoId)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "GetEdbInfoCalculateHczDetail Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "GetEdbInfoById Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// startDate = edbInfo.StartDate
|
|
|
|
-// endDate = time.Now().Format(utils.FormatDate)
|
|
|
|
-// formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
|
|
|
|
-// err = data_manage.RefreshAllCalculateHcz(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate, formulaInt)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshAllCalculateHcz Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// } else if source == utils.DATA_SOURCE_CALCULATE_BP { //刷新变频
|
|
|
|
-// calculateTbz, err := data_manage.GetEdbInfoCalculateBpDetail(edbInfoId)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "GetEdbInfoById Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// startDate = edbInfo.StartDate
|
|
|
|
-// endDate = time.Now().Format(utils.FormatDate)
|
|
|
|
-// err = data_manage.RefreshAllCalculateBp(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshAllCalculateBp Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-//<<<<<<< HEAD
|
|
|
|
-// } else if source == utils.DATA_SOURCE_CALCULATE_TIME_SHIFT {
|
|
|
|
-// calculate, err := data_manage.GetEdbInfoCalculateMappingDetail(edbInfoId)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// fromEdbInfo, err := data_manage.GetEdbInfoById(calculate.FromEdbInfoId)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "GetEdbInfoById Err:" + err.Error()
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// startDate = edbInfo.StartDate
|
|
|
|
-// endDate = time.Now().Format(utils.FormatDate)
|
|
|
|
-// formulaInt, _ := strconv.Atoi(calculate.CalculateFormula)
|
|
|
|
-// err = data_manage.RefreshAllCalculateTimeShift(edbInfoId, source, formulaInt, calculate.MoveType, fromEdbInfo, calculate.EdbCode, startDate, endDate, calculate.MoveFrequency)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshAllCalculateTimeShift Err:" + err.Error()
|
|
|
|
-//=======
|
|
|
|
-// } else if source == utils.DATA_SOURCE_CALCULATE_ZJPJ { //刷新直接拼接
|
|
|
|
-// err = data_manage.RefreshAllCalculateZjpj(edbInfo)
|
|
|
|
-// if err != nil {
|
|
|
|
-// errmsg = "RefreshAllCalculateBp Err:" + err.Error()
|
|
|
|
-//>>>>>>> 884fd669cc9e91923781680e1890a519c012d38e
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// maxAndMinItem, err := data_manage.GetEdbInfoMaxAndMinInfo(source, edbCode)
|
|
|
|
-// if err != nil {
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// if maxAndMinItem != nil {
|
|
|
|
-// err = data_manage.ModifyEdbInfoMaxAndMinInfo(edbInfoId, maxAndMinItem)
|
|
|
|
-// if err != nil {
|
|
|
|
-// return err
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-// fmt.Println("end calculateArr:", v, time.Now())
|
|
|
|
-// }
|
|
|
|
-// return err
|
|
|
|
-//}
|
|
|
|
-//
|
|
|
|
-//// AddEdbInfo 新增手工指标数据
|
|
|
|
-//func AddEdbInfo(secName, unit, frequency, noticeTime, mobile string, classifyId, userId int) (err error) {
|
|
|
|
-// tradeCode, err := models.GetMaxTradeCode()
|
|
|
|
-// if err != nil {
|
|
|
|
-// return
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// if tradeCode == "" {
|
|
|
|
-// err = errors.New("最大编码为空")
|
|
|
|
-// return
|
|
|
|
-// }
|
|
|
|
-// maxTradeCode, err := utils.GetMaxTradeCode(tradeCode)
|
|
|
|
-// if err != nil {
|
|
|
|
-// err = errors.New("获取编码信息失败,Err:" + err.Error())
|
|
|
|
-// return
|
|
|
|
-// }
|
|
|
|
-// if maxTradeCode == "" {
|
|
|
|
-// err = errors.New("编码为空,请联系技术")
|
|
|
|
-// return
|
|
|
|
-// }
|
|
|
|
-// //判断指标名称是否为空
|
|
|
|
-// if secName == "" {
|
|
|
|
-// err = errors.New("指标名称不能为空")
|
|
|
|
-// return
|
|
|
|
-// }
|
|
|
|
-// item, err := models.GetEdbinfoBySecName(secName)
|
|
|
|
-// if err != nil && !utils.IsErrNoRow(err) {
|
|
|
|
-// err = errors.New("获取信息失败,Err:" + err.Error())
|
|
|
|
-// return
|
|
|
|
-// }
|
|
|
|
-// if item != nil {
|
|
|
|
-// err = errors.New("指标名称已存在")
|
|
|
|
-// return
|
|
|
|
-// }
|
|
|
|
-// err = models.AddEdbinfo(maxTradeCode, secName, unit, "手动", frequency, noticeTime, classifyId, userId)
|
|
|
|
-// if err != nil {
|
|
|
|
-// err = errors.New("新增失败,Err:" + err.Error())
|
|
|
|
-// return
|
|
|
|
-// }
|
|
|
|
-// err = models.AddEdbinfoUser(maxTradeCode, mobile)
|
|
|
|
-// return
|
|
|
|
-//}
|
|
|
|
-//
|
|
|
|
-//
|
|
|
|
-//
|
|
|
|
-//
|
|
|
|
-
|
|
|
|
-// AddOrEditAllEdbInfoToEs 修复ES中的指标
|
|
|
|
-func AddOrEditAllEdbInfoToEs() {
|
|
|
|
- //添加es
|
|
|
|
- total, itemInfoList, _ := data_manage.GetEdbInfoFilterList("", []interface{}{}, 0, 100000)
|
|
|
|
- for k, itemInfo := range itemInfoList {
|
|
|
|
- itemInfo.ConvertToResp()
|
|
|
|
- elastic.EsAddOrEditEdbInfoData(utils.DATA_INDEX_NAME, strconv.Itoa(itemInfo.EdbInfoId), itemInfo)
|
|
|
|
- fmt.Println("剩余", int(total)-k-1, "条数据")
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
// AddOrEditEdbInfoToEs 添加/修改ES中的指标
|
|
// AddOrEditEdbInfoToEs 添加/修改ES中的指标
|
|
func AddOrEditEdbInfoToEs(edbInfoId int) {
|
|
func AddOrEditEdbInfoToEs(edbInfoId int) {
|
|
//添加es
|
|
//添加es
|
|
@@ -1249,216 +780,6 @@ func GetLeadUnitEn(unit string) (unitEn string) {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
-// getRefreshEdbInfoList 获取待更新的指标(普通基础指标、普通运算指标,预测运算指标)
|
|
|
|
-//func getRefreshEdbInfoList(edbInfoId int) (newBaseEdbInfoArr []*data_manage.EdbInfo, newCalculateMap, newPredictCalculateMap map[int]*data_manage.EdbInfo, calculateArr, predictCalculateArr []int, err error, errMsg string) {
|
|
|
|
-// calculateList, err := data_manage.GetEdbInfoAllCalculate(edbInfoId)
|
|
|
|
-// if err != nil && !utils.IsErrNoRow(err) {
|
|
|
|
-// err = errors.New("GetEdbInfoAllCalculate Err:" + err.Error())
|
|
|
|
-// return
|
|
|
|
-// }
|
|
|
|
-// // 获取指标信息
|
|
|
|
-// baseEdbInfo, err := data_manage.GetEdbInfoById(edbInfoId)
|
|
|
|
-// if err != nil {
|
|
|
|
-// err = errors.New("GetEdbInfoAllCalGetEdbInfoByIdr:" + err.Error())
|
|
|
|
-// return
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// baseEdbInfoArr := make([]*data_manage.EdbInfo, 0) // 基础普通指标
|
|
|
|
-// calculateInfoArr := make([]*data_manage.EdbInfo, 0) //基础运算指标
|
|
|
|
-// basePredictEdbInfoArr := make([]*data_manage.EdbInfo, 0) // 预测普通指标
|
|
|
|
-// predictCalculateInfoArr := make([]*data_manage.EdbInfo, 0) //预测运算指标
|
|
|
|
-//
|
|
|
|
-// if baseEdbInfo.EdbInfoType == 0 { //普通指标
|
|
|
|
-// switch baseEdbInfo.EdbType {
|
|
|
|
-// case 1: //基础指标
|
|
|
|
-// baseEdbInfoArr = append(baseEdbInfoArr, baseEdbInfo)
|
|
|
|
-// case 2: //计算指标
|
|
|
|
-// calculateList = append(calculateList, baseEdbInfo)
|
|
|
|
-// }
|
|
|
|
-// } else { //预测指标
|
|
|
|
-// switch baseEdbInfo.EdbType {
|
|
|
|
-// case 1: //基础指标
|
|
|
|
-// basePredictEdbInfoArr = append(basePredictEdbInfoArr, baseEdbInfo)
|
|
|
|
-// case 2: //计算指标
|
|
|
|
-// predictCalculateInfoArr = append(predictCalculateInfoArr, baseEdbInfo)
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// // 计算指标
|
|
|
|
-// for _, v := range calculateList {
|
|
|
|
-// getBaseEdbInfoArr, getCalculateInfoArr, tmpErr := data_manage.GetRefreshEdbInfoFromBase(v.EdbInfoId, v.Source)
|
|
|
|
-// if tmpErr != nil {
|
|
|
|
-// err = tmpErr
|
|
|
|
-// fmt.Println("GetRefreshEdbInfoFromBase err:" + err.Error())
|
|
|
|
-// errMsg = "获取需要刷新的指标失败:Err:" + err.Error()
|
|
|
|
-// return
|
|
|
|
-// }
|
|
|
|
-// for _, tmpEdbInfo := range getBaseEdbInfoArr {
|
|
|
|
-// switch tmpEdbInfo.EdbInfoType {
|
|
|
|
-// case 0: //普通基础指标
|
|
|
|
-// baseEdbInfoArr = append(baseEdbInfoArr, tmpEdbInfo)
|
|
|
|
-// case 1: //预测基础指标
|
|
|
|
-// basePredictEdbInfoArr = append(basePredictEdbInfoArr, tmpEdbInfo)
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// for _, tmpEdbInfo := range getCalculateInfoArr {
|
|
|
|
-// switch tmpEdbInfo.EdbInfoType {
|
|
|
|
-// case 0: //普通运算指标
|
|
|
|
-// calculateInfoArr = append(calculateInfoArr, tmpEdbInfo)
|
|
|
|
-// case 1: //预测运算指标
|
|
|
|
-// predictCalculateInfoArr = append(predictCalculateInfoArr, tmpEdbInfo)
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-// switch v.EdbInfoType {
|
|
|
|
-// case 0: //普通运算指标
|
|
|
|
-// calculateInfoArr = append(calculateInfoArr, v)
|
|
|
|
-// case 1: //预测运算指标
|
|
|
|
-// predictCalculateInfoArr = append(predictCalculateInfoArr, v)
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// // 预测计算指标
|
|
|
|
-// for _, v := range predictCalculateInfoArr {
|
|
|
|
-// getBaseEdbInfoArr, getCalculateInfoArr, tmpErr := data_manage.GetRefreshEdbInfoFromBase(v.EdbInfoId, v.Source)
|
|
|
|
-// if tmpErr != nil {
|
|
|
|
-// err = tmpErr
|
|
|
|
-// fmt.Println("GetRefreshEdbInfoFromBase err:" + err.Error())
|
|
|
|
-// errMsg = "获取需要刷新的指标失败:Err:" + err.Error()
|
|
|
|
-// return
|
|
|
|
-// }
|
|
|
|
-// for _, tmpEdbInfo := range getBaseEdbInfoArr {
|
|
|
|
-// switch tmpEdbInfo.EdbInfoType {
|
|
|
|
-// case 0: //普通基础指标
|
|
|
|
-// baseEdbInfoArr = append(baseEdbInfoArr, tmpEdbInfo)
|
|
|
|
-// case 1: //预测基础指标
|
|
|
|
-// basePredictEdbInfoArr = append(basePredictEdbInfoArr, tmpEdbInfo)
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// for _, tmpEdbInfo := range getCalculateInfoArr {
|
|
|
|
-// switch tmpEdbInfo.EdbInfoType {
|
|
|
|
-// case 0: //普通运算指标
|
|
|
|
-// calculateInfoArr = append(calculateInfoArr, tmpEdbInfo)
|
|
|
|
-// case 1: //预测运算指标
|
|
|
|
-// predictCalculateInfoArr = append(predictCalculateInfoArr, tmpEdbInfo)
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-// switch v.EdbInfoType {
|
|
|
|
-// case 0: //普通运算指标
|
|
|
|
-// calculateInfoArr = append(calculateInfoArr, v)
|
|
|
|
-// case 1: //预测运算指标
|
|
|
|
-// predictCalculateInfoArr = append(predictCalculateInfoArr, v)
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// // 第一次的计算指标map
|
|
|
|
-// newCalculateMap = make(map[int]*data_manage.EdbInfo)
|
|
|
|
-// for _, v := range calculateInfoArr {
|
|
|
|
-// if _, ok := newCalculateMap[v.EdbInfoId]; !ok {
|
|
|
|
-// calculateArr = append(calculateArr, v.EdbInfoId)
|
|
|
|
-// }
|
|
|
|
-// newCalculateMap[v.EdbInfoId] = v
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// // 基础预测指标
|
|
|
|
-// if len(basePredictEdbInfoArr) > 0 {
|
|
|
|
-// basePredictEdbInfoIdList := make([]int, 0)
|
|
|
|
-// for _, v := range basePredictEdbInfoArr {
|
|
|
|
-// basePredictEdbInfoIdList = append(basePredictEdbInfoIdList, v.EdbInfoId)
|
|
|
|
-// }
|
|
|
|
-// baseEdbInfoList, tmpErr := data_manage.GetPredictEdbInfoAllCalculate(basePredictEdbInfoIdList)
|
|
|
|
-// if tmpErr != nil {
|
|
|
|
-// err = tmpErr
|
|
|
|
-// return
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// tmpCalculateList := make([]*data_manage.EdbInfo, 0)
|
|
|
|
-// for _, v := range baseEdbInfoList {
|
|
|
|
-// switch v.EdbType {
|
|
|
|
-// case 1:
|
|
|
|
-// baseEdbInfoArr = append(baseEdbInfoArr, v)
|
|
|
|
-// case 2:
|
|
|
|
-// // 如果不在第一次里面,那么在第二次 刷新预测指标的时候 需要加进去
|
|
|
|
-// if _, ok := newCalculateMap[v.EdbInfoId]; !ok {
|
|
|
|
-// tmpCalculateList = append(tmpCalculateList, v)
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// // 这里是查询预测指标用到的 普通计算指标
|
|
|
|
-// for _, v := range tmpCalculateList {
|
|
|
|
-// getBaseEdbInfoArr, getCalculateInfoArr, tmpErr := data_manage.GetRefreshEdbInfoFromBase(v.EdbInfoId, v.Source)
|
|
|
|
-// if tmpErr != nil {
|
|
|
|
-// err = tmpErr
|
|
|
|
-// fmt.Println("GetRefreshEdbInfoFromBase err:" + err.Error())
|
|
|
|
-// errMsg = "获取需要刷新的指标失败:Err:" + err.Error()
|
|
|
|
-// return
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// // 基础指标
|
|
|
|
-// for _, tmpEdbInfo := range getBaseEdbInfoArr {
|
|
|
|
-// switch tmpEdbInfo.EdbInfoType {
|
|
|
|
-// case 0: //普通基础指标
|
|
|
|
-// baseEdbInfoArr = append(baseEdbInfoArr, tmpEdbInfo)
|
|
|
|
-// case 1: //预测基础指标
|
|
|
|
-// basePredictEdbInfoArr = append(basePredictEdbInfoArr, tmpEdbInfo)
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// // 计算指标
|
|
|
|
-// for _, tmpEdbInfo := range getCalculateInfoArr {
|
|
|
|
-// switch tmpEdbInfo.EdbInfoType {
|
|
|
|
-// case 0: //普通运算指标
|
|
|
|
-// calculateInfoArr = append(calculateInfoArr, tmpEdbInfo)
|
|
|
|
-// case 1: //预测运算指标
|
|
|
|
-// predictCalculateInfoArr = append(predictCalculateInfoArr, tmpEdbInfo)
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-// switch v.EdbInfoType {
|
|
|
|
-// case 0: //普通运算指标
|
|
|
|
-// calculateInfoArr = append(calculateInfoArr, v)
|
|
|
|
-// case 1: //预测运算指标
|
|
|
|
-// predictCalculateInfoArr = append(predictCalculateInfoArr, v)
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// // 第二次计算指标的map
|
|
|
|
-// for _, v := range calculateInfoArr {
|
|
|
|
-// if _, ok := newCalculateMap[v.EdbInfoId]; !ok {
|
|
|
|
-// calculateArr = append(calculateArr, v.EdbInfoId)
|
|
|
|
-// }
|
|
|
|
-// newCalculateMap[v.EdbInfoId] = v
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// // 普通基础指标去重
|
|
|
|
-// newBaseEdbInfoArr = make([]*data_manage.EdbInfo, 0)
|
|
|
|
-// baseMap := make(map[int]int)
|
|
|
|
-// for _, v := range baseEdbInfoArr {
|
|
|
|
-// if _, ok := baseMap[v.EdbInfoId]; !ok {
|
|
|
|
-// newBaseEdbInfoArr = append(newBaseEdbInfoArr, v)
|
|
|
|
-// }
|
|
|
|
-// baseMap[v.EdbInfoId] = v.EdbInfoId
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// // 普通计算指标的id
|
|
|
|
-// sort.Ints(calculateArr)
|
|
|
|
-//
|
|
|
|
-// // 预测计算指标去重
|
|
|
|
-// newPredictCalculateMap = make(map[int]*data_manage.EdbInfo)
|
|
|
|
-// for _, v := range predictCalculateInfoArr {
|
|
|
|
-// if _, ok := newPredictCalculateMap[v.EdbInfoId]; !ok {
|
|
|
|
-// predictCalculateArr = append(predictCalculateArr, v.EdbInfoId)
|
|
|
|
-// }
|
|
|
|
-// newPredictCalculateMap[v.EdbInfoId] = v
|
|
|
|
-// }
|
|
|
|
-// // 预测计算指标的id
|
|
|
|
-// sort.Ints(predictCalculateArr)
|
|
|
|
-//
|
|
|
|
-// return
|
|
|
|
-//}
|
|
|
|
-
|
|
|
|
// getRefreshEdbInfoList 获取待更新的指标(普通基础指标、普通运算指标,预测运算指标)
|
|
// getRefreshEdbInfoList 获取待更新的指标(普通基础指标、普通运算指标,预测运算指标)
|
|
func getRefreshEdbInfoListByIds(edbInfoIdList []int) (newBaseEdbInfoArr, newBasePredictEdbInfoArr []*data_manage.EdbInfo, newCalculateMap, newPredictCalculateMap map[int]*data_manage.EdbInfo, calculateArr, predictCalculateArr []int, err error, errMsg string) {
|
|
func getRefreshEdbInfoListByIds(edbInfoIdList []int) (newBaseEdbInfoArr, newBasePredictEdbInfoArr []*data_manage.EdbInfo, newCalculateMap, newPredictCalculateMap map[int]*data_manage.EdbInfo, calculateArr, predictCalculateArr []int, err error, errMsg string) {
|
|
calculateList, err := data_manage.GetEdbInfoAllCalculateByEdbInfoIdList(edbInfoIdList)
|
|
calculateList, err := data_manage.GetEdbInfoAllCalculateByEdbInfoIdList(edbInfoIdList)
|
|
@@ -2572,26 +1893,6 @@ func BatchRefreshEdbByEdbIds(edbIdList []int, redisKey string, refreshKeys []str
|
|
// 关联指标过多的时候, 异步刷新
|
|
// 关联指标过多的时候, 异步刷新
|
|
if totalEdbInfo > 20 {
|
|
if totalEdbInfo > 20 {
|
|
syncing = true
|
|
syncing = true
|
|
-
|
|
|
|
- //go func() {
|
|
|
|
- // defer func() {
|
|
|
|
- // if err != nil {
|
|
|
|
- // alarm_msg.SendAlarmMsg("BatchRefreshEdbByEdbIds, ErrMsg: "+err.Error(), 3)
|
|
|
|
- // }
|
|
|
|
- // }()
|
|
|
|
- //
|
|
|
|
- // err = edbInfoRefreshAll(false, newBaseEdbInfoArr, newBasePredictEdbInfoArr, newCalculateMap, newPredictCalculateMap, calculateArr, predictCalculateArr)
|
|
|
|
- //
|
|
|
|
- // if redisKey != `` {
|
|
|
|
- // _ = utils.Rc.Delete(redisKey)
|
|
|
|
- // }
|
|
|
|
- // if len(refreshKeys) > 0 {
|
|
|
|
- // for _, v := range refreshKeys {
|
|
|
|
- // _ = utils.Rc.Delete(v)
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
- //}()
|
|
|
|
-
|
|
|
|
// 加入队列刷新
|
|
// 加入队列刷新
|
|
var refreshItem EdbQueueRefreshReq
|
|
var refreshItem EdbQueueRefreshReq
|
|
refreshItem.RefreshKey = redisKey
|
|
refreshItem.RefreshKey = redisKey
|
|
@@ -2620,113 +1921,6 @@ func BatchRefreshEdbByEdbIds(edbIdList []int, redisKey string, refreshKeys []str
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
-// EdbInfoSmmApiAdd 添加指标到指标库
|
|
|
|
-func EdbInfoSmmApiAdd(item *data_manage.EdbInfo) (edbInfo *data_manage.EdbInfo, err error, errMsg string, isSendEmail bool) {
|
|
|
|
- isSendEmail = true
|
|
|
|
- //判断指标名称是否存在
|
|
|
|
- var condition string
|
|
|
|
- var pars []interface{}
|
|
|
|
-
|
|
|
|
- condition += " AND edb_name=? "
|
|
|
|
- pars = append(pars, item.EdbName)
|
|
|
|
-
|
|
|
|
- count, err := data_manage.GetEdbInfoCountByCondition(condition, pars)
|
|
|
|
- if err != nil {
|
|
|
|
- errMsg = "判断指标名称是否存在失败"
|
|
|
|
- err = errors.New("判断指标名称是否存在失败,Err:" + err.Error())
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if count > 0 {
|
|
|
|
- errMsg = "指标名称已存在,请重新填写"
|
|
|
|
- err = errors.New(errMsg)
|
|
|
|
- isSendEmail = false
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- source := item.Source
|
|
|
|
-
|
|
|
|
- edbInfo = new(data_manage.EdbInfo)
|
|
|
|
- edbInfo.Source = source
|
|
|
|
-
|
|
|
|
- var sourceName string
|
|
|
|
- edbSource := data_manage.GetEdbSourceBySourceId(source)
|
|
|
|
- if edbSource != nil {
|
|
|
|
- sourceName = edbSource.SourceName
|
|
|
|
- }
|
|
|
|
- if sourceName == "" {
|
|
|
|
- errMsg = "指标来源异常"
|
|
|
|
- err = errors.New(errMsg)
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- edbInfo.SourceName = sourceName
|
|
|
|
-
|
|
|
|
- edbType := 1 //基础指标
|
|
|
|
- if source == utils.DATA_SOURCE_STOCK_PLANT {
|
|
|
|
- edbType = 2 //计算指标
|
|
|
|
- }
|
|
|
|
- //从缓存中获取
|
|
|
|
- serverUrl := ``
|
|
|
|
- if edbInfo.Source == utils.DATA_SOURCE_WIND {
|
|
|
|
- windCacheKey := utils.CACHE_WIND_URL + ":" + item.EdbCode
|
|
|
|
- serverUrl, _ = utils.Rc.RedisString(windCacheKey)
|
|
|
|
- if serverUrl == `` {
|
|
|
|
- if len(utils.Hz_Data_WIND_Url_List) >= 1 {
|
|
|
|
- serverUrl = utils.Hz_Data_WIND_Url_List[len(utils.Hz_Data_WIND_Url_List)-1] //默认是最后一个服务器地址
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- //获取该层级下最大的排序数
|
|
|
|
- maxSort, err := GetEdbClassifyMaxSort(item.ClassifyId, 0)
|
|
|
|
- if err != nil {
|
|
|
|
- errMsg = "获取失败"
|
|
|
|
- err = errors.New("查询排序信息失败,Err:" + err.Error())
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- edbInfo.EdbCode = item.EdbCode
|
|
|
|
- edbInfo.EdbName = item.EdbName
|
|
|
|
- edbInfo.EdbNameSource = item.EdbName
|
|
|
|
- edbInfo.Frequency = item.Frequency
|
|
|
|
- edbInfo.Unit = item.Unit
|
|
|
|
- edbInfo.ClassifyId = item.ClassifyId
|
|
|
|
- edbInfo.SysUserId = item.SysUserId
|
|
|
|
- edbInfo.SysUserRealName = item.SysUserRealName
|
|
|
|
- edbInfo.CreateTime = time.Now()
|
|
|
|
- edbInfo.ModifyTime = time.Now()
|
|
|
|
- edbInfo.ServerUrl = serverUrl
|
|
|
|
- edbInfo.Sort = maxSort + 1
|
|
|
|
- edbInfo.DataDateType = `交易日`
|
|
|
|
- timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
|
|
|
|
- edbInfo.UniqueCode = utils.MD5(utils.DATA_PREFIX + "_" + timestamp)
|
|
|
|
- edbInfo.EdbType = edbType
|
|
|
|
- edbInfo.SubSource = item.SubSource
|
|
|
|
- edbInfo.SubSourceName = ""
|
|
|
|
- edbInfo.IndicatorCode = item.IndicatorCode
|
|
|
|
- edbInfo.StockCode = item.StockCode
|
|
|
|
- edbInfoId, err := data_manage.AddEdbInfo(edbInfo)
|
|
|
|
- if err != nil {
|
|
|
|
- errMsg = "保存失败"
|
|
|
|
- err = errors.New("保存失败,Err:" + err.Error())
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- edbInfo.EdbInfoId = int(edbInfoId)
|
|
|
|
- //保存数据
|
|
|
|
- err = data_manage.ModifyEdbInfoWindWsdDataStatus(source, item.SubSource, edbInfoId, item.EdbCode)
|
|
|
|
- if err != nil {
|
|
|
|
- errMsg = "保存失败"
|
|
|
|
- err = errors.New("修改数据对应指标ID失败,Err:" + err.Error())
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- maxAndMinItem, _ := data_manage.GetEdbInfoWsdMaxAndMinInfo(source, item.SubSource, item.EdbCode)
|
|
|
|
- if maxAndMinItem != nil {
|
|
|
|
- err = data_manage.ModifyEdbInfoMaxAndMinInfo(int(edbInfoId), maxAndMinItem)
|
|
|
|
- }
|
|
|
|
- //添加es
|
|
|
|
- AddOrEditEdbInfoToEs(int(edbInfoId))
|
|
|
|
- return
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
// GetEdbTerminal 获取终端信息
|
|
// GetEdbTerminal 获取终端信息
|
|
func GetEdbTerminal(source int, oldTerminalCode string) (edbTerminal *data_manage.EdbTerminal, err error) {
|
|
func GetEdbTerminal(source int, oldTerminalCode string) (edbTerminal *data_manage.EdbTerminal, err error) {
|
|
if source == utils.DATA_SOURCE_WIND && oldTerminalCode == "" {
|
|
if source == utils.DATA_SOURCE_WIND && oldTerminalCode == "" {
|
|
@@ -2786,10 +1980,6 @@ func GetEdbTerminal(source int, oldTerminalCode string) (edbTerminal *data_manag
|
|
err = errors.New("获取配置的终端地址失败")
|
|
err = errors.New("获取配置的终端地址失败")
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- /*if edbTerminal != nil {
|
|
|
|
- windUrl = edbTerminal.ServerUrl
|
|
|
|
- terminalCode = edbTerminal.TerminalCode
|
|
|
|
- }*/
|
|
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|