sharp-database中的BaseDAOImpl实现多租户的功能

添加ConditionAdvice实现

sharp-database 提供了默认的 ConditionAdvice 实现,自动过滤逻辑删除的数据。

public class DefaultConditionAdvice implements ConditionAdvice {
    public DefaultConditionAdvice() {
    }

    public Map<String, Object> getCondition() {
        return Params.builder(1).pv("is_deleted", false).build();
    }
}

可以添加自己的实现,将租户字段添加到查询条件中。

@Bean
public ConditionAdvice conditionAdvice() {
    return () -> {
        final DefaultConditionAdvice defaultConditionAdvice = new DefaultConditionAdvice();
        Map<String, Object> params = Params.builder().pv("tenant_id", UserInfoHolder.get().getTenantId()).build();
        params.putAll(defaultConditionAdvice.getCondition());
        return params;
    };
}