Browse Source

新增基础数据指标刷新

longyu 3 years ago
parent
commit
6912db38c0

+ 1 - 1
controllers/base_from_lt.go

@@ -39,7 +39,7 @@ func (this *LtController) Add() {
 		br.ErrMsg = "请输入指标编码,指标编码为空"
 		return
 	}
-	cacheKey = "CACHE_EDB_DATA_ADD_" + strconv.Itoa(source) + "_" + req.EdbCode
+	cacheKey = utils.CACHE_EDB_DATA_ADD+ strconv.Itoa(source) + "_" + req.EdbCode
 	if !utils.Rc.IsExist(cacheKey) {
 		utils.Rc.SetNX(cacheKey, 1, 1*time.Minute)
 		dataItem, err := services.GetEdbDataFromLt(req.EdbCode, utils.BASE_START_DATE, utils.BASE_END_DATE)

+ 1 - 1
controllers/base_from_lz.go

@@ -38,7 +38,7 @@ func (this *LzController) Add() {
 		br.ErrMsg = "请输入指标编码,指标编码为空"
 		return
 	}
-	cacheKey = "CACHE_EDB_DATA_ADD_" + strconv.Itoa(source) + "_" + req.EdbCode
+	cacheKey = utils.CACHE_EDB_DATA_ADD+ strconv.Itoa(source) + "_" + req.EdbCode
 	if !utils.Rc.IsExist(cacheKey) {
 		utils.Rc.SetNX(cacheKey, 1, 1*time.Minute)
 		err = models.AddEdbDataFromLz(req.EdbCode)

+ 1 - 1
controllers/base_from_manual.go

@@ -38,7 +38,7 @@ func (this *ManualController) Add() {
 		br.ErrMsg = "请输入指标编码,指标编码为空"
 		return
 	}
-	cacheKey = "CACHE_EDB_DATA_ADD_" + strconv.Itoa(source) + "_" + req.EdbCode
+	cacheKey = utils.CACHE_EDB_DATA_ADD + strconv.Itoa(source) + "_" + req.EdbCode
 	if !utils.Rc.IsExist(cacheKey) {
 		utils.Rc.SetNX(cacheKey, 1, 1*time.Minute)
 		err = models.AddEdbDataFromManual(req.EdbCode)

+ 1 - 1
controllers/base_from_mysteel.go

@@ -38,7 +38,7 @@ func (this *MySteelController) Add() {
 		br.ErrMsg = "请输入指标编码,指标编码为空"
 		return
 	}
-	cacheKey = "CACHE_EDB_DATA_ADD_" + strconv.Itoa(source) + "_" + req.EdbCode
+	cacheKey = utils.CACHE_EDB_DATA_ADD + strconv.Itoa(source) + "_" + req.EdbCode
 	if !utils.Rc.IsExist(cacheKey) {
 		utils.Rc.SetNX(cacheKey, 1, 1*time.Minute)
 		err = models.AddEdbDataFromMysteel(req.EdbCode)

+ 1 - 1
controllers/base_from_pb.go

@@ -39,7 +39,7 @@ func (this *PbController) Add() {
 		br.ErrMsg = "请输入指标编码,指标编码为空"
 		return
 	}
-	cacheKey = "CACHE_EDB_DATA_ADD_" + strconv.Itoa(source) + "_" + req.EdbCode
+	cacheKey = utils.CACHE_EDB_DATA_ADD+ strconv.Itoa(source) + "_" + req.EdbCode
 	if !utils.Rc.IsExist(cacheKey) {
 		utils.Rc.SetNX(cacheKey, 1, 1*time.Minute)
 		dataItem, err := services.GetEdbDataFromPb(req.EdbCode, utils.BASE_START_DATE, utils.BASE_END_DATE)

+ 1 - 1
controllers/base_from_smm.go

@@ -38,7 +38,7 @@ func (this *SmmController) Add() {
 		br.ErrMsg = "请输入指标编码,指标编码为空"
 		return
 	}
-	cacheKey = "CACHE_EDB_DATA_ADD_" + strconv.Itoa(source) + "_" + req.EdbCode
+	cacheKey = utils.CACHE_EDB_DATA_ADD+ strconv.Itoa(source) + "_" + req.EdbCode
 	if !utils.Rc.IsExist(cacheKey) {
 		utils.Rc.SetNX(cacheKey, 1, 1*time.Minute)
 		err = models.AddEdbDataFromSmm(req.EdbCode)

+ 57 - 2
controllers/base_from_ths.go

@@ -39,7 +39,7 @@ func (this *ThsController) Add() {
 		br.ErrMsg = "请输入指标编码,指标编码为空"
 		return
 	}
-	cacheKey = "CACHE_EDB_DATA_ADD_" + strconv.Itoa(source) + "_" + req.EdbCode
+	cacheKey = utils.CACHE_EDB_DATA_ADD + strconv.Itoa(source) + "_" + req.EdbCode
 	if !utils.Rc.IsExist(cacheKey) {
 		utils.Rc.SetNX(cacheKey, 1, 1*time.Minute)
 		dataItem, err := services.GetEdbDataFromThs(req.EdbCode, utils.BASE_START_DATE, utils.BASE_END_DATE)
@@ -57,7 +57,62 @@ func (this *ThsController) Add() {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "获取成功"
-	}else{
+	} else {
+		br.Ret = 501
+		br.Success = true
+		br.Msg = "系统处理中,请稍后重试"
+	}
+}
+
+// @Title 刷新同花顺指标接口
+// @Description 刷新同花顺指标接口
+// @Success 200 {object} models.RefreshEdbInfoReq
+// @router /refresh [post]
+func (this *ThsController) Refresh() {
+	br := new(models.BaseResponse).Init()
+	var cacheKey string
+	defer func() {
+		utils.Rc.Delete(cacheKey)
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	source := utils.DATA_SOURCE_THS
+	var req models.RefreshEdbInfoReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	if req.EdbCode == "" {
+		br.Msg = "请输入指标编码!"
+		br.ErrMsg = "请输入指标编码,指标编码为空"
+		return
+	}
+	if req.EdbInfoId <= 0 {
+		br.Msg = "请输入指标ID!"
+		br.ErrMsg = "请输入指标ID"
+		return
+	}
+	cacheKey = utils.CACHE_EDB_DATA_REFRESH + strconv.Itoa(source) + "_" + req.EdbCode
+	if !utils.Rc.IsExist(cacheKey) {
+		utils.Rc.SetNX(cacheKey, 1, 1*time.Minute)
+		dataItem, err := services.GetEdbDataFromThs(req.EdbCode, req.StartDate, utils.BASE_END_DATE)
+		if err != nil {
+			br.Msg = "获取指标信息失败!"
+			br.ErrMsg = "获取指标信息失败 GetEdbDataFromThs,Err:" + err.Error()
+			return
+		}
+		err = models.RefreshEdbDataFromThs(req.EdbInfoId, req.EdbCode, req.StartDate, dataItem)
+		if err != nil {
+			br.Msg = "刷新指标信息失败!"
+			br.ErrMsg = "刷新指标信息失败 RefreshEdbDataFromThs,Err:" + err.Error()
+			return
+		}
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+	} else {
 		br.Ret = 501
 		br.Success = true
 		br.Msg = "系统处理中,请稍后重试"

+ 56 - 1
controllers/base_from_wind.go

@@ -39,7 +39,7 @@ func (this *WindController) Add() {
 		br.ErrMsg = "请输入指标编码,指标编码为空"
 		return
 	}
-	cacheKey = "CACHE_EDB_DATA_ADD_" + strconv.Itoa(source) + "_" + req.EdbCode
+	cacheKey = utils.CACHE_EDB_DATA_ADD + strconv.Itoa(source) + "_" + req.EdbCode
 	if !utils.Rc.IsExist(cacheKey) {
 		utils.Rc.SetNX(cacheKey, 1, 1*time.Minute)
 		dataItem, err := services.GetEdbDataFromWind(req.EdbCode, utils.BASE_START_DATE, utils.BASE_END_DATE)
@@ -63,3 +63,58 @@ func (this *WindController) Add() {
 		br.Msg = "系统处理中,请稍后重试"
 	}
 }
+
+// @Title 刷新wind指标接口
+// @Description 刷新wind指标接口
+// @Success 200 {object} models.RefreshEdbInfoReq
+// @router /refresh [post]
+func (this *WindController) Refresh() {
+	br := new(models.BaseResponse).Init()
+	var cacheKey string
+	defer func() {
+		utils.Rc.Delete(cacheKey)
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	source := utils.DATA_SOURCE_WIND
+	var req models.RefreshEdbInfoReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	if req.EdbCode == "" {
+		br.Msg = "请输入指标编码!"
+		br.ErrMsg = "请输入指标编码,指标编码为空"
+		return
+	}
+	if req.EdbInfoId <= 0 {
+		br.Msg = "请输入指标ID!"
+		br.ErrMsg = "请输入指标ID"
+		return
+	}
+	cacheKey = utils.CACHE_EDB_DATA_REFRESH + strconv.Itoa(source) + "_" + req.EdbCode
+	if !utils.Rc.IsExist(cacheKey) {
+		utils.Rc.SetNX(cacheKey, 1, 1*time.Minute)
+		dataItem, err := services.GetEdbDataFromWind(req.EdbCode, req.StartDate, utils.BASE_END_DATE)
+		if err != nil {
+			br.Msg = "获取指标信息失败!"
+			br.ErrMsg = "获取指标信息失败 GetEdbDataFromWind,Err:" + err.Error()
+			return
+		}
+		err = models.RefreshEdbDataFromWind(req.EdbInfoId, req.EdbCode, req.StartDate, dataItem)
+		if err != nil {
+			br.Msg = "刷新指标信息失败!"
+			br.ErrMsg = "刷新指标信息失败 RefreshEdbDataFromWind,Err:" + err.Error()
+			return
+		}
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+	} else {
+		br.Ret = 501
+		br.Success = true
+		br.Msg = "系统处理中,请稍后重试"
+	}
+}

+ 7 - 1
models/edb_data_base.go

@@ -94,7 +94,7 @@ func ModifyEdbDataById(source, edbDataId int, value string) (err error) {
 	return
 }
 
-func DeleteEdbDataById(source,edbDataId int) (err error) {
+func DeleteEdbDataById(source, edbDataId int) (err error) {
 	sql := ` DELETE FROM %s WHERE edb_data_id=? `
 	tableName := GetEdbDataTableName(source)
 	sql = fmt.Sprintf(sql, tableName)
@@ -103,3 +103,9 @@ func DeleteEdbDataById(source,edbDataId int) (err error) {
 	_, err = o.Raw(sql, edbDataId).Exec()
 	return
 }
+
+type RefreshEdbInfoReq struct {
+	EdbInfoId int    `description:"指标ID"`
+	EdbCode   string `description:"指标编码"`
+	StartDate string `description:"开始日期"`
+}

+ 18 - 0
routers/commentsRouter_controllers.go

@@ -88,6 +88,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hongze_edb_lib/controllers:ThsController"] = append(beego.GlobalControllerRouter["hongze/hongze_edb_lib/controllers:ThsController"],
+        beego.ControllerComments{
+            Method: "Refresh",
+            Router: "/refresh",
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hongze_edb_lib/controllers:WindController"] = append(beego.GlobalControllerRouter["hongze/hongze_edb_lib/controllers:WindController"],
         beego.ControllerComments{
             Method: "Add",
@@ -97,4 +106,13 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hongze_edb_lib/controllers:WindController"] = append(beego.GlobalControllerRouter["hongze/hongze_edb_lib/controllers:WindController"],
+        beego.ControllerComments{
+            Method: "Refresh",
+            Router: "/refresh",
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
 }

+ 5 - 0
utils/constants.go

@@ -79,3 +79,8 @@ const (
 	DATA_REFRESH        = 7 //7个单位,日/周/月/季度/年
 	DATA_END_DATE_LIMIT = 4 //数据结束日期为,当前日期,加上4年时间
 )
+
+const (
+	CACHE_EDB_DATA_ADD     = "CACHE_EDB_DATA_ADD_"
+	CACHE_EDB_DATA_REFRESH = "CACHE_EDB_DATA_REFRESH_"
+)