Forráskód Böngészése

Merge branch 'dev/1.2' into debug

hsun 1 éve
szülő
commit
9141dd8ad8

+ 20 - 2
controllers/data_manage/chart_classify.go

@@ -382,6 +382,22 @@ func (this *ChartClassifyController) DeleteChartClassify() {
 			return
 		}
 
+		// 获取引用该图表的MyCharts, 用于ES删除
+		var myCond string
+		var myPars []interface{}
+		myCond += ` AND a.chart_info_id = ? `
+		myPars = append(myPars, req.ChartInfoId)
+		myCharts, e := data_manage.GetMyChartListGroupByCharyInfoIdAndAdminIdByCondition(myCond, myPars)
+		if e != nil {
+			br.Msg = "删除失败"
+			br.ErrMsg = "获取引用图表的MyChats失败, Err: " + e.Error()
+			return
+		}
+		myIds := make([]int, 0)
+		for _, m := range myCharts {
+			myIds = append(myIds, m.MyChartId)
+		}
+
 		//删除图表及关联指标
 		err = data_manage.DeleteChartInfoAndData(req.ChartInfoId)
 		if err != nil {
@@ -389,11 +405,13 @@ func (this *ChartClassifyController) DeleteChartClassify() {
 			br.ErrMsg = "删除失败,Err:" + err.Error()
 			return
 		}
+
 		//删除ES
 		{
 			go data.EsDeleteChartInfo(req.ChartInfoId)
 			// 删除MY ETA 图表 es数据
-			go data.EsDeleteMyChartInfoByChartInfoId(req.ChartInfoId)
+			//go data.EsDeleteMyChartInfoByChartInfoId(req.ChartInfoId)
+			go data.EsDeleteMyChartInfoByMyChartIds(myIds)
 		}
 
 		var condition string
@@ -464,4 +482,4 @@ func (this *ChartClassifyController) DeleteChartClassify() {
 	br.Success = true
 	br.Data = resp
 	br.IsAddLog = true
-}
+}

+ 20 - 0
services/data/chart_info_elastic.go

@@ -262,3 +262,23 @@ func EsSearchMyChartInfo(keyword string, adminId int, noPermissionChartIdList []
 	list, total, err = elastic.SearchMyChartInfoData(utils.MY_CHART_INDEX_NAME, keyword, adminId, noPermissionChartIdList, startSize, pageSize)
 	return
 }
+
+// EsDeleteMyChartInfoByMyChartIds 根据我的图表IDs删除ES中的我的图表
+func EsDeleteMyChartInfoByMyChartIds(ids []int) {
+	if len(ids) == 0 {
+		return
+	}
+	errMsg := make([]string, 0)
+	defer func() {
+		if len(errMsg) > 0 {
+			fmt.Println("EsDeleteMyChartInfoByMyChartIds, 删除ES中的我的图表数据失败:", strings.Join(errMsg, "\n"))
+		}
+	}()
+	for _, v := range ids {
+		id := strconv.Itoa(v)
+		if e := elastic.EsDeleteDataV2(utils.MY_CHART_INDEX_NAME, id); e != nil {
+			errMsg = append(errMsg, fmt.Sprintf("myChartId:%d,删除Es失败,err:%s", v, e.Error()))
+		}
+	}
+	return
+}