|
@@ -110,3 +110,79 @@ func SyncEiaSteoIndexData() (err error) {
|
|
|
}
|
|
|
return err
|
|
|
}
|
|
|
+
|
|
|
+// EIA STEO报告-分类
|
|
|
+func SyncEiaSteoClassify() (err error) {
|
|
|
+ data := make(map[string]interface{})
|
|
|
+ data["Source"] = utils.DATA_SOURCE_EIA_STEO
|
|
|
+ method := `classify/list`
|
|
|
+ result, err := HttpPost("SyncEiaSteoClassify", method, data)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("SyncEiaSteoClassify HttpPost Err:", err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ utils.FileLog.Info("SyncEiaSteoClassify:" + result)
|
|
|
+ fmt.Println("SyncEiaSteoClassify result:", result)
|
|
|
+
|
|
|
+ respObj := new(data_manage.EiaSteoClassifyDataResp)
|
|
|
+ err = json.Unmarshal([]byte(result), &respObj)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ //获取所有指标信息 某一天的
|
|
|
+ allClassify, err := data_manage.GetBaseFromEiaSteoClassifyAll()
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ existClassifyMap := make(map[int]*data_manage.BaseFromEiaSteoClassify)
|
|
|
+ for _, v := range allClassify {
|
|
|
+ existClassifyMap[v.BaseFromEiaSteoClassifyId] = v
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, item := range respObj.Data {
|
|
|
+ if oldClassify, ok := existClassifyMap[item.BaseFromEiaSteoClassifyId]; !ok {
|
|
|
+ newID, err := data_manage.AddBaseEiaSteoClassify(item)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("InsertOrUpdateBaseEiaSteoClassify error:", err)
|
|
|
+ }
|
|
|
+ fmt.Println("InsertOrUpdateBaseEiaSteoClassify new indexID:", newID)
|
|
|
+ } else {
|
|
|
+ var upDateCols []string
|
|
|
+ if oldClassify.ClassifyName != item.ClassifyName {
|
|
|
+ oldClassify.ClassifyName = item.ClassifyName
|
|
|
+ upDateCols = append(upDateCols, "ClassifyName")
|
|
|
+ }
|
|
|
+ if oldClassify.ClassifyNameOriginal != item.ClassifyNameOriginal {
|
|
|
+ oldClassify.ClassifyNameOriginal = item.ClassifyNameOriginal
|
|
|
+ upDateCols = append(upDateCols, "ClassifyNameOriginal")
|
|
|
+ }
|
|
|
+ if oldClassify.ParentId != item.ParentId {
|
|
|
+ oldClassify.ParentId = item.ParentId
|
|
|
+ upDateCols = append(upDateCols, "ParentId")
|
|
|
+ }
|
|
|
+ if oldClassify.Level != item.Level {
|
|
|
+ oldClassify.Level = item.Level
|
|
|
+ upDateCols = append(upDateCols, "Level")
|
|
|
+ }
|
|
|
+ if len(upDateCols) > 0 {
|
|
|
+ oldClassify.ModifyTime = time.Now()
|
|
|
+ upDateCols = append(upDateCols, "ModifyTime")
|
|
|
+ err := oldClassify.Update(upDateCols)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("UpdateBaseFromEiaSteoClassify error:", err)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ delete(existClassifyMap, oldClassify.BaseFromEiaSteoClassifyId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var deleteId []int
|
|
|
+ for k, _ := range existClassifyMap {
|
|
|
+ deleteId = append(deleteId, k)
|
|
|
+ }
|
|
|
+ err = data_manage.BatchDeleteBaseFromEiaSteoClassify(deleteId)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("BatchDeleteBaseFromEiaSteoClassify error:", err)
|
|
|
+ }
|
|
|
+ return err
|
|
|
+}
|