Преглед на файлове

😂增加获取数据库数据类型方法及其他优化

zuohuaijun преди 2 години
родител
ревизия
493ccc6cfe

+ 1 - 1
Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj

@@ -36,7 +36,7 @@
     <PackageReference Include="OnceMi.AspNetCore.OSS" Version="1.1.9" />
     <PackageReference Include="SKIT.FlurlHttpClient.Wechat.Api" Version="2.33.0" />
     <PackageReference Include="SKIT.FlurlHttpClient.Wechat.TenpayV3" Version="2.20.0" />
-    <PackageReference Include="SqlSugarCore" Version="5.1.4.107" />
+    <PackageReference Include="SqlSugarCore" Version="5.1.4.108-preview21" />
     <PackageReference Include="System.Linq.Dynamic.Core" Version="1.3.5" />
     <PackageReference Include="UAParser" Version="3.1.47" />
     <PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />

+ 12 - 0
Admin.NET/Admin.NET.Core/Service/DataBase/SysDatabaseService.cs

@@ -57,6 +57,18 @@ public class SysDatabaseService : IDynamicApiController, ITransient
         return db.DbMaintenance.GetColumnInfosByTableName(tableName, false).Adapt<List<DbColumnOutput>>();
     }
 
+    /// <summary>
+    /// 获取数据库数据类型列表
+    /// </summary>
+    /// <param name="configId"></param>
+    /// <returns></returns>
+    [DisplayName("获取数据库数据类型列表")]
+    public List<string> GetDbTypeList(string configId = SqlSugarConst.MainConfigId)
+    {
+        var db = _db.AsTenant().GetConnectionScope(configId);
+        return db.DbMaintenance.GetDbTypes().OrderBy(u => u).ToList();
+    }
+
     /// <summary>
     /// 增加列
     /// </summary>

+ 0 - 8
Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs

@@ -74,14 +74,6 @@ public static class SqlSugarSetup
                     column.IsNullable = true;
                 if (config.DbSettings.EnableUnderLine && !column.IsIgnore && !column.DbColumnName.Contains('_'))
                     column.DbColumnName = UtilMethods.ToUnderLine(column.DbColumnName); // 驼峰转下划线
-
-                if (config.DbType == SqlSugar.DbType.Oracle)
-                {
-                    if (type.PropertyType == typeof(long) || type.PropertyType == typeof(long?))
-                        column.DataType = "number(18)";
-                    if (type.PropertyType == typeof(bool) || type.PropertyType == typeof(bool?))
-                        column.DataType = "number(1)";
-                }
             },
             DataInfoCacheService = new SqlSugarCache(),
         };

+ 1 - 0
Admin.NET/Admin.NET.Web.Core/Startup.cs

@@ -61,6 +61,7 @@ public class Startup : AppStartup
         // Json序列化设置
         static void SetNewtonsoftJsonSetting(JsonSerializerSettings setting)
         {
+            setting.DateFormatHandling = DateFormatHandling.IsoDateFormat;
             setting.DateTimeZoneHandling = DateTimeZoneHandling.Local;
             setting.DateFormatString = "yyyy-MM-dd HH:mm:ss"; // 时间格式化
             setting.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; // 忽略循环引用

+ 85 - 0
Web/src/api-services/apis/sys-database-api.ts

@@ -19,6 +19,7 @@ import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } fr
 import { AdminResultListDbColumnOutput } from '../models';
 import { AdminResultListDbTableInfo } from '../models';
 import { AdminResultListObject } from '../models';
+import { AdminResultListString } from '../models';
 import { CreateEntityInput } from '../models';
 import { CreateSeedDataInput } from '../models';
 import { DbColumnInput } from '../models';
@@ -280,6 +281,55 @@ export const SysDatabaseApiAxiosParamCreator = function (configuration?: Configu
                 options: localVarRequestOptions,
             };
         },
+        /**
+         * 
+         * @summary 获取数据库数据类型列表
+         * @param {string} configId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDatabaseDbTypeListConfigIdGet: async (configId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'configId' is not null or undefined
+            if (configId === null || configId === undefined) {
+                throw new RequiredError('configId','Required parameter configId was null or undefined when calling apiSysDatabaseDbTypeListConfigIdGet.');
+            }
+            const localVarPath = `/api/sysDatabase/dbTypeList/{configId}`
+                .replace(`{${"configId"}}`, encodeURIComponent(String(configId)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
         /**
          * 
          * @summary 删除列
@@ -644,6 +694,20 @@ export const SysDatabaseApiFp = function(configuration?: Configuration) {
                 return axios.request(axiosRequestArgs);
             };
         },
+        /**
+         * 
+         * @summary 获取数据库数据类型列表
+         * @param {string} configId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseDbTypeListConfigIdGet(configId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListString>>> {
+            const localVarAxiosArgs = await SysDatabaseApiAxiosParamCreator(configuration).apiSysDatabaseDbTypeListConfigIdGet(configId, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
         /**
          * 
          * @summary 删除列
@@ -787,6 +851,16 @@ export const SysDatabaseApiFactory = function (configuration?: Configuration, ba
         async apiSysDatabaseCreateSeedDataPost(body?: CreateSeedDataInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
             return SysDatabaseApiFp(configuration).apiSysDatabaseCreateSeedDataPost(body, options).then((request) => request(axios, basePath));
         },
+        /**
+         * 
+         * @summary 获取数据库数据类型列表
+         * @param {string} configId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseDbTypeListConfigIdGet(configId: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListString>> {
+            return SysDatabaseApiFp(configuration).apiSysDatabaseDbTypeListConfigIdGet(configId, options).then((request) => request(axios, basePath));
+        },
         /**
          * 
          * @summary 删除列
@@ -912,6 +986,17 @@ export class SysDatabaseApi extends BaseAPI {
     public async apiSysDatabaseCreateSeedDataPost(body?: CreateSeedDataInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
         return SysDatabaseApiFp(this.configuration).apiSysDatabaseCreateSeedDataPost(body, options).then((request) => request(this.axios, this.basePath));
     }
+    /**
+     * 
+     * @summary 获取数据库数据类型列表
+     * @param {string} configId 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDatabaseApi
+     */
+    public async apiSysDatabaseDbTypeListConfigIdGet(configId: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListString>> {
+        return SysDatabaseApiFp(this.configuration).apiSysDatabaseDbTypeListConfigIdGet(configId, options).then((request) => request(this.axios, this.basePath));
+    }
     /**
      * 
      * @summary 删除列