Răsfoiți Sursa

特殊处理

xyxie 1 an în urmă
părinte
comite
d26ffdcddd

+ 8 - 0
models/base_from_yongyi.go

@@ -58,3 +58,11 @@ type YongyiSheet struct {
 	Frequency    string
 	Unit         string
 }
+
+type BaseEdbLibResponse struct {
+	Ret     int
+	Msg     string
+	ErrMsg  string
+	ErrCode string
+	Data    interface{}
+}

+ 26 - 29
services/base_from_yongyi.go

@@ -36,13 +36,9 @@ func HandleYongyiExcelDaily(uploadPath string) (err error) {
 	xlFile, err := xlsx.OpenFile(uploadPath)
 	if err != nil {
 		err = fmt.Errorf("打开文件失败, Err: %s", err)
+		utils.FileLog.Info(fmt.Sprintf("打开文件:%s 失败, Err: %s", uploadPath, err))
 		return
 	}
-	defer func() {
-		if err != nil {
-			fmt.Println("file close err: " + err.Error())
-		}
-	}()
 
 	for _, sheet := range xlFile.Sheet {
 		var indexList []*models.YongyiExcelIndex
@@ -59,25 +55,28 @@ func HandleYongyiExcelDaily(uploadPath string) (err error) {
 		default:
 			continue
 		}
-
+		if err != nil {
+			utils.FileLog.Info(fmt.Sprintf("解析sheet:%s 失败, Err: %s", sheet.Name, err))
+			continue
+		}
 		if len(indexList) > 0 {
 			params := make(map[string]interface{})
 			params["List"] = indexList
-			_, e := PostEdbLib(params, utils.LIB_ROUTE_YONGYI_HANDLE)
+			result, e := PostEdbLib(params, utils.LIB_ROUTE_YONGYI_HANDLE)
 			if e != nil {
 				b, _ := json.Marshal(params)
-				utils.FileLog.Info("重置指标分类失败, err: %s, params: %s", e.Error(), string(b))
+				utils.FileLog.Info(fmt.Sprintf("sheet :%s PostEdbLib err: %s, params: %s", sheet.Name, e.Error(), string(b)))
 				return
 			}
-			/*resp := new(models.EdbInfoResp)
+			resp := new(models.BaseEdbLibResponse)
 			if e := json.Unmarshal(result, &resp); e != nil {
-				utils.FileLog.Info("MethodClassifyReset Unmarshal err: %s", e.Error())
-				return
+				utils.FileLog.Info(fmt.Sprintf("sheet :%s json.Unmarshal err: %s", sheet.Name, e))
+				continue
 			}
 			if resp.Ret != 200 {
-				utils.FileLog.Info("重置指标分类失败, Msg: %s, ErrMsg: %s", resp.Msg, resp.ErrMsg)
+				utils.FileLog.Info(fmt.Sprintf("sheet :%s Msg: %s, ErrMsg: %s", sheet.Name, resp.Msg, resp.ErrMsg))
 				continue
-			}*/
+			}
 		}
 	}
 
@@ -88,18 +87,14 @@ func HandleYongyiExcelWeekly(uploadPath string) (err error) {
 	xlFile, err := xlsx.OpenFile(uploadPath)
 	if err != nil {
 		err = fmt.Errorf("打开文件失败, Err: %s", err)
+		utils.FileLog.Info(fmt.Sprintf("打开文件:%s 失败, Err: %s", uploadPath, err))
 		return
 	}
-	defer func() {
-		if err != nil {
-			fmt.Println("file close err: " + err.Error())
-		}
-	}()
 
 	for _, sheet := range xlFile.Sheet {
 		var indexList []*models.YongyiExcelIndex
 		switch sheet.Name {
-		/*case "周度-商品猪出栏价":
+		case "周度-商品猪出栏价":
 			indexList, err = base_from_yongyi.HandleYongyiExcelWeekly1(sheet)
 		case "周度-体重":
 			indexList, err = base_from_yongyi.HandleYongyiExcelWeekly2(sheet)
@@ -118,31 +113,33 @@ func HandleYongyiExcelWeekly(uploadPath string) (err error) {
 		case "月度-小猪存栏(2020年5月新增)", "月度-中猪存栏(2020年5月新增)", "月度-大猪存栏(2020年5月新增)":
 			indexList, err = base_from_yongyi.HandleYongyiExcelWeekly9(sheet)
 		case "月度-商品猪出栏量":
-		indexList, err = base_from_yongyi.HandleYongyiExcelWeekly10(sheet)*/
+			indexList, err = base_from_yongyi.HandleYongyiExcelWeekly10(sheet)
 		default:
 			continue
 		}
-
+		if err != nil {
+			utils.FileLog.Info(fmt.Sprintf("解析sheet:%s 失败, Err: %s", sheet.Name, err))
+			continue
+		}
 		if len(indexList) > 0 {
 			params := make(map[string]interface{})
 			params["List"] = indexList
-			_, e := PostEdbLib(params, utils.LIB_ROUTE_YONGYI_HANDLE)
+			result, e := PostEdbLib(params, utils.LIB_ROUTE_YONGYI_HANDLE)
 			if e != nil {
 				b, _ := json.Marshal(params)
-				utils.FileLog.Info("重置指标分类失败, err: %s, params: %s", e.Error(), string(b))
+				utils.FileLog.Info(fmt.Sprintf("sheet :%s PostEdbLib err: %s, params: %s", sheet.Name, e.Error(), string(b)))
 				return
 			}
-			/*resp := new(models.EdbInfoResp)
+			resp := new(models.BaseEdbLibResponse)
 			if e := json.Unmarshal(result, &resp); e != nil {
-				utils.FileLog.Info("MethodClassifyReset Unmarshal err: %s", e.Error())
-				return
+				utils.FileLog.Info(fmt.Sprintf("sheet :%s json.Unmarshal err: %s", sheet.Name, e))
+				continue
 			}
 			if resp.Ret != 200 {
-				utils.FileLog.Info("重置指标分类失败, Msg: %s, ErrMsg: %s", resp.Msg, resp.ErrMsg)
+				utils.FileLog.Info(fmt.Sprintf("sheet :%s Msg: %s, ErrMsg: %s", sheet.Name, resp.Msg, resp.ErrMsg))
 				continue
-			}*/
+			}
 		}
 	}
-
 	return
 }

+ 11 - 2
services/base_from_yongyi/daily.go

@@ -71,7 +71,7 @@ func HandleYongyiExcelDaily1(sheet *xlsx.Sheet) (indexList []*models.YongyiExcel
 				fmt.Printf("当前第%d列,内容为%s \n", k, text)
 				if k == 0 {
 					province = text
-					if province == "全国均价" {
+					if province == "" {
 						stopFlag = true
 						break
 					}
@@ -103,6 +103,9 @@ func HandleYongyiExcelDaily1(sheet *xlsx.Sheet) (indexList []*models.YongyiExcel
 					err = fmt.Errorf("找不到对应的列名,第%d行,第%d列", i, k)
 					return
 				}
+				if name == "全国均价" {
+					name = "全国"
+				}
 				fmt.Printf("当前第%d行第%d列, 当前省份%s \n", i, k, province)
 				// 处理指标名称
 				fullIndexName := fmt.Sprintf("%s/%s/%s", namePrefix, province, name)
@@ -237,6 +240,9 @@ func HandleYongyiExcelDaily2(sheet *xlsx.Sheet) (indexList []*models.YongyiExcel
 					err = fmt.Errorf("找不到对应的列名,第%d行,第%d列", i, k)
 					return
 				}
+				if name == "全国均价" {
+					name = "全国"
+				}
 				fmt.Printf("当前第%d行第%d列, 当前省份%s \n", i, k, province)
 				// 处理指标名称
 
@@ -450,7 +456,7 @@ func HandleYongyiExcelDaily4(sheet *xlsx.Sheet) (indexList []*models.YongyiExcel
 				text := cell.String()
 				if k == 0 {
 					province = text
-					if province == "合计(单位:头)" {
+					if province == "" {
 						stopFlag = true
 						break
 					}
@@ -475,6 +481,9 @@ func HandleYongyiExcelDaily4(sheet *xlsx.Sheet) (indexList []*models.YongyiExcel
 					utils.FileLog.Info(fmt.Sprintf("找不到对应的日期,第%d行,第%d列, text:%s", i, k, text))
 					continue
 				}
+				if province == "合计(单位:头)" {
+					continue
+				}
 				fmt.Printf("当前第%d行第%d列, 当前省份%s \n", i, k, province)
 				// 处理指标名称