HuNan_DM/DM_Weight/Services/UserService.cs

103 lines
4.3 KiB
C#
Raw Normal View History

using DM_Weight.Models;
2024-03-05 13:13:11 +08:00
using log4net;
using log4net.Repository.Hierarchy;
using MySql.Data.MySqlClient;
//using MySql.Data.MySqlClient;
//using MySqlConnector;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace DM_Weight.Services
{
public class UserService
{
private readonly ILog logger = LogManager.GetLogger(typeof(UserService));
//public static string connStr = ConfigurationManager.AppSettings["database"].ToString();
public static string connStr = ConfigurationManager.ConnectionStrings["database"].ToString();
public UserList CheckUserByFingerPrinter(int fingerPrinterId)
{
UserList? user = null;
using (MySqlConnection con = new MySqlConnection(connStr))
{
logger.Info($"connStr{connStr}");
try
{
con.Open();
}
catch (Exception ex)
{
con.Close();
logger.Info($"Open失败{ex.ToString()};连接状态:{con.State}");
logger.Info("再次Open");
con.Open();
}
//connOpen(con);
//Thread.Sleep(10);
//while (con.State != System.Data.ConnectionState.Open)
//{
// logger.Info($"再次Open:{con.State}");
// connOpen(con);
// Thread.Sleep(10);
//}
logger.Info($"数据库连接状态{con.State}");
//string sql = @"select ul.id as id,ul.User_name as userName,r.id,r.role_name,r.permissions,r.machine_id from user_list ul
// INNER JOIN role r on ul.machine_role_id=r.id where ul.Id=@ID and ul.machine_id=@machine_id and r.machine_id=@machine_id;";
//MySqlCommand cmd = new MySqlCommand(sql, con);
//cmd.Parameters.Clear();
//MySqlParameter[] mySqlParameter = new MySqlParameter[] { new MySqlParameter("ID", fingerPrinterId), new MySqlParameter("machine_id", (ConfigurationManager.AppSettings["machineId"] ?? "DM1")) };
//cmd.Parameters.AddRange(mySqlParameter);
////执行语句
//MySqlDataReader reader = cmd.ExecuteReader();
//logger.Info("MySqlDataReader读数据");
//while (reader.Read())
//{
// user = new UserList();
// user.Id = reader.GetInt32("id");
// user.UserName = reader["userName"] is DBNull ? "" : reader.GetString("userName");
// //user.UserName = reader["id"] is DBNull ? "" : reader.GetString("id");
// user.Nickname = reader["userName"] is DBNull ? "" : reader.GetString("userName");
// user.MachineId = reader["machine_id"] is DBNull ? "" : reader.GetString("machine_id");
// RoleDm role = new RoleDm();
// role.Id = reader.GetInt32("id");
// //role.Permissions = reader["permissions"] is DBNull ? "" : reader.GetString("permissions");
// role.RoleName = reader["role_name"] is DBNull ? "" : reader.GetString("role_name");
// role.Permissions = JsonConvert.DeserializeObject<List<PremissionDm>>(reader["permissions"] is DBNull ? "" : reader.GetString("permissions")); // JsonConvert.SerializeObject(reader.GetString("permissions")).ToList();
// user.Role = role;
//}
//reader.Close();
//logger.Info($"sql{sql}");
return user;
}
}
private Task connOpen(MySqlConnection con)
{
return Task.Run(() =>
{
if (con.State != System.Data.ConnectionState.Closed)
{
con.Close();
}
try
{
con.Open();
}
catch (Exception ex)
{
logger.Info($"Open失败{ex.Message}");
}
});
}
}
}