Просмотр исходного кода

fix:分类、频度支持多选,修复多关键字搜索

Roc 1 год назад
Родитель
Сommit
074f5000f6

+ 2 - 2
controllers/data_manage/edb_info_refresh.go

@@ -248,7 +248,7 @@ func buildTree(items []*edb_refresh.BaseClassifyItems, parentId int) []*edb_refr
 // @Description 获取待配置的指标列表接口
 // @Param   Source   query   int  true       "来源:1:同花顺,2:wind,3:彭博"
 // @Param   SubSource   query   int  true       "来源:0:经济数据库,1:日期序列"
-// @Param   ClassifyId   query   int  false             "分类ID"
+// @Param   ClassifyId   query   string  false             "分类ID"
 // @Param   TerminalCode   query   string  false       "终端编码"
 // @Param   SysUserId   query   string  false       "创建人"
 // @Param   Frequency   query   string  false       "频度"
@@ -267,7 +267,7 @@ func (c *EdbInfoController) RefreshEdbList() {
 
 	source, _ := c.GetInt("Source")
 	subSource, _ := c.GetInt("SubSource")
-	classifyId, _ := c.GetInt("ClassifyId")
+	classifyId := c.GetString("ClassifyId")
 	terminalCode := c.GetString("TerminalCode")
 	sysUserId := c.GetString("SysUserId")
 	frequency := c.GetString("Frequency")

+ 2 - 2
models/data_manage/edb_refresh/request/edb_info_refresh.go

@@ -24,7 +24,7 @@ type RefreshConfigReq struct {
 type SaveEdbRefreshConfigReq struct {
 	Source          int                `description:"来源"`
 	SubSource       int                `description:"子来源"`
-	ClassifyId      int                `description:"分类id"`
+	ClassifyId      string             `description:"分类id"`
 	TerminalCode    string             `description:"终端编码"`
 	SysUserId       string             `description:"操作人id"`
 	Frequency       string             `description:"频度"`
@@ -40,7 +40,7 @@ type SaveEdbRefreshConfigReq struct {
 type SaveEdbRefreshStatusReq struct {
 	Source          int    `description:"来源"`
 	SubSource       int    `description:"子来源"`
-	ClassifyId      int    `description:"分类id"`
+	ClassifyId      string `description:"分类id"`
 	TerminalCode    string `description:"终端编码"`
 	SysUserId       string `description:"操作人id"`
 	Frequency       string `description:"频度"`

+ 28 - 22
services/data/edb_info_refresh.go

@@ -157,7 +157,7 @@ func SaveEdbRefreshDefaultConfig(source, subSource int, frequency string, list [
 // @datetime 2024-01-10 15:41:45
 // @param source int
 // @param subSource int
-// @param classifyId int
+// @param classifyId string
 // @param terminalCode string
 // @param frequency string
 // @param keyword string
@@ -171,7 +171,7 @@ func SaveEdbRefreshDefaultConfig(source, subSource int, frequency string, list [
 // @return err error
 // @return errMsg string
 // @return isSendEmail bool
-func SaveEdbRefreshConfig(source, subSource, classifyId int, terminalCode, frequency, keyword, status, sysUserIdStr string, isSelectAll bool, list []request.RefreshConfigReq, edbSelectIdList []int, sysUserId int, sysUserRealName string) (err error, errMsg string, isSendEmail bool) {
+func SaveEdbRefreshConfig(source, subSource int, classifyId, terminalCode, frequency, keyword, status, sysUserIdStr string, isSelectAll bool, list []request.RefreshConfigReq, edbSelectIdList []int, sysUserId int, sysUserRealName string) (err error, errMsg string, isSendEmail bool) {
 	isSendEmail = true
 	errMsg = `保存失败`
 
@@ -400,7 +400,7 @@ func HandleRefreshTime(source, subSource int, list []*data_manage.BaseRefreshEdb
 // @datetime 2024-01-08 15:14:16
 // @param source int
 // @param subSource int
-// @param classifyId int
+// @param classifyId string
 // @param terminalCode string
 // @param sysUserId string
 // @param frequency string
@@ -410,7 +410,7 @@ func HandleRefreshTime(source, subSource int, list []*data_manage.BaseRefreshEdb
 // @return total int
 // @return list []*data_manage.BaseRefreshEdbInfo
 // @return err error
-func GetList(source, subSource, classifyId int, terminalCode, sysUserId, frequency, keyword, status string, startSize, pageSize int, sortParam, sortType string) (total int, list []*data_manage.BaseRefreshEdbInfo, err error) {
+func GetList(source, subSource int, classifyId, terminalCode, sysUserId, frequency, keyword, status string, startSize, pageSize int, sortParam, sortType string) (total int, list []*data_manage.BaseRefreshEdbInfo, err error) {
 	var pars []interface{}
 	var condition string
 
@@ -425,9 +425,10 @@ func GetList(source, subSource, classifyId int, terminalCode, sysUserId, frequen
 
 	switch source {
 	case utils.DATA_SOURCE_MYSTEEL_CHEMICAL: // 钢联
-		if classifyId > 0 {
-			condition += " AND base_from_mysteel_chemical_classify_id = ? "
-			pars = append(pars, classifyId)
+		if classifyId != `` {
+			classifyIdSlice := strings.Split(classifyId, ",")
+			condition += ` AND base_from_mysteel_chemical_classify_id IN (` + utils.GetOrmInReplace(len(classifyIdSlice)) + `)`
+			pars = append(pars, classifyIdSlice)
 		}
 		if terminalCode != `` {
 			condition += " AND terminal_code = ? "
@@ -439,11 +440,12 @@ func GetList(source, subSource, classifyId int, terminalCode, sysUserId, frequen
 			pars = append(pars, sysUserIdSlice)
 		}
 		if frequency != `` {
-			condition += " AND frequency = ? "
-			pars = append(pars, frequency)
+			frequencySlice := strings.Split(frequency, ",")
+			condition += ` AND frequency IN (` + utils.GetOrmInReplace(len(frequencySlice)) + `)`
+			pars = append(pars, frequencySlice)
 		}
 		if keyword != `` {
-			keywordSlice := strings.Split(keyword, ",")
+			keywordSlice := strings.Split(keyword, " ")
 			if len(keywordSlice) > 0 {
 				tmpConditionSlice := make([]string, 0)
 				tmpConditionSlice = append(tmpConditionSlice, ` index_name like ? or index_code like ? `)
@@ -471,20 +473,22 @@ func GetList(source, subSource, classifyId int, terminalCode, sysUserId, frequen
 		}
 		total, list, err = data_manage.GetMysteelChemicalBaseInfoList(condition, pars, sortStr, startSize, pageSize)
 	case utils.DATA_SOURCE_YS: // 有色
-		if classifyId > 0 {
-			condition += " AND classify_id = ? "
-			pars = append(pars, classifyId)
+		if classifyId != `` {
+			classifyIdSlice := strings.Split(classifyId, ",")
+			condition += ` AND classify_id IN (` + utils.GetOrmInReplace(len(classifyIdSlice)) + `)`
+			pars = append(pars, classifyIdSlice)
 		}
 		if terminalCode != `` {
 			condition += " AND terminal_code = ? "
 			pars = append(pars, terminalCode)
 		}
 		if frequency != `` {
-			condition += " AND frequency = ? "
-			pars = append(pars, frequency)
+			frequencySlice := strings.Split(frequency, ",")
+			condition += ` AND frequency IN (` + utils.GetOrmInReplace(len(frequencySlice)) + `)`
+			pars = append(pars, frequencySlice)
 		}
 		if keyword != `` {
-			keywordSlice := strings.Split(keyword, ",")
+			keywordSlice := strings.Split(keyword, " ")
 			if len(keywordSlice) > 0 {
 				tmpConditionSlice := make([]string, 0)
 				tmpConditionSlice = append(tmpConditionSlice, ` index_name like ? or index_code like ? `)
@@ -522,9 +526,10 @@ func GetList(source, subSource, classifyId int, terminalCode, sysUserId, frequen
 			pars = append(pars, isStop)
 		}
 
-		if classifyId > 0 {
-			condition += " AND classify_id = ? "
-			pars = append(pars, classifyId)
+		if classifyId != `` {
+			classifyIdSlice := strings.Split(classifyId, ",")
+			condition += ` AND classify_id IN (` + utils.GetOrmInReplace(len(classifyIdSlice)) + `)`
+			pars = append(pars, classifyIdSlice)
 		}
 		if terminalCode != `` {
 			condition += " AND terminal_code = ? "
@@ -536,11 +541,12 @@ func GetList(source, subSource, classifyId int, terminalCode, sysUserId, frequen
 			pars = append(pars, sysUserIdSlice)
 		}
 		if frequency != `` {
-			condition += " AND frequency = ? "
-			pars = append(pars, frequency)
+			frequencySlice := strings.Split(frequency, ",")
+			condition += ` AND frequency IN (` + utils.GetOrmInReplace(len(frequencySlice)) + `)`
+			pars = append(pars, frequencySlice)
 		}
 		if keyword != `` {
-			keywordSlice := strings.Split(keyword, ",")
+			keywordSlice := strings.Split(keyword, " ")
 			if len(keywordSlice) > 0 {
 				tmpConditionSlice := make([]string, 0)
 				tmpConditionSlice = append(tmpConditionSlice, ` edb_name like ? or edb_code like ? `)