添加日志

master^2
nodyang@aliyun.com 17 hours ago
parent 990ee083e6
commit 3cb274dd9b

@ -1,4 +1,5 @@
using System.Runtime.Serialization;
using System;
using System.Runtime.Serialization;
using SqlSugar;
namespace SlnMesnac.Model.domain
@ -34,4 +35,34 @@ namespace SlnMesnac.Model.domain
public int Category { get; set; }
}
[SugarTable("BaseLog"), TenantAttribute("mes")]
[DataContract(Name = "BaseLog 基础表")]
public class BaseLog
{
public BaseLog()
{
this.CreateTime = DateTime.Now;
}
[SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)]
public int Id { get; set; }
[SugarColumn(ColumnName = "createtime")]
public DateTime CreateTime { get; set; }
[SugarColumn(ColumnName = "log_level")]
public string LogLevel { get; set; }
[SugarColumn(ColumnName = "content")]
public string Content { get; set; }
[SugarColumn(ColumnName = "err_msg")]
public string ErrMsg { get; set; }
}
}

@ -0,0 +1,36 @@
using SlnMesnac.Model.domain;
using SlnMesnac.Repository.service.@base;
using SlnMesnac.Repository.service.ScanLog;
using System;
using System.Collections.Generic;
using System.Text;
namespace SlnMesnac.Repository.service.LogImpl
{
public class BaseLogServiceImpl : BaseServiceImpl<BaseLog>, IBaseLogService
{
public BaseLogServiceImpl(Repository<BaseLog> rep) : base(rep)
{
}
public void CreatTable()
{
_rep.Context.CodeFirst.InitTables<BaseLog>();
}
public Page<BaseLog> QueryPage(int pageIndex, int pageSize)
{
int totalCount = 0;
var list = _rep.Context.Queryable<BaseLog>().OrderByDescending(x => x.CreateTime)
.ToPageList(pageIndex, pageSize, ref totalCount);
Page<BaseLog> page = new Page<BaseLog>();
page.Data = list;
page.PageIndex = pageIndex;
page.PageSize = pageSize;
page.TotalCount = totalCount;
page.TotalPage = (int)Math.Ceiling(totalCount / (double)pageSize);
return page;
}
}
}

@ -0,0 +1,15 @@
using SlnMesnac.Model.domain;
using SlnMesnac.Repository.service.@base;
using System;
using System.Collections.Generic;
using System.Text;
namespace SlnMesnac.Repository.service.LogImpl
{
public interface IBaseLogService : IBaseService<BaseLog>
{
void CreatTable();
Page<BaseLog> QueryPage(int pageIndex, int pageSize);
}
}

@ -4,6 +4,7 @@ using System.Linq;
using System.Text;
using SlnMesnac.Model.domain;
using SlnMesnac.Repository.service;
using SlnMesnac.Repository.service.LogImpl;
using SlnMesnac.Repository.service.ScanLog;
using TouchSocket.Core;
using TouchSocket.Rpc;
@ -16,15 +17,18 @@ namespace SlnMesnac.TouchSocket
private readonly IScanLogService _scanService;
private readonly IBaseCodeService _baseCodeService;
IBaseLogService _baseLogService;
public Action<ScanLogSocket>? ScanLogSocketAction;
public Action<ScanStatusSocket>? ScanStatusSocketAction;
public ApiServer(IScanLogService scanService, IBaseCodeService baseCodeService)
public ApiServer(IScanLogService scanService, IBaseCodeService baseCodeService, IBaseLogService baseLogService)
{
_scanService = scanService;
_baseCodeService = baseCodeService;
_baseLogService = baseLogService;
}
/// <summary>
@ -37,27 +41,40 @@ namespace SlnMesnac.TouchSocket
[WebApi(HttpMethodType.POST)]
public Back ScanStatus(ScanStatusSocket scanStatus)
{
if (scanStatus.is_alarm == 1 && scanStatus.device_status != null && scanStatus.device_status.Count > 0)
BaseLog log = new BaseLog();
log.LogLevel = "Info";
log.ErrMsg = "";
log.Content = scanStatus.ToJsonString();
try
{
List<string> ls = new List<string>();
var baseCodes = _baseCodeService.QuListCache();
foreach (var baseCode in scanStatus.device_status)
if (scanStatus.is_alarm == 1 && scanStatus.device_status != null && scanStatus.device_status.Count > 0)
{
var enBaseCode = baseCodes.FirstOrDefault(x=>x.Code==baseCode);
if (enBaseCode != null)
List<string> ls = new List<string>();
var baseCodes = _baseCodeService.QuListCache();
foreach (var baseCode in scanStatus.device_status)
{
ls.Add(enBaseCode.State);
var enBaseCode = baseCodes.FirstOrDefault(x => x.Code == baseCode);
if (enBaseCode != null)
{
ls.Add(enBaseCode.State);
}
}
scanStatus.status_txt = ls;
}
scanStatus.status_txt = ls;
ScanStatusSocketAction?.Invoke(scanStatus);
}
ScanStatusSocketAction?.Invoke(scanStatus);
catch (Exception e)
{
log.LogLevel = "Error";
log.ErrMsg=e.Message;
}
_baseLogService.Insert(log);
return new Back();
}
@ -69,20 +86,35 @@ namespace SlnMesnac.TouchSocket
/// <returns></returns>
[EnableCors("cors")]
[WebApi(HttpMethodType.POST)]
public Back ScanBack(ScanLogSocket scanStatus)
public Back ScanBack(ScanLogSocket scanLogStatus)
{
ScanLogSocketAction?.Invoke(scanStatus);
_scanService.Insert(new ScanLogModel()
BaseLog log = new BaseLog();
log.LogLevel = "Info";
log.ErrMsg = "";
log.Content = scanLogStatus.ToJsonString();
try
{
CreateTime = scanStatus.CreateTime,
DataType = scanStatus.data_type,
Code = scanStatus.code,
Rfid = scanStatus.rfid,
Ocr = scanStatus.ocr,
Url = scanStatus.url
});
ScanLogSocketAction?.Invoke(scanLogStatus);
_scanService.Insert(new ScanLogModel()
{
CreateTime = scanLogStatus.CreateTime,
DataType = scanLogStatus.data_type,
Code = scanLogStatus.code,
Rfid = scanLogStatus.rfid,
Ocr = scanLogStatus.ocr,
Url = scanLogStatus.url
});
}
catch (Exception e)
{
log.LogLevel = "Error";
log.ErrMsg = e.Message;
}
_baseLogService.Insert(log);
return new Back();
}
}
}

Loading…
Cancel
Save