Infrastructure/OpenAuth.App/ServiceApp/FireManagement/FireResourcesApp.cs

74 lines
2.5 KiB
C#
Raw Normal View History

2025-02-25 16:31:59 +08:00
using OpenAuth.App.BaseApp.Base;
using OpenAuth.Repository.Domain.DataMaintenance;
using OpenAuth.Repository;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenAuth.App.Interface;
using SqlSugar;
using System.Data;
using Infrastructure;
2025-02-26 09:29:45 +08:00
using Microsoft.AspNetCore.Mvc;
2025-02-26 09:38:26 +08:00
using OpenAuth.App.ServiceApp.FireManagement.Request;
2025-02-25 16:31:59 +08:00
namespace OpenAuth.App.ServiceApp.FireManagement
{
public class FireResourcesApp : SqlSugarBaseApp<ApplicationData, SugarDbContext>
{
public FireResourcesApp(ISugarUnitOfWork<SugarDbContext> unitWork,
ISimpleClient<ApplicationData> repository, IAuth auth) : base(unitWork,
repository,
auth)
{
_auth = auth;
}
/// <summary>
/// 根据sql获取数据
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
2025-11-06 14:45:56 +08:00
public async Task<Response<DataTable>> GetDataBySql1(SqlReq sql)
2025-02-25 16:31:59 +08:00
{
// 检查 SQL 是否为查询操作
2025-02-26 09:38:26 +08:00
if (string.IsNullOrWhiteSpace(sql.sql) || !sql.sql.Trim().StartsWith("SELECT", StringComparison.OrdinalIgnoreCase))
2025-02-25 16:31:59 +08:00
{
2025-02-26 09:29:45 +08:00
throw new Exception("只允许查询操作");
2025-11-06 14:45:56 +08:00
}
2025-02-25 16:31:59 +08:00
try
{
using (SugarDbContext db = base.UnitWork.CreateContext())
{
// 执行查询操作,返回 DataTable
2025-02-26 09:38:26 +08:00
DataTable dt = await db.Db.SqlQueryable<object>(sql.sql).ToDataTableAsync();
2025-11-06 14:45:56 +08:00
DataTable dt1 = await db.Db.Ado.GetDataTableAsync(sql.sql).ConfigureAwait(false);
2025-02-25 16:31:59 +08:00
return new Response<DataTable>
{
Result = dt
};
}
}
catch (Exception ex)
{
throw new Exception("sql格式不正确");
}
}
2025-11-06 14:45:56 +08:00
public async Task<Response<DataTable>> GetDataBySql(SqlReq sql)
{
if (string.IsNullOrWhiteSpace(sql.sql) ||
!sql.sql.Trim().StartsWith("SELECT", StringComparison.OrdinalIgnoreCase))
{
throw new Exception("只允许查询操作");
}
using (var db = base.UnitWork.CreateContext())
{
db.Db.Ado.CommandTimeOut = 60;
var dt = await db.Db.Ado.GetDataTableAsync(sql.sql).ConfigureAwait(false);
return new Response<DataTable> { Result = dt };
}
}
2025-02-25 16:31:59 +08:00
}
}