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 { /// /// 操作日志数据记录 /// 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 '信息类型:0、查询;1、新增;2、修改;3、删除;4、异常信息;5、其他', `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 QueryList(int PageIndex, int PageSize, string strwhere) { throw new NotImplementedException(); } } }