Prechádzať zdrojové kódy

Merge branch 'feature/eta1.5.2_mysteel_stat' of eta_server/eta_index_lib into master

xyxie 1 rok pred
rodič
commit
8a7d7f8c10

+ 1 - 0
services/base_from_mysteel_chemical.go

@@ -23,6 +23,7 @@ func HandleMysteelIndex(req *models.HandleMysteelIndexResp) (err error) {
 
 	_ = SetMysteelChemicalEdbInfoUpdateStat(false)
 	_ = SetEdbSourceStat(false)
+
 	return
 }
 

+ 41 - 3
services/edb_info_stat.go

@@ -116,9 +116,10 @@ func SetMysteelChemicalEdbInfoUpdateStat(needStat bool) (err error) {
 	weekNeedRefreshMap := make(map[string]struct{})
 	if week >= 3 && week <= 6 {
 		endDate := utils.GetNowWeekMonday().Format(utils.FormatDate)
-		cond := ` AND frequency = ? AND end_date < ? AND is_stop = 0`
+		nowDate := time.Now().Format(utils.FormatDate)
+		cond := ` AND frequency = ? AND (end_date < ? or end_date=?) AND is_stop = 0`
 		var tmpPars []interface{}
-		tmpPars = append(tmpPars, "周度", endDate)
+		tmpPars = append(tmpPars, "周度", endDate, nowDate)
 		//查询所有需要当日刷新的周度指标
 		indexTotal, tErr := indexObj.GetIndexByCondition(cond, tmpPars)
 		if tErr != nil {
@@ -220,6 +221,23 @@ func SetMysteelChemicalEdbInfoUpdateStat(needStat bool) (err error) {
 				tmp.CreateTime = nowTime
 				addList = append(addList, tmp)
 			}
+			if len(addList) >= 500 {
+				err = logStat.Add(addList)
+				if err != nil {
+					err = fmt.Errorf("新增钢联化工明细记录报错,err: %s", err)
+					return
+				}
+				addList = addList[:0]
+			}
+
+			if len(modifyList) >= 500 {
+				err = data_stat.UpdateEdbUpdateStatMulti(modifyList)
+				if err != nil {
+					err = fmt.Errorf("更新钢联化工明细记录报错,err: %s", err)
+					return
+				}
+				modifyList = modifyList[:0]
+			}
 		}
 	}
 
@@ -254,7 +272,10 @@ func checkMySteelEdbInfoNeedRefresh(edbCode, frequency string, weekNeedRefreshMa
 
 	//季度,月度,年度都是每个周末刷新
 	if week == 0 {
-		needRefresh = 1
+		if frequency == "旬度" || frequency == "月度" || frequency == "季度" || frequency == "年度" {
+			needRefresh = 1
+			return
+		}
 	}
 	return
 }
@@ -371,6 +392,23 @@ func SetEdbSourceStat(needStat bool) (err error) {
 			tmp.CreateTime = nowTime
 			addList = append(addList, tmp)
 		}
+		if len(addList) >= 500 {
+			err = logStat.Add(addList)
+			if err != nil {
+				err = fmt.Errorf("新增钢联化工统计表报错,err: %s", err)
+				return
+			}
+			addList = addList[:0]
+		}
+
+		if len(modifyList) >= 500 {
+			err = data_stat.UpdateEdbSourceStatMulti(modifyList)
+			if err != nil {
+				err = fmt.Errorf("更新钢联化工统计表报错,err: %s", err)
+				return
+			}
+			modifyList = modifyList[:0]
+		}
 	}
 
 	//判断当日指标统计数据是否存在,如果存在则更新,不存在则新增