|
@@ -100,6 +100,7 @@ export abstract class BaseServiceV2 {
|
|
|
for (let i = 0; i < searchColumns.length; i++) {
|
|
|
const key = searchColumns[i];
|
|
|
const value = query[key];
|
|
|
+ if (!value) continue;
|
|
|
/**该字段的查询方式 */
|
|
|
const opera = get(operas, key);
|
|
|
/**builder的使用函数名 */
|
|
@@ -172,8 +173,19 @@ export abstract class BaseServiceV2 {
|
|
|
params = { [`${valueStr}`]: value };
|
|
|
break;
|
|
|
case this.Opera.Json:
|
|
|
- str = `JSONB_EXISTS("${key}", :${valueStr})`;
|
|
|
- params = { [`${valueStr}`]: value };
|
|
|
+ let valueArr = [];
|
|
|
+ let strArr = [];
|
|
|
+ params = {};
|
|
|
+ if (isArray(value)) valueArr = value;
|
|
|
+ else valueArr = [value];
|
|
|
+ for (let vi = 0; vi < valueArr.length; vi++) {
|
|
|
+ const v = valueArr[vi];
|
|
|
+ const mvalKey = `${valueStr}${vi}`;
|
|
|
+ const mstr = `JSONB_EXISTS("${key}", :${mvalKey})`;
|
|
|
+ strArr.push(mstr);
|
|
|
+ params[mvalKey] = v;
|
|
|
+ }
|
|
|
+ str = `(${strArr.join(' OR ')})`;
|
|
|
break;
|
|
|
case this.Opera.Equal:
|
|
|
default:
|