Browse Source

新增基础指标刷新接口

longyu 3 years ago
parent
commit
e0d9e09db1

+ 55 - 0
controllers/base_from_lt.go

@@ -63,3 +63,58 @@ func (this *LtController) Add() {
 		br.Msg = "系统处理中,请稍后重试"
 	}
 }
+
+// @Title 刷新路透社指标接口
+// @Description 刷新路透社指标接口
+// @Success 200 {object} models.RefreshEdbInfoReq
+// @router /refresh [post]
+func (this *LtController) 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_LT
+	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.GetEdbDataFromLt(req.EdbCode, req.StartDate, utils.BASE_END_DATE)
+		if err != nil {
+			br.Msg = "获取指标信息失败!"
+			br.ErrMsg = "获取指标信息失败 GetEdbDataFromLt,Err:" + err.Error()
+			return
+		}
+		err = models.RefreshEdbDataFromLt(req.EdbInfoId, req.EdbCode, req.StartDate,dataItem)
+		if err != nil {
+			br.Msg = "刷新指标信息失败!"
+			br.ErrMsg = "刷新指标信息失败 RefreshEdbDataFromLt,Err:" + err.Error()
+			return
+		}
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+	} else {
+		br.Ret = 501
+		br.Success = true
+		br.Msg = "系统处理中,请稍后重试"
+	}
+}

+ 50 - 0
controllers/base_from_lz.go

@@ -56,3 +56,53 @@ func (this *LzController) Add() {
 		br.Msg = "系统处理中,请稍后重试"
 	}
 }
+
+
+// @Title 刷新隆众指标接口
+// @Description 刷新隆众指标接口
+// @Success 200 {object} models.RefreshEdbInfoReq
+// @router /refresh [post]
+func (this *LzController) 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_LZ
+	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)
+		err = models.RefreshEdbDataFromLz(req.EdbInfoId, req.EdbCode, req.StartDate)
+		if err != nil {
+			br.Msg = "刷新指标信息失败!"
+			br.ErrMsg = "刷新指标信息失败 RefreshEdbDataFromLz,Err:" + err.Error()
+			return
+		}
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+	} else {
+		br.Ret = 501
+		br.Success = true
+		br.Msg = "系统处理中,请稍后重试"
+	}
+}

+ 49 - 0
controllers/base_from_manual.go

@@ -56,3 +56,52 @@ func (this *ManualController) Add() {
 		br.Msg = "系统处理中,请稍后重试"
 	}
 }
+
+// @Title 刷新手工指标接口
+// @Description 刷新手工指标接口
+// @Success 200 {object} models.RefreshEdbInfoReq
+// @router /refresh [post]
+func (this *ManualController) 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_MANUAL
+	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)
+		err = models.RefreshEdbDataFromManual(req.EdbInfoId, req.EdbCode, req.StartDate)
+		if err != nil {
+			br.Msg = "刷新指标信息失败!"
+			br.ErrMsg = "刷新指标信息失败 RefreshEdbDataFromManual,Err:" + err.Error()
+			return
+		}
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+	} else {
+		br.Ret = 501
+		br.Success = true
+		br.Msg = "系统处理中,请稍后重试"
+	}
+}

+ 49 - 0
controllers/base_from_mysteel.go

@@ -56,3 +56,52 @@ func (this *MySteelController) Add() {
 		br.Msg = "系统处理中,请稍后重试"
 	}
 }
+
+// @Title 刷新钢联指标接口
+// @Description 刷新钢联指标接口
+// @Success 200 {object} models.RefreshEdbInfoReq
+// @router /refresh [post]
+func (this *MySteelController) 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_GL
+	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)
+		err = models.RefreshEdbDataFromMysteel(req.EdbInfoId, req.EdbCode, req.StartDate)
+		if err != nil {
+			br.Msg = "刷新指标信息失败!"
+			br.ErrMsg = "刷新指标信息失败 RefreshEdbDataFromMysteel,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_pb.go

@@ -39,7 +39,7 @@ func (this *PbController) Add() {
 		br.ErrMsg = "请输入指标编码,指标编码为空"
 		return
 	}
-	cacheKey = utils.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)
@@ -63,3 +63,58 @@ func (this *PbController) Add() {
 		br.Msg = "系统处理中,请稍后重试"
 	}
 }
+
+// @Title 刷新彭博指标接口
+// @Description 刷新彭博指标接口
+// @Success 200 {object} models.RefreshEdbInfoReq
+// @router /refresh [post]
+func (this *PbController) 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_PB
+	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.GetEdbDataFromPb(req.EdbCode, req.StartDate, utils.BASE_END_DATE)
+		if err != nil {
+			br.Msg = "获取指标信息失败!"
+			br.ErrMsg = "获取指标信息失败 GetEdbDataFromPb,Err:" + err.Error()
+			return
+		}
+		err = models.RefreshEdbDataFromPb(req.EdbInfoId, req.EdbCode, req.StartDate, dataItem)
+		if err != nil {
+			br.Msg = "刷新指标信息失败!"
+			br.ErrMsg = "刷新指标信息失败 RefreshEdbDataFromPb,Err:" + err.Error()
+			return
+		}
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+	} else {
+		br.Ret = 501
+		br.Success = true
+		br.Msg = "系统处理中,请稍后重试"
+	}
+}

+ 49 - 0
controllers/base_from_smm.go

@@ -56,3 +56,52 @@ func (this *SmmController) Add() {
 		br.Msg = "系统处理中,请稍后重试"
 	}
 }
+
+// @Title 刷新有色指标接口
+// @Description 刷新有色指标接口
+// @Success 200 {object} models.RefreshEdbInfoReq
+// @router /refresh [post]
+func (this *SmmController) 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_YS
+	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)
+		err = models.RefreshEdbDataFromSmm(req.EdbInfoId, req.EdbCode, req.StartDate)
+		if err != nil {
+			br.Msg = "刷新指标信息失败!"
+			br.ErrMsg = "刷新指标信息失败 RefreshEdbDataFromSmm,Err:" + err.Error()
+			return
+		}
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+	} else {
+		br.Ret = 501
+		br.Success = true
+		br.Msg = "系统处理中,请稍后重试"
+	}
+}

+ 1 - 6
models/base_from_mysteel.go

@@ -83,7 +83,7 @@ func AddEdbDataFromMysteel(edbCode string) (err error) {
 }
 
 //刷新钢联指标数据
-func RefreshEdbDataFromMysteel(edbInfoId int, edbCode, startDate, endDate string) (err error) {
+func RefreshEdbDataFromMysteel(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_GL
 	o := orm.NewOrm()
 	if err != nil {
@@ -104,11 +104,6 @@ func RefreshEdbDataFromMysteel(edbInfoId int, edbCode, startDate, endDate string
 		pars = append(pars, startDate)
 	}
 
-	if endDate != "" {
-		condition += " AND DATA_DATE<=? "
-		pars = append(pars, endDate)
-	}
-
 	glDataList, err := GetGlDataByCondition(condition, pars)
 
 	var existCondition string