using DispenserCommon.DB;
using DispenserCommon.DTO;
using DispenserCommon.Ioc;
using DispenserCommon.Utils;
using DispenserCore.Model.DTO;
using DispenserCore.Model.Entity;
using Masuit.Tools;
namespace DispenserCore.Service;
///
/// 操作日志业务类
///
[Component]
public class OperationLogService
{
private readonly SqliteHelper _db = ServiceLocator.GetService();
///
/// 批量插入操作日志
///
///
public void BatchInsert(IEnumerable logs)
{
_db.BatchInsert(logs);
}
///
/// 分页查询
///
///
///
public Page QueryPage(QueryOperationLog query)
{
// 构建查询sql
var sql = "select * from operation_logs where 1 = 1 ";
if (!query.StartTime.IsDefaultValue() && !query.EndTime.IsDefaultValue())
{
sql += "and operate_time between '" + query.StartTime + "' and '" +
query.EndTime + "' ";
}
else if (!query.StartTime.IsDefaultValue())
{
sql += "and operate_time >= '" + query.StartTime + "'";
}
else if (!query.EndTime.IsDefaultValue())
{
sql += "and operate_time <= '" + query.EndTime + "'";
}
if (!query.UserName.IsNullOrEmpty())
{
sql += "and user_name like '%" + query.UserName + "%' ";
}
sql += " order by operate_time desc ";
Console.WriteLine(sql);
return _db.Page(query.CurrentPage, query.PageSize, sql);
}
}