using DBHelper_SqlSugar;
using Logs;
using SqlSugar;
using WCS.Entity;
namespace WCS.Service.Helpers
{
public class LogHelper
{
///
/// 添加异常记录
///
/// 异常信息
/// 异常关联设备
/// 异常类型 关联WCS_EXCEPTIONTYPE枚举
public static void AddWCS_EXCEPTION(string msg, string device, string type)
{
Db.Do(db =>
{
var exp = db.Default.Queryable()
.Where(v => SqlFunc.DateDiff(DateType.Second, v.UPDATETIME, DateTime.Now) < 5)
.Where(v => v.MSG == msg)
.OrderByDescending(v => v.ID)
.First() ?? new WCS_EXCEPTION
{
MSG = msg,
DEVICECODE = device,
EXCEPTIONTYPE = type,
STARTTIME = DateTime.Now,
TIMES = 0,
UPDATETIME = DateTime.Now,
UPDATEUSER = "WCS"
};
exp.TIMES++;
exp.UPDATETIME = DateTime.Now;
db.Default.Storageable(exp).ExecuteCommand();
});
}
///
/// 拼接日志消息 ,避免返回异常时写错导致异常
///
/// 异常信息
/// 异常关联设备
/// 异常类型
///
public static string SpliceLogMessage(string msg, string device, WCS_EXCEPTIONTYPE type, Type type1)
{
InfoLog.INFO_ERROR($"{type1.FullName}--{msg}--{device}--{type}");
return $"{msg}|{device}|{type}";
}
}
}