소스 검색

fix:修改钢联化工的数据源指标添加方式

zqbao 8 달 전
부모
커밋
bf9fc58ed7
4개의 변경된 파일58개의 추가작업 그리고 10개의 파일을 삭제
  1. 7 10
      controllers/data_manage/mysteel_chemical_data.go
  2. 29 0
      services/data/mysteel_chemical.go
  3. 21 0
      services/task.go
  4. 1 0
      utils/constants.go

+ 7 - 10
controllers/data_manage/mysteel_chemical_data.go

@@ -918,16 +918,13 @@ func (this *EdbClassifyController) AddMysteelChemical() {
 			resp.IndexCode = mySteelChemicalIndexInfos[0].IndexCode
 			resp.UniqueCode = fmt.Sprint(mySteelChemicalIndexInfos[0].BaseFromMysteelChemicalClassifyId, "_", mySteelChemicalIndexInfos[0].BaseFromMysteelChemicalIndexId)
 		}
-		resp, err := data.BatchAddMysteelChemicalData(mySteelChemicalIndexInfos, this.Lang)
-		if err != nil {
-			br.Msg = "添加数据失败"
-			br.ErrMsg = "添加数据失败,Err:" + err.Error()
-			return
-		}
-		if resp.Ret != 200 {
-			br.Msg = resp.Msg
-			br.ErrMsg = resp.ErrMsg
-			return
+		for _, v := range mySteelChemicalIndexInfos {
+			err = utils.Rc.LPush(utils.CACHE_MYSTEEL_CHEMICAL_ADD_DATA, v.IndexCode)
+			if err != nil {
+				br.Msg = "添加指标失败" + v.IndexCode
+				br.ErrMsg = "添加指标缓存失败" + v.IndexCode + ";Err:" + err.Error()
+				return
+			}
 		}
 	} else {
 		for i, v := range req.List {

+ 29 - 0
services/data/mysteel_chemical.go

@@ -6,6 +6,7 @@ import (
 	"eta/eta_api/models"
 	"eta/eta_api/models/data_manage"
 	"eta/eta_api/models/system"
+	"eta/eta_api/services/alarm_msg"
 	"eta/eta_api/utils"
 	"fmt"
 	"strings"
@@ -347,6 +348,7 @@ func BatchAddMysteelChemicalIndex(items []*data_manage.BaseFromMysteelChemicalIn
 	_, err = data_manage.BatchAddBaseFromMysteelChemicalIndex(addItems)
 	if err != nil {
 		errMsg = "保存分类失败"
+		return
 	}
 	baseFromMysteelChemicalIndexs, err = data_manage.GetBaseFromMysteelChemicalIndexByCodeList(preAddIndexCodeItems)
 	if err != nil {
@@ -818,3 +820,30 @@ func getEdbTerminal(source int) (edbTerminal *data_manage.EdbTerminal) {
 
 	return
 }
+
+// RefreshMysteelChemicalData 根据手工指标code刷新手工指标数据
+func RefreshMysteelChemicalData(edbCode string) {
+	var err error
+	var errMsg string
+	defer func() {
+		if err != nil {
+			go alarm_msg.SendAlarmMsg("根据钢联化工的code刷新指标数据失败提醒,Err"+err.Error(), 3)
+			//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"导入手工数据后,根据手工指标code刷新手工指标数据失败提醒", "errmsg:"+err.Error(), utils.EmailSendToUsers)
+		}
+		if errMsg != "" {
+			go alarm_msg.SendAlarmMsg("根据钢联化工的code刷新指标数据失败提醒,errMsg"+errMsg, 3)
+		}
+	}()
+
+	baseFromMysteelChemicalIndexs, err := data_manage.GetBaseFromMysteelChemicalIndexByCodeList([]string{edbCode})
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		return
+	}
+	resp, err := BatchAddMysteelChemicalData(baseFromMysteelChemicalIndexs, "zh")
+	if err != nil {
+		return
+	}
+	if !resp.Success {
+		errMsg = resp.ErrMsg
+	}
+}

+ 21 - 0
services/task.go

@@ -35,6 +35,9 @@ func Task() {
 	//手工数据表格导入后的指标库刷新
 	go ImportManualDataRefresh()
 
+	// 加入钢联化工指标数据之后的刷新
+	go MysteelChemicalDataAdd()
+
 	//修复用户关注标识
 	//GetWxUsersSubscribe()
 
@@ -91,6 +94,24 @@ func ImportManualDataRefresh() {
 	}
 }
 
+// MysteelChemicalDataAdd 加入钢联化工指标数据之后的刷新
+func MysteelChemicalDataAdd() {
+	defer func() {
+		if err := recover(); err != nil {
+			fmt.Println("[ImportManualDataRefresh]", err)
+		}
+	}()
+	for {
+		utils.Rc.Brpop(utils.CACHE_MYSTEEL_CHEMICAL_ADD_DATA, func(b []byte) {
+			edbCode := string(b)
+			edbCode = strings.TrimPrefix(edbCode, `"`)
+			edbCode = strings.TrimSuffix(edbCode, `"`)
+
+			data.RefreshMysteelChemicalData(edbCode)
+		})
+	}
+}
+
 //func init()  {
 //	fmt.Println("start task init")
 //	UpdateEnglishEmailLogErrMsg()

+ 1 - 0
utils/constants.go

@@ -209,6 +209,7 @@ const (
 	CACHE_CHART_INFO_DATA             = "chart:info:data:"                    //图表数据
 	CACHE_CHART_CLASSIFY              = "chart:classify"                      //图表分类数据
 	CACHE_IMPORT_MANUAL_DATA          = "import:manual:data"                  //手工数据导入后刷新
+	CACHE_MYSTEEL_CHEMICAL_ADD_DATA   = "import:mysteelchemical:data"         //钢联化工的数据源导入后刷新
 	CACHE_ACCESS_TOKEN_LOGIN          = "pc_eta_admin:login:"                 //管理后台登录
 	CACHE_ACCESS_TOKEN_LOGIN_NO_TRUST = "pc_eta_admin:login:no_trust:"        //管理后台登录(不可信登录态)
 	CACHE_ABNORMAL_LOGIN              = "pc_eta_admin:login:abnormal:"        //管理后台登录-异常登录