Browse Source

Merge branch 'feature/eta1.2.2_edb_source' into feature/eta1.5.2_mysteel_stat

xyxie 1 year ago
parent
commit
0d3967289a

+ 2 - 2
controllers/edb_info_stat.go

@@ -21,8 +21,8 @@ func (this *EdbInfoStatController) SetEdbSourceStat() {
 		this.ServeJSON()
 	}()
 	// 钢联终端统计汇总
-	_ = services.SetMysteelChemicalEdbInfoUpdateStat()
-	_ = services.SetEdbSourceStat()
+	_ = services.SetMysteelChemicalEdbInfoUpdateStat(true)
+	_ = services.SetEdbSourceStat(true)
 
 	br.Ret = 200
 	br.Success = true

+ 2 - 2
services/base_from_mysteel_chemical.go

@@ -23,8 +23,8 @@ func HandleMysteelIndex(req *models.HandleMysteelIndexResp) (err error) {
 
 	go func() {
 		// 钢联终端统计汇总
-		_ = SetMysteelChemicalEdbInfoUpdateStat()
-		_ = SetEdbSourceStat()
+		_ = SetMysteelChemicalEdbInfoUpdateStat(false)
+		_ = SetEdbSourceStat(false)
 	}()
 	return
 }

+ 4 - 4
services/base_from_ths.go

@@ -31,10 +31,6 @@ func GetEdbDataFromThs(edbCode, startDate, endDate, edbTerminalCode string) (ite
 		err = fmt.Errorf("获取同花顺接口配置出错 Err: %s", err)
 		return
 	}
-	if terminal.ServerUrl == "" {
-		err = fmt.Errorf("同花顺接口未配置")
-		return
-	}
 
 	if edbTerminalCode == "" {
 		// 设置指标与终端关系的缓存
@@ -44,6 +40,10 @@ func GetEdbDataFromThs(edbCode, startDate, endDate, edbTerminalCode string) (ite
 
 	// 如果没有配置,获取配置的方式是api,那么就走官方接口
 	if utils.ThsDataMethod == "" || utils.ThsDataMethod == "api" {
+		if terminal.Value == "" {
+			err = fmt.Errorf("同花顺接口未配置")
+			return
+		}
 		var token string
 		token, err = GetAccessToken(false, terminal.Value)
 		if err != nil {

+ 12 - 6
services/edb_info_stat.go

@@ -56,15 +56,15 @@ func AddEdbInfoUpdateLog(edbInfoId int, updateResult int, updateFailedReason str
 }
 
 // SetMysteelChemicalEdbInfoUpdateStat 定时统计钢联化工的数据源明细表
-func SetMysteelChemicalEdbInfoUpdateStat() (err error) {
+func SetMysteelChemicalEdbInfoUpdateStat(needStat bool) (err error) {
 	defer func() {
 		if err != nil {
 			tips := fmt.Sprintf("钢联数据刷新-ETA指标刷新统计异常 Err: %s", err.Error())
 			alarm_msg.SendAlarmMsg(tips, 3)
 		}
 	}()
-	//查询钢联的所有指标信息
-	condition := " and source = ? "
+	//查询钢联的所有在更新的指标信息
+	condition := " and source = ? and no_update=0"
 	var pars []interface{}
 	pars = append(pars, utils.DATA_SOURCE_MYSTEEL_CHEMICAL)
 	edbList, err := models.GetEdbInfoByCondition(condition, pars, 0)
@@ -82,6 +82,9 @@ func SetMysteelChemicalEdbInfoUpdateStat() (err error) {
 		err = fmt.Errorf("查询钢联化工指标终端更新日志报错,err: %s", err)
 		return
 	}
+	if !needStat && len(updateLogList) == 0 {
+		return
+	}
 	updateLogMap := make(map[int]*data_stat.EdbInfoUpdateLog)
 	if len(updateLogList) > 0 {
 		for _, v := range updateLogList {
@@ -205,7 +208,7 @@ func checkMySteelEdbInfoNeedRefresh(frequency string) (needRefresh int, err erro
 }
 
 // SetEdbSourceStat 定时统计数据源汇总表
-func SetEdbSourceStat() (err error) {
+func SetEdbSourceStat(needStat bool) (err error) {
 	defer func() {
 		if err != nil {
 			tips := fmt.Sprintf("钢联数据刷新-ETA指标刷新统计异常 Err: %s", err.Error())
@@ -226,6 +229,9 @@ func SetEdbSourceStat() (err error) {
 		err = fmt.Errorf("查询钢联化工数据源明细记录统计报错,err: %s", err)
 		return
 	}
+	if !needStat && len(updateStatList) == 0 {
+		return
+	}
 	updateStatMap := make(map[string][]*data_stat.EdbInfoUpdateStat)
 	if len(updateStatList) > 0 {
 		for _, v := range updateStatList {
@@ -291,13 +297,13 @@ func SetEdbSourceStat() (err error) {
 			// 区分刷新成功和更新成功
 			if v.DataUpdateResult == 1 { //处理更新结果
 				tmp.UpdateSuccessNum = tmp.UpdateSuccessNum + 1
-			} else if v.NeedRefresh == 1 {
+			} else if v.NeedRefresh == 1 || v.HasRefresh == 1 {
 				tmp.UpdateFailedNum = tmp.UpdateFailedNum + 1
 			}
 
 			if v.UpdateResult == 1 { //刷新结果
 				tmp.RefreshSuccessNum = tmp.RefreshSuccessNum + 1
-			} else if v.NeedRefresh == 1 {
+			} else if v.HasRefresh == 1 {
 				tmp.RefreshFailedNum = tmp.RefreshFailedNum + 1
 			}
 		}