public static bool InsertUploadSecurityCodeLog(SqlConnection conn, UploadSecurityCodeLog log) { string sql = @"INSERT [Configuration].dbo.UploadSecurityCodeLog ( UploadFileName , UploadFileAddress , SuccessFileName , SuccessFileAddress , FailFileName , FailFileAddress , CreateTime , LastUpdateDataTime ) VALUES ( @uploadFileName , @uploadFileAddress , @successFileName , @successFileAddress , @failFileName , @failFileAddress , GETDATE(), GETDATE() )"; var sqlParam = new[] { new SqlParameter("@uploadFileName", log.UploadFileName), new SqlParameter("@uploadFileAddress", log.UploadFileAddress), new SqlParameter("@successFileName", log.SuccessFileName), new SqlParameter("@successFileAddress", log.SuccessFileAddress), new SqlParameter("@failFileName", log.FailFileName), new SqlParameter("@failFileAddress", log.FailFileAddress), }; return(SqlHelper.ExecuteNonQuery(conn, CommandType.Text, sql, sqlParam) > 0 ? true : false); }
public bool InsertUploadSecurityCodeLog(UploadSecurityCodeLog log) { try { return(handler.InsertUploadSecurityCodeLog(log)); } catch (TuhuBizException) { throw; } catch (Exception ex) { var exception = new DownloadAppException(1, "InsertUploadSecurityCodeLog", ex); Logger.Log(Level.Error, exception, "InsertUploadSecurityCodeLog"); throw ex; } }
public bool InsertUploadSecurityCodeLog(UploadSecurityCodeLog log) { Func <SqlConnection, bool> action = (connection) => DalTireSecurityCodeConfig.InsertUploadSecurityCodeLog(connection, log); return(dbManager.Execute(action)); }
public ActionResult UploadSecurityCodeLogImport(HttpPostedFileBase fileBase) { HttpPostedFileBase file = Request.Files["files"]; #region 【参数初始化】 string uploadFileName = ""; string uploadFileAddress = ""; string successFileName = ""; string successFileAddress = ""; string failFileName = ""; string failFileAddress = ""; string ext = ""; string noFileName = ""; string uploadDomain = "/TireLog/SecurityCode"; string batchNum = DateTime.Now.ToString("yyyyMMddHHmmss"); #endregion #region 【导入文件预判断】 if (file == null || file.ContentLength <= 0) { return(RedirectToAction("UploadSecurityCodeLog", "TireSecurityCode", new { msg = "文件不能为空" })); } var filesize = file.ContentLength; //获取上传文件的大小单位为字节byte ext = System.IO.Path.GetExtension(file.FileName); //获取上传文件的扩展名 noFileName = System.IO.Path.GetFileNameWithoutExtension(file.FileName); //获取无扩展名的文件名 const string fileType = ".txt"; //定义上传文件的类型字符串 if (string.IsNullOrWhiteSpace(ext)) { return(RedirectToAction("UploadSecurityCodeLog", "TireSecurityCode", new { msg = "文件扩展名不能为空" })); } if (!fileType.Contains(ext)) { return(RedirectToAction("UploadSecurityCodeLog", "TireSecurityCode", new { msg = "文件类型不对,只能导入txt格式的文件" })); } #endregion #region 【源文件上传】 var stream = file.InputStream; var buffer = new byte[stream.Length]; stream.Read(buffer, 0, buffer.Length); uploadFileName = DateTime.Now.ToString("yyyyMMddhhmmss") + '_' + noFileName + ext; var result = FileUploadService.UploadFile(buffer, ext, uploadFileName, uploadDomain); if (!string.IsNullOrWhiteSpace(result)) { uploadFileAddress = "https://img1.tuhu.org" + result; } else { return(RedirectToAction("UploadSecurityCodeLog", "TireSecurityCode", new { msg = "文件上传失败" })); } #endregion #region 【拆分异常数据、去重】 stream.Position = 0; StreamReader sr = new StreamReader(stream, System.Text.Encoding.GetEncoding("gb2312")); StringBuilder successSB = new StringBuilder(); StringBuilder failSB = new StringBuilder(); string line; List <TireSecurityCodeConfig> congifList = new List <TireSecurityCodeConfig>(); while ((line = sr.ReadLine()) != null) { if (line.Contains("二") && line.Contains("维")) { } else { string uCode = ""; string fCode = ""; string securityCode = ""; try { uCode = line.Substring(line.IndexOf("?u=") + 3, line.IndexOf("&f") - line.IndexOf("?u=") - 3); fCode = line.Substring(line.IndexOf("&f=") + 3, line.LastIndexOf(",") - line.IndexOf("&f=") - 3); securityCode = line.Substring(line.LastIndexOf(",") + 1, line.Length - line.LastIndexOf(",") - 1).Trim(); } catch (Exception ex) { failSB.AppendLine(line + ":参数错误"); continue; } if (uCode == "" || !IsNumeric(uCode) || fCode == "" || !IsNumeric(fCode) || securityCode == "" || !IsNumeric(securityCode)) { failSB.AppendLine(line + ":参数错误"); continue; } else { TireSecurityCodeConfig config = new TireSecurityCodeConfig { CodeID = Guid.NewGuid(), CreateTime = DateTime.Now, LastUpdateDataTime = DateTime.Now, UCode = uCode, FCode = fCode, SecurityCode = securityCode, DataIntegrity = false, BatchNum = batchNum }; congifList.Add(config); continue; } } } congifList = congifList .GroupBy(item => item.SecurityCode) .Select(item => item.First()) .ToList <TireSecurityCodeConfig>(); #endregion #region 【批量插入数据】 var insertResult = TireSecurityCodeConfigManager.InsertTireSecurityCodeConfig(congifList); if (insertResult) { var insertList = TireSecurityCodeConfigManager.QuerySecurityCodeConfigModelByBatchNum(batchNum); if (insertList == null || insertList.Count == 0) { return(RedirectToAction("UploadSecurityCodeLog", "TireSecurityCode", new { msg = "本次上传数据均存在,不做更新." })); } foreach (var insert in insertList) { string lineSuccees = "https://wx.tuhu.cn/vue/antifake/pages/home/select?guid=" + insert.CodeID.ToString("D") + "," + insert.SecurityCode; successSB.AppendLine(lineSuccees); } } else { failSB.AppendLine("数据失败,刷新页面重试."); } #endregion #region 【生成成功\失败文件地址】 if (successSB.Length > 0) { byte[] arraySuccess = Encoding.GetEncoding("gb2312").GetBytes(successSB.ToString()); successFileName = DateTime.Now.ToString("yyyyMMddhhmmss") + '_' + noFileName + "_二维码" + ext; result = FileUploadService.UploadFile(arraySuccess, ext, successFileName, uploadDomain); if (!string.IsNullOrWhiteSpace(result)) { successFileAddress = "https://img1.tuhu.org" + result; } else { TireSecurityCodeConfigManager.DeleleSecurityCodeConfigModelByBatchNum(batchNum); return(RedirectToAction("UploadSecurityCodeLog", "TireSecurityCode", new { msg = "文件上传失败" })); } } if (failSB.Length > 0) { byte[] arrayFail = Encoding.GetEncoding("gb2312").GetBytes(failSB.ToString()); failFileName = DateTime.Now.ToString("yyyyMMddhhmmss") + '_' + noFileName + "_Error" + ext; result = FileUploadService.UploadFile(arrayFail, ext, failFileName, uploadDomain); if (!string.IsNullOrWhiteSpace(result)) { failFileAddress = "https://img1.tuhu.org" + result; } else { TireSecurityCodeConfigManager.DeleleSecurityCodeConfigModelByBatchNum(batchNum); return(RedirectToAction("UploadSecurityCodeLog", "TireSecurityCode", new { msg = "文件上传失败" })); } } #endregion #region 【记录上传文件日志】 UploadSecurityCodeLog scLog = new UploadSecurityCodeLog { UploadFileName = uploadFileName, UploadFileAddress = uploadFileAddress, SuccessFileName = successFileName, SuccessFileAddress = successFileAddress, FailFileName = failFileName, FailFileAddress = failFileAddress, CreateTime = DateTime.Now, LastUpdateDataTime = DateTime.Now, Operator = ThreadIdentity.Operator.Name, }; var insertLog = TireSecurityCodeConfigManager.InsertUploadSecurityCodeLog(scLog); #endregion return(RedirectToAction("UploadSecurityCodeLog", "TireSecurityCode", new { msg = "导入成功" })); }