Ver código fonte

Merge branch 'pool/228' into debug

# Conflicts:
#	models/db.go
Roc 6 meses atrás
pai
commit
e81f42d32f

+ 73 - 1
controllers/shanghai_smm.go

@@ -2,6 +2,7 @@ package controllers
 
 import (
 	"encoding/json"
+	"eta/eta_index_lib/logic"
 	"eta/eta_index_lib/models"
 	shanghaismm "eta/eta_index_lib/services/shanghai_smm"
 	"eta/eta_index_lib/utils"
@@ -28,13 +29,17 @@ var ShanghaiSmmNameToCodeMap = make(map[string]string)
 // @router /refresh/list [post]
 func (this *ShanghaiSmmController) RefreshData() {
 	br := new(models.BaseResponse).Init()
+	var err error
 	defer func() {
+		if err != nil {
+			utils.FileLog.Error("SMM-RefreshData err:", err)
+		}
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
 
 	var req []*shanghaismm.EdbInfoData
-	if err := json.Unmarshal(this.Ctx.Input.RequestBody, &req); err != nil {
+	if err = json.Unmarshal(this.Ctx.Input.RequestBody, &req); err != nil {
 		br.Msg = "参数解析异常!"
 		br.ErrMsg = "参数解析失败,Err:" + err.Error()
 		return
@@ -56,6 +61,7 @@ func (this *ShanghaiSmmController) RefreshData() {
 	updateIndexList := make([]*models.BaseFromSmmIndex, 0)
 	addDateList := make([]*models.BaseFromSmmData, 0)
 	readyDateList := make([]*models.BaseFromSmmData, 0)
+	updateIndexCode := make([]string, 0)
 	for _, v := range req {
 		indexInfo := ShanghaiSmmNameToIndexMap[v.IndexName]
 		if indexInfo == nil {
@@ -121,6 +127,7 @@ func (this *ShanghaiSmmController) RefreshData() {
 				item.ModifyTime = time.Now()
 				item.DataTimestamp = time.Now().UnixMilli()
 				addDateList = append(addDateList, item)
+				updateIndexCode = append(updateIndexCode, indexInfo.IndexCode)
 			} else {
 				smmData, err := models.GetBaseFromSmmDataByCodeAndDate(indexInfo.IndexCode, v.RenewDate)
 				if err != nil {
@@ -143,6 +150,7 @@ func (this *ShanghaiSmmController) RefreshData() {
 					if err != nil {
 						utils.FileLog.Info("indexCode: %s,更新指标数据失败,Err:%s", v.IndexCode, err.Error())
 					}
+					updateIndexCode = append(updateIndexCode, indexInfo.IndexCode)
 				}
 
 			}
@@ -201,6 +209,38 @@ func (this *ShanghaiSmmController) RefreshData() {
 			return
 		}
 	}
+	var messages []string
+	defer func() {
+		if len(messages) > 0 {
+			errMsg := strings.Join(messages, ",")
+			utils.FileLog.Info("SMM RefreshData errMsg: %s", errMsg)
+		}
+	}()
+	for _, v := range updateIndexCode {
+		itemInfo, err := models.GetSmmIndexInfoMaxAndMinInfo(v)
+		if err == nil && itemInfo != nil {
+			e := models.ModifySmmIndexMaxAndMinInfo(v, itemInfo)
+			if e != nil {
+				messages = append(messages, fmt.Sprintf("更新指标最大最小值失败, indexCode: %s, err: %s", v, e.Error()))
+				return
+			}
+		}
+
+		// 同步刷新ETA图库有色的指标
+		{
+			// 获取指标详情
+			edbInfo, e := models.GetEdbInfoByEdbCode(utils.DATA_SOURCE_YS, v)
+			if e != nil && e.Error() != utils.ErrNoRow() {
+				messages = append(messages, fmt.Sprintf("刷新ETA指标异常, indexCode: %s, err: %s", v, e.Error()))
+			}
+
+			// 已经加入到指标库的话,那么就去更新ETA指标库吧
+			if edbInfo != nil {
+				go logic.RefreshBaseEdbInfo(edbInfo, ``)
+			}
+		}
+	}
+
 	br.Msg = "数据刷新成功"
 	br.Success = true
 	br.Ret = 200
@@ -345,6 +385,38 @@ func (this *ShanghaiSmmController) RefreshExcel() {
 	}
 	// 不修改
 	fmt.Println(len(updateDataList))
+	var messages []string
+	defer func() {
+		if len(messages) > 0 {
+			errMsg := strings.Join(messages, ",")
+			utils.FileLog.Info("SMM RefreshExcel errMsg: %s", errMsg)
+		}
+	}()
+	for _, v := range updateDataList {
+		itemInfo, err := models.GetSmmIndexInfoMaxAndMinInfo(v.IndexCode)
+		if err == nil && itemInfo != nil {
+			e := models.ModifySmmIndexMaxAndMinInfo(v.IndexCode, itemInfo)
+			if e != nil {
+				messages = append(messages, fmt.Sprintf("更新指标最大最小值失败, indexCode: %s, err: %s", v.IndexCode, e.Error()))
+				return
+			}
+		}
+
+		// 同步刷新ETA图库有色的指标
+		{
+			// 获取指标详情
+			edbInfo, e := models.GetEdbInfoByEdbCode(utils.DATA_SOURCE_YS, v.IndexCode)
+			if e != nil && e.Error() != utils.ErrNoRow() {
+				messages = append(messages, fmt.Sprintf("刷新ETA指标异常, indexCode: %s, err: %s", v.IndexCode, e.Error()))
+			}
+
+			// 已经加入到指标库的话,那么就去更新ETA指标库吧
+			if edbInfo != nil {
+				go logic.RefreshBaseEdbInfo(edbInfo, ``)
+			}
+		}
+
+	}
 	// if len(updateDataList) > 0 {
 	// 	err = models.UpdateBaseFromSmmDataListByIndexCode(updateDataList)
 	// 	if err != nil {

+ 1 - 0
models/base_from_mysteel_chemical.go

@@ -226,6 +226,7 @@ type BaseFromMysteelChemicalIndex struct {
 	ModifyTime                        time.Time `description:"修改时间"`
 	IsStop                            int       `description:"是否停更:1:停更,0:未停更"`
 	TerminalCode                      string    `description:"终端编码"`
+	IsSupplierStop                    int       `description:"是否供应商停更:1:停更,0:未停更"`
 }
 
 type MysteelChemicalAPiCheck struct {

+ 3 - 0
services/base_from_mysteel_chemical.go

@@ -353,10 +353,12 @@ func handleIndex(indexItem *models.HandleMysteelIndex) (err error) {
 		indexObj.Frequency = indexItem.Frequency
 		indexObj.ModifyTime = time.Now()
 		indexId = item.BaseFromMysteelChemicalIndexId
+		indexObj.IsSupplierStop = item.IsSupplierStop
 
 		var isStop int
 		if strings.Contains(indexItem.IndexName, "停") {
 			isStop = 1
+			indexObj.IsSupplierStop = 1
 		}
 		indexObj.IsStop = isStop
 
@@ -371,6 +373,7 @@ func handleIndex(indexItem *models.HandleMysteelIndex) (err error) {
 		updateColsArr = append(updateColsArr, "describe")
 		updateColsArr = append(updateColsArr, "end_date")
 		updateColsArr = append(updateColsArr, "is_stop")
+		updateColsArr = append(updateColsArr, "is_supplier_stop")
 		updateColsArr = append(updateColsArr, "modify_time")
 
 		e := indexObj.Update(updateColsArr)