mirror of
				https://github.com/linux-do/new-api.git
				synced 2025-11-04 21:33:41 +08:00 
			
		
		
		
	Merge pull request #415 from dalefengs/fix_group
fix: 渠道多分组,优化分组 like 查询
This commit is contained in:
		@@ -106,9 +106,15 @@ func SearchChannels(keyword string, group string, model string) ([]*Channel, err
 | 
			
		||||
	// 构造WHERE子句
 | 
			
		||||
	var whereClause string
 | 
			
		||||
	var args []interface{}
 | 
			
		||||
	if group != "" {
 | 
			
		||||
		whereClause = "(id = ? OR name LIKE ? OR " + keyCol + " = ?) AND " + groupCol + " = ? AND " + modelsCol + " LIKE ?"
 | 
			
		||||
		args = append(args, common.String2Int(keyword), "%"+keyword+"%", keyword, group, "%"+model+"%")
 | 
			
		||||
	if group != "" && group != "null" {
 | 
			
		||||
		var groupCondition string
 | 
			
		||||
		if common.UsingPostgreSQL {
 | 
			
		||||
			groupCondition = `(',' || ` + groupCol + ` || ',') LIKE ?`
 | 
			
		||||
		} else {
 | 
			
		||||
			groupCondition = `CONCAT(',', ` + groupCol + `, ',') LIKE ?`
 | 
			
		||||
		}
 | 
			
		||||
		whereClause = "(id = ? OR name LIKE ? OR " + keyCol + " = ?) AND " + modelsCol + ` LIKE ? AND ` + groupCondition
 | 
			
		||||
		args = append(args, common.String2Int(keyword), "%"+keyword+"%", keyword, "%"+model+"%", "%,"+group+",%")
 | 
			
		||||
	} else {
 | 
			
		||||
		whereClause = "(id = ? OR name LIKE ? OR " + keyCol + " = ?) AND " + modelsCol + " LIKE ?"
 | 
			
		||||
		args = append(args, common.String2Int(keyword), "%"+keyword+"%", keyword, "%"+model+"%")
 | 
			
		||||
 
 | 
			
		||||
@@ -745,7 +745,8 @@ const ChannelsTable = () => {
 | 
			
		||||
            <Form.Select
 | 
			
		||||
              field='group'
 | 
			
		||||
              label='分组'
 | 
			
		||||
              optionList={groupOptions}
 | 
			
		||||
              optionList={[{ label: '选择分组', value: null}, ...groupOptions]}
 | 
			
		||||
              initValue={null}
 | 
			
		||||
              onChange={(v) => {
 | 
			
		||||
                setSearchGroup(v);
 | 
			
		||||
                searchChannels(searchKeyword, v, searchModel);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user