Parcourir la source

统计钢联指标,当日是否需要刷新逻辑

xyxie il y a 11 heures
Parent
commit
bf3c91f584
1 fichiers modifiés avec 21 ajouts et 8 suppressions
  1. 21 8
      services/edb_info_stat.go

+ 21 - 8
services/edb_info_stat.go

@@ -517,7 +517,7 @@ func SetEdbInfoUpdateStat(needStat bool, source int) (err error) {
 	}
 	//查询自动刷新设置成今天的指标信息
 	// 找出当天的时间
-	needRefreshEdbInfoIdsMap, err := GetTodayNeedRefreshEdbInfoIds(source)
+	needRefreshEdbInfoIdsMap, mysteelNeedRefreshMap, err := GetTodayNeedRefreshEdbInfoIds(source)
 	if err != nil {
 		err = fmt.Errorf("查询同花顺自动刷新设置成今天的指标信息报错,err: %s", err)
 		return
@@ -552,12 +552,22 @@ func SetEdbInfoUpdateStat(needStat bool, source int) (err error) {
 				ErDataUpdateDate: v.ErDataUpdateDate,
 				ModifyTime:       nowTime,
 			}
-			_, ok := needRefreshEdbInfoIdsMap[v.EdbInfoId]
-			if ok {
-				tmp.NeedRefresh = 1
-			} else {
-				tmp.NeedRefresh = 0
+			if source == utils.DATA_SOURCE_MYSTEEL_CHEMICAL {
+				_, ok := mysteelNeedRefreshMap[v.Frequency]
+				if ok {
+					tmp.NeedRefresh = 1
+				} else {
+					tmp.NeedRefresh = 0
+				}
+			}else {
+				_, ok := needRefreshEdbInfoIdsMap[v.EdbInfoId]
+				if ok {
+					tmp.NeedRefresh = 1
+				} else {
+					tmp.NeedRefresh = 0
+				}
 			}
+			
 
 			// 判断是否当日新增
 			if v.CreateTime.After(todayT) || v.CreateTime == todayT {
@@ -619,20 +629,20 @@ func SetEdbInfoUpdateStat(needStat bool, source int) (err error) {
 	return
 }
 
-func GetTodayNeedRefreshEdbInfoIds(source int) (needRefreshMap map[int]struct{}, err error) {
+func GetTodayNeedRefreshEdbInfoIds(source int) (needRefreshMap map[int]struct{}, mysteelNeedRefreshMap map[string]struct{}, err error) {
 	//刷新频率,枚举值:每自然日、每交易日、每周、每旬、每月、每季、每半年、每年
 	refreshFrequencyList := []string{"每自然日", "每交易日", "每周", "每旬", "每月", "每季", "每半年", "每年"}
 	// 获取刷新频率条件
 	now := time.Now()
 	configIds := make([]int, 0)
 	needRefreshMap = make(map[int]struct{})
+	mysteelNeedRefreshMap = make(map[string]struct{})
 	for _, refreshFrequency := range refreshFrequencyList {
 		condition, pars, isHandler := getRefreshFrequencyCondition(now, refreshFrequency)
 		if !isHandler {
 			// 可能是非交易日,所以过滤不处理
 			continue
 		}
-
 		condition += ` AND refresh_frequency = ? AND source = ?`
 		pars = append(pars, refreshFrequency, source)	
 
@@ -643,6 +653,9 @@ func GetTodayNeedRefreshEdbInfoIds(source int) (needRefreshMap map[int]struct{},
 		}
 		for _, v := range tmpList {
 			configIds = append(configIds, v.Id)
+			if source == utils.DATA_SOURCE_MYSTEEL_CHEMICAL {
+				mysteelNeedRefreshMap[v.Frequency] = struct{}{}
+			}
 		}
 	}