using System; using System.Collections.Generic; using System.Configuration; using System.IO; using System.Linq; using System.Threading.Tasks; using System.Web; using Microsoft.Data.Sqlite; using SqlSugar; using UFIDA.U8.Framework.Api.Common.Unit.GM; using UFIDA.U8.Framework.Api.ControlObject.Entity; namespace UFIDA.U8.Framework.Api.Unit { /// /// 公共帮助类 /// public static class CommUnit { /// /// 读取对应配置 /// /// /// public static string GetConfig(string key) { return ConfigurationManager.AppSettings[key]; } /// /// 解密 /// /// /// public static string GetDecrypt(string val) { return GMUtil.SM2Decrypt(GetConfig("PrivateKey"), val); } /// /// 加密 /// /// /// public static string GetEncrypt(string val) { return GMUtil.SM2Encrypt(GetConfig("PublicKey"), val); } /// /// 获取数据库配置信息 /// /// /// public static ConnectionConfig GetConnectionConfig() { if (Enum.TryParse(GetConfig("DbType"), true, out var dbType)) { var connStr = GetDecrypt(GetConfig("ConnectionString")); var path = $"{AppDomain.CurrentDomain.BaseDirectory}{connStr}"; var liteConn = new SqliteConnectionStringBuilder() { DataSource = path }; var conn = new ConnectionConfig() { DbType = dbType, ConnectionString = liteConn.ConnectionString, ConfigId = "0", IsAutoCloseConnection = true, MoreSettings = new ConnMoreSettings() { IsWithNoLockQuery = true } }; return conn; } else { throw new Exception("请维护数据库类型"); } } /// /// 获取连接对象 /// /// public static SqlSugarClient GetDbClient() { var db = new SqlSugarClient(GetConnectionConfig()); return db; } /// /// 获取登录参数 /// /// /// /// /// public static async Task GetLoginParamter(string cAccId,bool bAP=false,string pDate="") { var db = new SqlSugarClient(GetConnectionConfig()); var account=await db.Queryable().FirstAsync(a => a.Status == StatusEnum.Enable && a.cAccountNo == cAccId); if (account != null) { var param = new LoginParamter() { cSrv = account.cSrv, pAccId = account.cAcc_DataSource, pDate = string.IsNullOrWhiteSpace(pDate) ? $"{DateTime.Today:yyyy-MM-dd}" : pDate, pPassword = string.IsNullOrWhiteSpace(account.cPassword) ? "" : GetDecrypt(account.cPassword), pYearId = string.IsNullOrWhiteSpace(pDate) ? $"{DateTime.Today.Year}" : $"{DateTime.Parse(pDate).Year}", pSubId = bAP ? "AP" : "DP", pUserId = account.cUser_Id, cAccId = account.cAcc_Id }; return param; } return null; } } }