using Dapper; using MySql.Data.MySqlClient; using System.Data; using TelpoPush.Position.Worker.Models.CacheTemplates; namespace TelpoPush.Position.Worker.Service.Cache { public class SqlMapper { private readonly IConfiguration _config; private static string gps_conn = ""; private static string telcommon_conn = ""; private static string healthy_conn = ""; public SqlMapper(IConfiguration config) { _config = config; gps_conn = _config["ConnectionStrings:DB_Connection_String"].ToString(); telcommon_conn = _config["ConnectionStrings:Telpo_common_ConnString"].ToString(); healthy_conn = _config["ConnectionStrings:Telpo_Healthy_ConnString"].ToString(); } public DeviceInfoModel DeviceInfo(string imei) { using (IDbConnection connection = new MySqlConnection(gps_conn)) { var sql = @"SELECT d.device_id deviceId, p.nick_name deviceName,p.api_uid apiUid,d.serialno imei, d.org_uid orgId, d.active_status activeStatus,active_time activeTime FROM gps_device as d LEFT JOIN `gps_person` as p on p.device_id=d.device_id WHERE d.serialno=@imei"; return connection.QueryFirstOrDefault(sql, new { imei }); } } public PersonModel PersonInfo(string imei) { using (IDbConnection connection = new MySqlConnection(gps_conn)) { var sql = @"SELECT person_id personId, serialno, person_name personName, device_id deviceId, nick_name nickName, gender, height, weight, born_date bornDate, school, grade, class_name className, image_path imagePath,image_path_small imagePathSmall, age, create_time createTime, remarks, ishypertension, emotion,profession,regularity,chronic_disease chronicDisease,api_uid apiUid,api_remark apiRemark FROM gps_person WHERE serialno=@imei"; return connection.QueryFirstOrDefault(sql, new { imei }); } } } }