Prechádzať zdrojové kódy

fix:校验admin跳出选择数据源信息,表格降序

韩帛霖 1 rok pred
rodič
commit
fb75d3a53b

+ 15 - 9
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SqlInterceptor.java

@@ -30,17 +30,23 @@ public class SqlInterceptor implements Interceptor {
     public Object intercept(Invocation invocation) throws Throwable {
         StatementHandler statementHandler = (StatementHandler) invocation.getTarget();
         String sql = statementHandler.getBoundSql().getSql();
-        // 修改SQL语句
-        String modifiedSql = BeforeSQL(sql);
-        if (modifiedSql.equals("error")) {
-            // 终止程序
-            return AjaxResult.error("当前用户没有数据源信息!");
-        } else {
-            // 将修改后的SQL语句设置回StatementHandler
-            ReflectUtils.setFieldValue(statementHandler.getBoundSql(), "sql", modifiedSql);
-            invocation.proceed();
+        if (SecurityUtils.getUsername().equals("admin")) {
             ReflectUtils.setFieldValue(statementHandler.getBoundSql(), "sql", sql);
             return invocation.proceed();
+        } else {
+            // 修改SQL语句
+            String modifiedSql = BeforeSQL(sql);
+            if (modifiedSql.equals("error")) {
+                throw new TenantDataSource("数据源");
+                // 终止程序
+//            return AjaxResult.error("当前用户没有数据源信息!");
+            } else {
+                // 将修改后的SQL语句设置回StatementHandler
+                ReflectUtils.setFieldValue(statementHandler.getBoundSql(), "sql", modifiedSql);
+                invocation.proceed();
+                ReflectUtils.setFieldValue(statementHandler.getBoundSql(), "sql", sql);
+                return invocation.proceed();
+            }
         }
     }
 

+ 5 - 5
zkqy-datamodeling/src/main/resources/mapper/datamodeling/TableInfoMapper.xml

@@ -55,7 +55,7 @@
         select table_name tableName,create_time createTime,table_comment tableComment from information_schema.tables where table_schema=#{databaseName}
         <if test="map.tableName != null and map.tableName != ''">and table_name like concat('%', #{map.tableName}, '%')</if>
         <if test="map.tableComment != null and map.tableComment !=''">and table_comment like concat('%', #{map.tableComment}, '%')</if>
-        order by createTime desc
+        order by createTime DESC
     </select>
 
 <!--    <select id="selectDataCount" resultType="int">-->
@@ -114,7 +114,7 @@
         WHERE
             table_name = #{tableName}
           AND table_schema = #{dataBaseName}
-          ORDER BY ordinal_position asc;
+          ORDER BY ordinal_position DESC;
 
     </select>
 
@@ -155,7 +155,7 @@
         where a.type = 'U'
         <if test="map.tableName != null and map.tableName != ''">and a.name like concat('%', #{map.tableName}, '%')</if>
         <if test="map.tableComment != null and map.tableComment !=''">and CONVERT ( NVARCHAR ( 100 ), isnull( g.[value], '' ) ) like concat('%', #{map.tableComment}, '%')</if>
-        order by createTime desc
+        order by createTime DESC
     </select>
 
     <select id="selectSqlServerDataCount" resultType="int">
@@ -261,7 +261,7 @@
         where a.object_type = 'TABLE' and a.owner = #{databaseName}
         <if test="map.tableName != null and map.tableName != ''">and a.object_name like concat('%', #{map.tableName}, '%')</if>
         <if test="map.tableComment != null and map.tableComment !=''">and b.comment$ like concat('%', #{map.tableComment}, '%')</if>
-        order by createTime desc
+        order by createTime DESC
     </select>
 
     <select id="selectDmDataCount" resultType="int">
@@ -303,7 +303,7 @@
                                                                                                    INNER JOIN dba_objects f1 ON f1.object_type = 'TABLE' AND info2 =1 AND f1.object_id = f0.id
         ) f ON f.name = a.column_name AND f.table_name = a.table_name AND f.owner = a.owner
         WHERE a.owner = UPPER(#{dataBaseName}) and a.table_name = #{tableName}
-        ORDER BY a.table_name ASC, a.column_id ASC;
+        ORDER BY a.table_name DESC, a.column_id DESC;
     </select>
 
     <update id="createOracleUser">