瀏覽代碼

test 嘉悦

hsun 1 年之前
父節點
當前提交
3bbf3938a4

+ 2 - 2
controller/index_data/jiayue_index.go

@@ -52,7 +52,7 @@ func (j *JiaYueIndexController) GetIndex(c *gin.Context) {
 		return
 	}
 
-	data, e := indexDataService.GetIndexFromJiaYue(req.IndexCode, sourceArr)
+	data, e := indexDataService.GetIndexFromJiaYue(req.IndexCode, sourceArr, req.IndexCodeRequired)
 	if e != nil {
 		resp.FailMsg("获取失败", "获取嘉悦指标信息失败, err: "+e.Error(), c)
 		return
@@ -90,7 +90,7 @@ func (j *JiaYueIndexController) GetIndexData(c *gin.Context) {
 		return
 	}
 
-	data, e := indexDataService.GetIndexAndDataFromJiaYue(req.IndexCode, req.StartDate, req.EndDate, sourceArr)
+	data, e := indexDataService.GetIndexAndDataFromJiaYue(req.IndexCode, req.StartDate, req.EndDate, sourceArr, req.IndexCodeRequired)
 	if e != nil {
 		resp.FailMsg("获取失败", "获取嘉悦指标数据失败, err: "+e.Error(), c)
 		return

+ 1 - 1
models/jiayue/dict.go

@@ -52,7 +52,7 @@ func GetDictPageIndex(condition string, pars []interface{}, pageIndex, pageSize,
 		order = fmt.Sprintf("ORDER BY %s %s", sortFMap[sortField], sortRMap[sortRule])
 	}
 
-	sqlBase := fmt.Sprintf(`SELECT %s, no FROM (SELECT rownum no, a.* FROM %s a WHERE %s) WHERE no BETWEEN %d AND %d %s`, fields, IndexTableName, condition, (pageIndex-1)*pageSize+1, pageIndex*pageSize, order)
+	sqlBase := fmt.Sprintf(`SELECT %s, no FROM (SELECT rownum no, a.* FROM %s a WHERE %s %s) WHERE no BETWEEN %d AND %d`, fields, IndexTableName, condition, order, (pageIndex-1)*pageSize+1, pageIndex*pageSize)
 	dictIndexList, err = getDictIndex(sqlBase, pars)
 	if err != nil {
 		err = fmt.Errorf("查询指标信息失败 %s", err)

+ 3 - 2
models/request/index_data/jiayue_index.go

@@ -2,8 +2,9 @@ package index_data
 
 // JiaYueIndexReq 指标请求体
 type JiaYueIndexReq struct {
-	IndexCode    string `json:"index_code" form:"index_code" description:"指标编码"`
-	SourceExtend string `json:"source_extend" form:"source_extend" description:"来源"`
+	IndexCode         string `json:"index_code" form:"index_code" description:"指标编码"`
+	SourceExtend      string `json:"source_extend" form:"source_extend" description:"来源"`
+	IndexCodeRequired int    `json:"index_code_required" form:"index_code_required" description:"指标编码是否必填: 0-否; 1-是"`
 }
 
 // JiaYueIndexAndDataReq 指标数据请求体

+ 26 - 16
services/index_data/jiayue_platform.go

@@ -12,7 +12,7 @@ import (
 )
 
 // GetIndexFromJiaYue 获取嘉悦指标信息
-func GetIndexFromJiaYue(indexCode string, sourceArr []string) (data *response.IndexResp, err error) {
+func GetIndexFromJiaYue(indexCode string, sourceArr []string, indexCodeRequired int) (data *response.IndexResp, err error) {
 	defer func() {
 		if err != nil {
 			global.LOG.Info("GetIndexFromJiaYue Err: " + err.Error())
@@ -23,14 +23,19 @@ func GetIndexFromJiaYue(indexCode string, sourceArr []string) (data *response.In
 
 	indexCond := ``
 	indexPars := make([]interface{}, 0)
-	// 以ID为指标编码
-	indexId, _ := strconv.Atoi(indexCode)
-	if indexId <= 0 {
-		global.LOG.Info(indexCode + "指标信息不存在")
-		return
+	if indexCodeRequired == 1 {
+		indexCond = ` SOURCE_CODE = :1 `
+		indexPars = append(indexPars, indexCode)
+	} else {
+		// 以ID为指标编码
+		indexId, _ := strconv.Atoi(indexCode)
+		if indexId <= 0 {
+			global.LOG.Info(indexCode + "指标ID不存在")
+			return
+		}
+		indexCond = ` ID = :1`
+		indexPars = append(indexPars, indexId)
 	}
-	indexCond = ` ID = :1`
-	indexPars = append(indexPars, indexId)
 	if len(sourceArr) > 0 {
 		indexCond += fmt.Sprintf(` AND SOURCE_TYPE IN (%s)`, utils.GetOracleInReplace(len(sourceArr)))
 		for _, s := range sourceArr {
@@ -62,7 +67,7 @@ func GetIndexFromJiaYue(indexCode string, sourceArr []string) (data *response.In
 }
 
 // GetIndexAndDataFromJiaYue 获取指标和数据
-func GetIndexAndDataFromJiaYue(indexCode, startDate, endDate string, sourceArr []string) (data *response.IndexResp, err error) {
+func GetIndexAndDataFromJiaYue(indexCode, startDate, endDate string, sourceArr []string, indexCodeRequired int) (data *response.IndexResp, err error) {
 	defer func() {
 		if err != nil {
 			global.LOG.Info("GetIndexAndDataFromJiaYue Err: " + err.Error())
@@ -73,14 +78,19 @@ func GetIndexAndDataFromJiaYue(indexCode, startDate, endDate string, sourceArr [
 
 	indexCond := ``
 	indexPars := make([]interface{}, 0)
-	// 以ID为指标编码
-	indexId, _ := strconv.Atoi(indexCode)
-	if indexId <= 0 {
-		global.LOG.Info(indexCode + "指标信息不存在")
-		return
+	if indexCodeRequired == 1 {
+		indexCond = ` SOURCE_CODE = :1 `
+		indexPars = append(indexPars, indexCode)
+	} else {
+		// 以ID为指标编码
+		indexId, _ := strconv.Atoi(indexCode)
+		if indexId <= 0 {
+			global.LOG.Info(indexCode + "指标ID不存在")
+			return
+		}
+		indexCond = ` ID = :1`
+		indexPars = append(indexPars, indexId)
 	}
-	indexCond = ` ID = :1`
-	indexPars = append(indexPars, indexId)
 	if len(sourceArr) > 0 {
 		indexCond += fmt.Sprintf(` AND SOURCE_TYPE IN (%s)`, utils.GetOracleInReplace(len(sourceArr)))
 		for _, s := range sourceArr {