feat: 修复函数参数绑定

This commit is contained in:
wangyu 2024-07-04 00:37:23 +08:00
parent b9028c3aa5
commit e2ec8874f5
2 changed files with 10 additions and 1 deletions

View File

@ -1,5 +1,6 @@
package com.flyfish.framework.r2dbc.query.adaptor; package com.flyfish.framework.r2dbc.query.adaptor;
import com.flyfish.framework.utils.JacksonUtil;
import lombok.Getter; import lombok.Getter;
import org.springframework.data.relational.core.query.Criteria; import org.springframework.data.relational.core.query.Criteria;
import org.springframework.data.relational.core.query.CriteriaDefinition; import org.springframework.data.relational.core.query.CriteriaDefinition;
@ -135,7 +136,8 @@ public class FunctionCriteria implements CriteriaDefinition {
@Override @Override
public FunctionCriteria jsonContains(Object value) { public FunctionCriteria jsonContains(Object value) {
return create(column, "JSON_CONTAINS", value); String represent = JacksonUtil.toJson(value).orElse(String.valueOf(value));
return create(column, "JSON_CONTAINS", represent);
} }
private FunctionCriteria create(SqlIdentifier column, String functionName, Object... values) { private FunctionCriteria create(SqlIdentifier column, String functionName, Object... values) {

View File

@ -8,6 +8,7 @@ import com.flyfish.framework.enums.RoleType;
import com.flyfish.framework.query.Queries; import com.flyfish.framework.query.Queries;
import com.flyfish.framework.r2dbc.config.R2dbcDataConfig; import com.flyfish.framework.r2dbc.config.R2dbcDataConfig;
import com.flyfish.framework.user.annotations.EnableAutoSecurity; import com.flyfish.framework.user.annotations.EnableAutoSecurity;
import com.flyfish.framework.user.repository.RoleRepository;
import com.flyfish.framework.user.repository.UserRepository; import com.flyfish.framework.user.repository.UserRepository;
import com.flyfish.framework.utils.JacksonUtil; import com.flyfish.framework.utils.JacksonUtil;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@ -30,6 +31,8 @@ public class FlyfishUserTest {
@Resource @Resource
private UserRepository userRepository; private UserRepository userRepository;
@Resource
private RoleRepository roleRepository;
@Test @Test
public void test() { public void test() {
@ -74,6 +77,10 @@ public class FlyfishUserTest {
.wrap()) .wrap())
.doOnNext(this::log) .doOnNext(this::log)
.blockFirst(); .blockFirst();
roleRepository.findAll(Queries.where(Role::getAuthorities).has(Role.Authority.EDIT).wrap())
.doOnNext(this::log)
.blockFirst();
} }
private void log(Object data) { private void log(Object data) {