using APT.BaseData.Domain.Enums;
using APT.Infrastructure.Core;
using APT.BaseData.Domain.Entities.FM;
using System;
using APT.Infrastructure.Api;
namespace APT.BaseData.Domain.IServices.FM
{
    public interface IPFSysLogService : ICommonService
	{
		/// 
		/// 添加登入系统日志
		/// 
		/// 
		/// 平台类型 PFPlatTypeEnum
		void AddLoginLog(Guid userId, int platformType);
		void AddLoginLogByApp(Guid userId, int platformType, KeywordFilter filter);
		/// 
		/// 添加登出系统日志
		/// 
		/// 
		/// 平台类型 PFPlatTypeEnum
		void AddLoginOut(Guid userId, int platformType);
		/// 
		/// 添加新增日志
		/// 
		/// 
		/// 
		/// 实体ID列表 多个逗号隔开
		/// 实体编号 多个逗号隔开
		/// 额外数据
		void AddAddLog(Guid userId, string formCode, string ids, string codes, string extData);
		/// 
		/// 添加编辑日志
		/// 
		/// 
		/// 
		/// 实体ID列表 多个逗号隔开
		/// 实体编号 多个逗号隔开
		/// 额外数据
		void AddEditLog(Guid userId, string formCode, string ids, string codes, string extData);
		/// 
		/// 添加删除日志
		/// 
		/// 
		/// 
		/// 实体ID列表 多个逗号隔开
		/// 实体名称
		void AddDeleteLog(Guid userId, string formCode, string ids, string tableName, string extData);
		/// 
		/// 添加其他日志
		/// 
		/// 
		/// 
		/// 标题
		/// 数据
		/// 额外数据
		void AddOtherLog(Guid userId, string formCode, string title, string data, string extData);
		/// 
		/// 添加系统日志
		/// 
		/// 组织
		/// 用户
		/// 类型
		/// 标题
		/// 数据
		void AddLog(Guid orgId, Guid userId, PFSysLogTypeEnum type, string title, string data);
		/// 
		/// 添加系统日志
		/// 
		/// 组织
		/// 用户 
		/// 标题
		/// 数据
		void AddLog(Guid orgId, Guid userId, string title, string data);
		/// 
		/// 添加系统日志
		/// 
		/// 组织
		/// 用户 
		/// 标题
		/// 数据
		/// 额外数据
		void AddLog(Guid orgId, Guid userId, string title, string data, string extData);
		/// 
		/// 添加系统日志
		/// 
		/// 组织
		/// 用户
		/// 表单编号
		/// 标题
		/// 数据
		/// 额外数据
		void AddLog(Guid orgId, Guid userId, string formCode, string title, string data, string extData);
		/// 
		/// 添加系统日志
		/// 
		/// 组织
		/// 用户
		/// 类型
		/// 表单编号
		/// 标题
		/// 数据
		/// 额外数据
		void AddLog(Guid orgId, Guid userId, PFSysLogTypeEnum type, string formCode, string title, string data, string extData);
	}
}