healchow commented on code in PR #8410:
URL: https://github.com/apache/inlong/pull/8410#discussion_r1251854637


##########
inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/interceptor/MultiTenantInterceptor.java:
##########
@@ -130,33 +131,58 @@ private Object doParameterHandler(ParameterHandler 
parameterHandler, Invocation
 
         Object parameterObject = 
metaResultSetHandler.getValue("parameterObject");
         BoundSql boundSql = (BoundSql) 
metaResultSetHandler.getValue("boundSql");
-        Map<String, Object> newParams = makeNewParameters(parameterObject, 
boundSql.getParameterMappings());
+        Object newParams = makeNewParameters(parameterObject, 
boundSql.getParameterMappings());
 
         metaResultSetHandler.setValue("parameterObject", newParams);
         return invocation.proceed();
     }
 
-    private Map<String, Object> makeNewParameters(Object parameterObject, 
List<ParameterMapping> parameters) {
-        Map<String, Object> params;
+    private Object makeNewParameters(Object parameterObject, 
List<ParameterMapping> parameters) {
 
         // only the single param query has no property name, find it in 
parameters.
         if (isPrimitiveOrWrapper(parameterObject) && parameters.size() == 2) {
-            params = new LinkedHashMap<>();
-
-            // find the param not tenant
-            int idx = 0;
-            if (KEY_TENANT.equals(parameters.get(0).getProperty())) {
-                idx = 1;
-            }
-            params.put(parameters.get(idx).getProperty(), parameterObject);
+            return makeNewParametersFromPrimitive(parameterObject, parameters);
+        } else if (parameterObject instanceof MapperMethod.ParamMap) {
+            return makeNewParametersFromMap((MapperMethod.ParamMap) 
parameterObject);
         } else {
-            String jsonStr = JsonUtils.toJsonString(parameterObject);
-            params = JsonUtils.parseObject(jsonStr, Map.class);
+            return makeNewParametersFromEntity(parameterObject);
+        }
+    }
+
+    private Object makeNewParametersFromMap(MapperMethod.ParamMap 
parameterObject) {
+        parameterObject.put(KEY_TENANT, getTenant());
+        return parameterObject;
+    }
+    private Object makeNewParametersFromPrimitive(Object parameterObject, 
List<ParameterMapping> parameters) {

Review Comment:
   ```suggestion
       }
   
       private Object makeNewParametersFromPrimitive(Object parameterObject, 
List<ParameterMapping> parameters) {
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to