wcs_server_kate_suzhou/WcsMain/Business/CommonAction/WMSApiResponseAction.cs

52 lines
1.7 KiB
C#
Raw Normal View History

2024-05-14 16:30:56 +08:00
using ApiTool.Dto;
using LogTool;
using WcsMain.DataBase.Dao;
using WcsMain.DataBase.TableEntity;
using WcsMain.DataService;
using WcsMain.WcsAttribute.AutoFacAttribute;
namespace WcsMain.Business.CommonAction;
/// <summary>
/// WMS 接口响应触发事件
/// </summary>
[Component]
public class WMSApiResponseAction(DataBaseData dataBaseData, AppApiRequestDao apiRequestDao)
{
private readonly DataBaseData _dataBaseData = dataBaseData;
private readonly AppApiRequestDao _apiRequestDao = apiRequestDao;
/// <summary>
/// 当请求其他系统时触发本方法
/// </summary>
/// <param name="responseInfo"></param>
public void WMSApiResponse(ApiResponseInfo responseInfo)
{
try
{
// 写日志
WcsLog.Instance().WriteApiRequestLog(responseInfo.ToString());
// 存库
AppApiRequest insertData = new()
{
RequestId = _dataBaseData.GetNewUUID(),
RequestUrl = responseInfo.RequestUrl,
RequestMethod = responseInfo.RequestMethod,
IsSuccess = responseInfo.IsSend ? 1 : 0,
RequestMsg = responseInfo.RequestMsg,
ResponseMsg = responseInfo.ResponseMsg,
RequestTime = responseInfo.RequestTime,
ResponseTime = responseInfo.ResponseTime,
UseTime = responseInfo.UseTime,
ErrMsg = responseInfo.RequestException?.Message,
};
_apiRequestDao.Insert(insertData);
}
catch (Exception ex)
{
ConsoleLog.Error($"【异常】写接口日志发生异常,信息:{ex}");
}
}
}