软测单独项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

171 lines
10 KiB

using FangYar.Model.TBL;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FangYar.OracleDAL.TBL
{
/// <summary>
/// 操作日志数据记录
/// </summary>
public class SysOperationLogDAL : FangYar.IDAL.TBL.SysOperationLogIDAL
{
public bool Add(Tbl_Sys_Operation_Log_Model model, string conStr)
{
try
{
string tabName = "tbl_sys_operation_log_" + DateTime.Now.ToString("yyyy_MM");
try
{
//验证当月日志表是否存在
string sqlCheck = " SELECT count(1) from information_schema.`TABLES` WHERE table_name='" + tabName + "' ";
var dt = FangYar.Common.MySqlHelper.QueryTable(sqlCheck, conStr);
int.TryParse(dt.Rows[0][0] + "", out int num);
if (num == 0)
{
//当月日志表不存在,创建当月日志表
string sqlCreateTab = @" CREATE TABLE `" + tabName + @"` (
`ID` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'ID',
`Client_IP` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'IP',
`Browser` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '',
`Browser_VerSion` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '',
`Browser_Type` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '',
`System_Type` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '',
`Browser_System_Str` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '',
`Client_Name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '',
`Headers_Str` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT 'HTTP标头HTTP',
`Headers_Str1` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT 'HTTP标头,HTTP_',
`Url_Str` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '',
`Url_Parameter` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '',
`Url_Form` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT 'Form参数字符拼接',
`Post_Parameter` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT 'Post提交请求',
`createtime` timestamp(6) NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT '',
`Info_Type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '012345',
`Info_Name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '',
`User_Uid` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '',
`Info_Msg` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '',
`Org_ID` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'ID',
`Org_Name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '',
`User_Name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '',
`UserMobile` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '',
`roles` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '',
`Action_Str` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '',
`UUID_Str` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'UUID数据',
PRIMARY KEY (`ID`) USING BTREE,
INDEX `operation_log_time_Index`(`createtime`) USING BTREE,
INDEX `Log_Info_Name_Index`(`Info_Name`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; ";
FangYar.Common.MySqlHelper.Execute(sqlCreateTab, conStr);
}
}
catch (Exception ex)
{
tabName = " tbl_sys_operation_log ";
string str = "系统日志记录数据库创建表格异常:" + ex;
FangYar.Common.MyLogHelper.WriteMsg(new FangYar.Common.LogInfoMo()
{
message = str,
msgType = FangYar.Common.EnumLogMsgTypeEnum.Error,
path = "SysOperationLogInsDB"
});
}
StringBuilder strsql = new StringBuilder();
strsql.Append("insert into " + tabName + " (ID,Client_IP,Browser,Browser_VerSion,Browser_Type,System_Type,Browser_System_Str,Client_Name,Headers_Str,Headers_Str1,Url_Str,Url_Parameter," +
"Url_Form,createtime,Info_Type,Info_Name,User_Uid,Info_Msg,Org_ID,Org_Name,User_Name,UserMobile,roles,Action_Str,Post_Parameter,UUID_Str)");
strsql.Append("values");
strsql.Append("(@ID,@Client_IP,@Browser,@Browser_VerSion,@Browser_Type,@System_Type,@Browser_System_Str,@Client_Name,@Headers_Str,@Headers_Str1," +
"@Url_Str,@Url_Parameter,@Url_Form,now(),@Info_Type,@Info_Name,@User_Uid,@Info_Msg,@Org_ID,@Org_Name,@User_Name,@UserMobile,@roles,@Action_Str,@Post_Parameter,@UUID_Str)");
MySqlParameter[] paras ={
new MySqlParameter("@ID", Guid.NewGuid().ToString("N")),
new MySqlParameter("@Client_IP",model.Client_IP.Replace(" ","").Replace("\n","").Replace("\r\n", "")),
new MySqlParameter("@Browser",model.Browser),
new MySqlParameter("@Browser_VerSion",model.Browser_VerSion),
new MySqlParameter("@Browser_Type",model.Browser_Type),
new MySqlParameter("@System_Type",model.System_Type),
new MySqlParameter("@Browser_System_Str",model.Browser_System_Str),
new MySqlParameter("@Client_Name",model.Client_Name),
new MySqlParameter("@Headers_Str",model.Headers_Str),
new MySqlParameter("@Headers_Str1",model.Headers_Str1),
new MySqlParameter("@Url_Str",model.Url_Str),
new MySqlParameter("@Url_Parameter",model.Url_Parameter),
new MySqlParameter("@Url_Form",model.Url_Form),
new MySqlParameter("@Info_Type",model.Info_Type),
new MySqlParameter("@Info_Name",model.Info_Name),
new MySqlParameter("@User_Uid",model.User_Uid),
new MySqlParameter("@Info_Msg",model.Info_Msg),
new MySqlParameter("@Org_ID",model.Org_ID),
new MySqlParameter("@Org_Name",model.Org_Name),
new MySqlParameter("@User_Name",model.User_Name),
new MySqlParameter("@UserMobile",model.UserMobile),
new MySqlParameter("@roles",model.roles),
new MySqlParameter("@Action_Str",model.Action_Str),
new MySqlParameter("@Post_Parameter",model.Post_Parameter),
new MySqlParameter("@UUID_Str",model.UUID_Str),
};
int i = FangYar.Common.MySqlHelper.ExecuteSql(strsql.ToString(), conStr, paras);
if (i > 0)
{
return true;
}
else
{
return false;
}
}
catch (Exception ex)
{
string str = "系统日志记录数据库插入异常:" + ex;
FangYar.Common.MyLogHelper.WriteMsg(new FangYar.Common.LogInfoMo()
{
message = str,
msgType = FangYar.Common.EnumLogMsgTypeEnum.Error,
path = "SysOperationLogInsDB"
});
}
return false;
}
public int Count(string strwhere)
{
throw new NotImplementedException();
}
public bool Delete(string IDList)
{
throw new NotImplementedException();
}
public bool Edit(Tbl_Sys_Operation_Log_Model model)
{
throw new NotImplementedException();
}
public Tbl_Sys_Operation_Log_Model GetModelByID(string ID)
{
throw new NotImplementedException();
}
public List<Tbl_Sys_Operation_Log_Model> QueryList(int PageIndex, int PageSize, string strwhere)
{
throw new NotImplementedException();
}
}
}