Browse Source

Merge branch 'feature/eta1.4.3_yongyi_edb' of eta_server/eta_index_lib into master

xyxie 1 year ago
parent
commit
b3dabbb895
2 changed files with 58 additions and 21 deletions
  1. 7 0
      models/base_from_yongyi.go
  2. 51 21
      services/base_from_yongyi.go

+ 7 - 0
models/base_from_yongyi.go

@@ -238,6 +238,13 @@ func (y *BaseFromYongyiData) AddMulti(item []*BaseFromYongyiData) (err error) {
 	return
 }
 
+// Update 修改
+func (y *BaseFromYongyiData) Update(updateCols []string) (err error) {
+	o := orm.NewOrm()
+	_, err = o.Update(y, updateCols...)
+	return
+}
+
 // HandleYongyiExcelData 涌益咨询的excel数据
 type HandleYongyiExcelData struct {
 	ClassifyName string `description:"指标目录"`

+ 51 - 21
services/base_from_yongyi.go

@@ -140,21 +140,44 @@ func handleYongyiIndex(req *models.HandleYongyiExcelData, terminalCode string) (
 			}
 		}
 
-		//获取已存在的所有数据
-		var exitDataList []*models.BaseFromYongyiData
-		exitDataList, err = dataObj.GetByIndexCode(indexCode)
-		if err != nil {
-			err = fmt.Errorf("数据源查询涌溢指标数据失败 Err:%s", err)
+		indexObj.YongyiIndexId = item.YongyiIndexId
+		indexObj.IndexName = indexName
+		indexObj.Frequency = req.Frequency
+		indexObj.ClassifyId = classifyId
+		indexObj.Unit = req.Unit
+		indexObj.Sort = req.Sort
+		indexObj.ModifyTime = time.Now()
+
+		//修改数据
+		updateColsArr := make([]string, 0)
+		updateColsArr = append(updateColsArr, "index_name")
+		updateColsArr = append(updateColsArr, "classify_id")
+		updateColsArr = append(updateColsArr, "unit")
+		updateColsArr = append(updateColsArr, "frequency")
+		updateColsArr = append(updateColsArr, "sort")
+		updateColsArr = append(updateColsArr, "modify_time")
+
+		e := indexObj.Update(updateColsArr)
+		if e != nil {
+			fmt.Println("Index Update Err:" + e.Error())
 			return
 		}
-		fmt.Println("exitDataListLen:", len(exitDataList))
-		for _, v := range exitDataList {
-			dateStr := v.DataTime
-			exitDataMap[dateStr] = v
-		}
-		indexId = item.YongyiIndexId
 	}
 
+	//获取已存在的所有数据
+	var exitDataList []*models.BaseFromYongyiData
+	exitDataList, err = dataObj.GetByIndexCode(indexCode)
+	if err != nil {
+		err = fmt.Errorf("数据源查询涌溢指标数据失败 Err:%s", err)
+		return
+	}
+	fmt.Println("exitDataListLen:", len(exitDataList))
+	for _, v := range exitDataList {
+		dateStr := v.DataTime
+		exitDataMap[dateStr] = v
+	}
+	indexId = item.YongyiIndexId
+
 	// 遍历excel数据,然后跟现有的数据做校验,不存在则入库
 	for date, value := range excelDataMap {
 		if findData, ok := exitDataMap[date]; !ok {
@@ -188,7 +211,14 @@ func handleYongyiIndex(req *models.HandleYongyiExcelData, terminalCode string) (
 			}
 		} else {
 			if findData != nil && findData.Value != value && !strings.Contains(value, "#N/A") { //修改数据
+				dataObj.YongyiDataId = findData.YongyiDataId
+				dataObj.Value = value
+				dataObj.ModifyTime = time.Now()
 
+				updateDataColsArr := make([]string, 0)
+				updateDataColsArr = append(updateDataColsArr, "value")
+				updateDataColsArr = append(updateDataColsArr, "modify_time")
+				dataObj.Update(updateDataColsArr)
 			}
 		}
 	}
@@ -199,19 +229,19 @@ func handleYongyiIndex(req *models.HandleYongyiExcelData, terminalCode string) (
 			err = fmt.Errorf("批量新增指标失败 Err:%s", err)
 			return
 		}
+	}
 
-		var dateItem *models.EdbInfoMaxAndMinInfo
-		dateItem, err = dataObj.GetMaxAndMinDateByIndexCode(indexCode)
-		if err != nil {
-			err = fmt.Errorf("查询指标最新日期失败 Err:%s", err)
-			return
-		}
-
-		go func() {
-			indexObj.ModifyIndexMaxAndMinDate(indexCode, dateItem)
-		}()
+	var dateItem *models.EdbInfoMaxAndMinInfo
+	dateItem, err = dataObj.GetMaxAndMinDateByIndexCode(indexCode)
+	if err != nil {
+		err = fmt.Errorf("查询指标最新日期失败 Err:%s", err)
+		return
 	}
 
+	go func() {
+		indexObj.ModifyIndexMaxAndMinDate(indexCode, dateItem)
+	}()
+
 	// 同步刷新ETA指标库的指标
 	{
 		// 获取指标详情