470 lines
27 KiB
C#
470 lines
27 KiB
C#
using System;
|
||
using System.Configuration;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel;
|
||
using System.Data;
|
||
using System.Drawing;
|
||
using System.IO;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Windows.Forms;
|
||
using WebService.SDK;
|
||
|
||
namespace MobilePayStatic
|
||
{
|
||
public partial class MainForm : Form
|
||
{
|
||
protected static string _connectstring = ConfigurationManager.AppSettings["connectstring"].ToString();
|
||
protected static string _connectstringex = ConfigurationManager.AppSettings["connectstringex"].ToString();
|
||
protected static string _OracleHelperString = ConfigurationManager.AppSettings["OracleHelperString"].ToString();
|
||
|
||
public MainForm()
|
||
{
|
||
InitializeComponent();
|
||
PPath.Text = System.IO.Directory.GetParent(System.Environment.CurrentDirectory).FullName;
|
||
//TransferData();
|
||
DealErrorTxt();
|
||
timer1.Start();
|
||
timer2.Start();
|
||
timer3.Start();
|
||
|
||
if (Directory.Exists(PPath.Text + "\\ErrorLog"))
|
||
{
|
||
DirectoryInfo DirectoryInfos = new DirectoryInfo(PPath.Text + "\\ErrorLog");
|
||
foreach (DirectoryInfo _DirectoryInfo in DirectoryInfos.GetDirectories())
|
||
{
|
||
if (_DirectoryInfo.LastWriteTime < DateTime.Now.AddMonths(-1))
|
||
{
|
||
foreach (FileInfo _FileInfo in _DirectoryInfo.GetFiles())
|
||
{
|
||
_FileInfo.Delete();
|
||
}
|
||
_DirectoryInfo.Delete();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
#region 方法 -> 获取日志文件(根据文件日期)
|
||
protected string GetPayInfo(int AddDays = 0)
|
||
{
|
||
int PayCount = 0, InsertCount = 0;
|
||
string ErrorTicket = "", Serverpart_Code = "";
|
||
if (Directory.Exists(PPath.Text + "\\ErrorLog\\" + DateTime.Now.AddDays(AddDays).ToString("yyyyMMdd")))
|
||
{
|
||
DirectoryInfo _DirectoryInfo = new DirectoryInfo(PPath.Text + "\\ErrorLog\\" +
|
||
DateTime.Now.AddDays(AddDays).ToString("yyyyMMdd"));
|
||
foreach (FileInfo _FileInfo in _DirectoryInfo.GetFiles())
|
||
{
|
||
string WriteTxt = File.ReadAllText(_FileInfo.FullName, Encoding.UTF8);
|
||
if (string.IsNullOrEmpty(WriteTxt))
|
||
{
|
||
ErrorTicket += (ErrorTicket == "" ? "" : ",") + (_FileInfo.Name.Contains('.') ?
|
||
_FileInfo.Name.Remove(_FileInfo.Name.LastIndexOf('.')) : _FileInfo.Name);
|
||
}
|
||
if (Serverpart_Code == "" && _FileInfo.Name.Length >= 6)
|
||
{
|
||
Serverpart_Code = _FileInfo.Name.Substring(0, 6);
|
||
}
|
||
PayCount++;
|
||
}
|
||
}
|
||
try
|
||
{
|
||
OracleHelper _OracleHelper = new OracleHelper(_connectstring.Split(',')[0],
|
||
_connectstring.Split(',')[1], _connectstring.Split(',')[2], _connectstring.Split(',')[3]);
|
||
|
||
InsertCount = _OracleHelper.ExcuteSqlGetDataSet(@"SELECT DISTINCT TICKETCODE FROM HIGHWAY_EXCHANGE.T_SELLDATA_EXTRA
|
||
WHERE SELLDATA_TYPE IN ('ALIPAY','WECHAT','UNIONPAY') AND TRUNC(SELLDATA_DATE) = TRUNC(SYSDATE) + " + AddDays).Tables[0].Rows.Count;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.WriteSendLog(ex.Message);
|
||
}
|
||
textBox1.Text = "共产生" + PayCount + "笔移动支付交易,数据库记录" + InsertCount + "笔交易" + (string.IsNullOrEmpty(ErrorTicket) ?
|
||
"。" : ",其中订单号为" + ErrorTicket + "的单据未记录成功!");
|
||
|
||
return Serverpart_Code + "|" + PayCount + "|" + ErrorTicket + "|" + InsertCount;
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 插入移动支付数据
|
||
protected void InsertData()
|
||
{
|
||
string WriteTxt = "";
|
||
if (Directory.Exists(PPath.Text + "\\InsertData"))
|
||
{
|
||
DirectoryInfo _DirectoryInfo = new DirectoryInfo(PPath.Text + "\\InsertData");
|
||
foreach (FileInfo _FileInfo in _DirectoryInfo.GetFiles())
|
||
{
|
||
try
|
||
{
|
||
WriteTxt = File.ReadAllText(_FileInfo.FullName, Encoding.UTF8).Replace("'", " ");
|
||
if (!string.IsNullOrEmpty(WriteTxt.Trim()) && WriteTxt.Contains("|"))
|
||
{
|
||
string[] SplitContent = WriteTxt.Split('|');
|
||
if( InsertData(SplitContent[0], SplitContent[1], SplitContent[2], SplitContent[3],
|
||
SplitContent[4].Length > 1000 ? SplitContent[4].Substring(0, 1000) + "..." :
|
||
SplitContent[4], SplitContent[SplitContent.Length - (SplitContent.Length < 9 ? 3 : 4)],
|
||
SplitContent[SplitContent.Length - (SplitContent.Length < 9 ? 2 : 3)],
|
||
SplitContent[SplitContent.Length - (SplitContent.Length < 9 ? 1 : 2)],
|
||
SplitContent.Length < 9 ? "" : SplitContent[SplitContent.Length - 1], _FileInfo.FullName))
|
||
{
|
||
_FileInfo.Delete();
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.WriteSendLog(ex.Message + "(" + WriteTxt + ")");
|
||
}
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 统计异常日志文件
|
||
protected void TransferData()
|
||
{
|
||
//if (DateTime.Now.Hour >= 4 && DateTime.Now.Hour < 8)
|
||
//{
|
||
string SendContent = GetPayInfo(-1), SQLString = "";
|
||
if (string.IsNullOrEmpty(SendContent) || SendContent.Split('|')[0] == "" || SendContent.Split('|').Length < 3)
|
||
{
|
||
return;
|
||
}
|
||
try
|
||
{
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperString.Split(',')[0],
|
||
_OracleHelperString.Split(',')[1], _OracleHelperString.Split(',')[2], _OracleHelperString.Split(',')[3],
|
||
_OracleHelperString.Split(',').Length > 4 ? _OracleHelperString.Split(',')[4] : "1521");
|
||
|
||
if (_OracleHelper.ExcuteSqlGetDataSet("SELECT 1 FROM HIGHWAY_EXCHANGE.T_TRANSFERTOOL_PAY WHERE SERVERPARTCODE = '" +
|
||
SendContent.Split('|')[0] + "' AND TRUNC(MOBILEPAY_DATE) = TRUNC(SYSDATE - 1)").Tables[0].Rows.Count > 0)
|
||
{
|
||
SQLString = "UPDATE HIGHWAY_EXCHANGE.T_TRANSFERTOOL_PAY SET TICKET_COUNT = " + SendContent.Split('|')[1] +
|
||
",INSERT_COUNT = " + SendContent.Split('|')[3] + ",ERROR_COUNT = '" + SendContent.Split('|')[2] +
|
||
"',TRANSFERTOOL_DATE = SYSDATE WHERE SERVERPARTCODE = '" + SendContent.Split('|')[0] +
|
||
"' AND TRUNC(MOBILEPAY_DATE) = TRUNC(SYSDATE - 1)";
|
||
|
||
_OracleHelper.ExcuteSql(SQLString);
|
||
|
||
CommonHelper.SaveTextFile("日志_Send.log", DateTime.Now + ":发送内容:" + SendContent + ",成功发送移动支付统计数据!");
|
||
}
|
||
else
|
||
{
|
||
SQLString = @"INSERT INTO HIGHWAY_EXCHANGE.T_TRANSFERTOOL_PAY (TRANSFERTOOL_PAY_ID,SERVERPARTCODE,
|
||
TICKET_COUNT,INSERT_COUNT,ERROR_COUNT,MOBILEPAY_DATE,TRANSFERTOOL_DATE,TRANSFERTOOL_PAY_DESC)
|
||
VALUES (HIGHWAY_EXCHANGE.SEQ_TRANSFERTOOL_PAY.NEXTVAL,'" + SendContent.Split('|')[0] + "'," +
|
||
SendContent.Split('|')[1] + "," + SendContent.Split('|')[3] + ",'" +
|
||
SendContent.Split('|')[2] + "',TRUNC(SYSDATE - 1),SYSDATE,'')";
|
||
|
||
_OracleHelper.ExcuteSql(SQLString);
|
||
|
||
CommonHelper.SaveTextFile("日志_Send.log", DateTime.Now + ":发送内容:" + SendContent + ",成功发送移动支付统计数据!");
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.WriteSendLog(ex.Message);
|
||
}
|
||
/*}
|
||
else
|
||
{
|
||
string SendContent = GetPayInfo(-2), SQLString = "";
|
||
if (string.IsNullOrEmpty(SendContent) || SendContent.Split('|')[0] == "" || SendContent.Split('|').Length < 3)
|
||
{
|
||
return;
|
||
}
|
||
try
|
||
{
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperString.Split(',')[0],
|
||
_OracleHelperString.Split(',')[1], _OracleHelperString.Split(',')[2], _OracleHelperString.Split(',')[3]);
|
||
|
||
if (_OracleHelper.ExcuteSqlGetDataSet("SELECT 1 FROM HIGHWAY_EXCHANGE.T_TRANSFERTOOL_PAY WHERE SERVERPARTCODE = '" +
|
||
SendContent.Split('|')[0] + "' AND TRUNC(MOBILEPAY_DATE) = TRUNC(SYSDATE - 2)").Tables[0].Rows.Count == 0)
|
||
{
|
||
SQLString = @"INSERT INTO HIGHWAY_EXCHANGE.T_TRANSFERTOOL_PAY (TRANSFERTOOL_PAY_ID,SERVERPARTCODE,
|
||
SERVERPART_NAME,TICKET_COUNT,ERROR_COUNT,MOBILEPAY_DATE,TRANSFERTOOL_DATE,TRANSFERTOOL_PAY_DESC)
|
||
VALUES (HIGHWAY_EXCHANGE.SEQ_TRANSFERTOOL_PAY.NEXTVAL,'" + SendContent.Split('|')[0] + "',''," +
|
||
SendContent.Split('|')[1] + ",'" + SendContent.Split('|')[2] + "',TRUNC(SYSDATE - 2),SYSDATE,'')";
|
||
|
||
_OracleHelper.ExcuteSql(SQLString);
|
||
|
||
CommonHelper.SaveTextFile("日志_Send.log", DateTime.Now + ":发送内容:" + SendContent + ",成功发送移动支付统计数据!");
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.WriteSendLog(ex.Message);
|
||
}
|
||
}*/
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 插入数据
|
||
private bool InsertData(string TICKETCODE, string PAYTYPE, string TICKETPRICE, string result_code, string _result_desc,
|
||
string trade_no, string trade_num, string _PayCreateResult, string strPaymentChannel, string SourceFile)
|
||
{
|
||
bool Flag = false;
|
||
string PayTime = TICKETCODE.Substring(TICKETCODE.Length - 14, 14);
|
||
string FilePath = "ErrorLog\\" + PayTime.Substring(0, 8);
|
||
string result_desc = _result_desc == CommonHelper.get_reqmsg("3") ||
|
||
CommonHelper.GetResult_Code(_result_desc) == "100" ? "SUCCESS" : _result_desc;
|
||
try
|
||
{
|
||
//支付时间
|
||
PayTime = PayTime.Substring(0, 4) + "/" + PayTime.Substring(4, 2) + "/" + PayTime.Substring(6, 2) + " " +
|
||
PayTime.Substring(8, 2) + ":" + PayTime.Substring(10, 2) + ":" + PayTime.Substring(12, 2);
|
||
//本地数据库
|
||
OracleHelper _OracleHelper = new OracleHelper(_connectstring.Split(',')[0],
|
||
_connectstring.Split(',')[1], _connectstring.Split(',')[2], _connectstring.Split(',')[3]);
|
||
|
||
#region 插入本地数据库
|
||
using (DataTable _MobilePayTable = _OracleHelper.ExcuteSqlGetDataSet(
|
||
@"SELECT TICKETCODE,UPPER(SELLDATA_EXTRA_DESC) AS SELLDATA_EXTRA_DESC
|
||
FROM HIGHWAY_EXCHANGE.T_SELLDATA_EXTRA WHERE TICKETCODE = '" +
|
||
TICKETCODE + "' AND SELLDATA_TYPE = '" + PAYTYPE + "'").Tables[0])
|
||
{
|
||
if (_MobilePayTable.Rows.Count == 0 || _MobilePayTable.Select("SELLDATA_EXTRA_DESC LIKE 'SUCCESS%'").Count() == 0)
|
||
{
|
||
string str = @"INSERT INTO HIGHWAY_EXCHANGE.T_SELLDATA_EXTRA (SELLDATA_ID,SELLDATA_TYPE,SELLDATA_DATE,
|
||
SERVERPARTCODE,SHOPCODE,MACHINECODE,TICKETCODE,COMMODITY_CODE,FACTAMOUNT,SELLDATA_EXTRA_DESC,LINENUM)
|
||
VALUES (HIGHWAY_EXCHANGE.SEQ_SELLDATA_EXTRA.NEXTVAL,'" + PAYTYPE + "',TO_DATE('" + PayTime +
|
||
"','YYYY/MM/DD HH24:MI:SS'),'" + TICKETCODE.Substring(0, 6) + "','" +
|
||
(TICKETCODE.Length == 28 ? TICKETCODE.Substring(6, 4) : TICKETCODE.Substring(6, 6)) + "','" +
|
||
(TICKETCODE.Length == 28 ? (TICKETCODE.Substring(10, 4).StartsWith("0") ? TICKETCODE.Substring(11, 3) :
|
||
TICKETCODE.Substring(10, 4)) : (TICKETCODE.Substring(12, 4).StartsWith("0") ?
|
||
TICKETCODE.Substring(13, 3) : TICKETCODE.Substring(12, 4))) + "','" +
|
||
TICKETCODE + "','" + trade_no + "'," + TICKETPRICE + ",'" + result_desc + "'," +
|
||
(strPaymentChannel == "" ? "1" : strPaymentChannel) + ")";
|
||
|
||
_OracleHelper.ExcuteSql(str);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 插入本地数据库(原方式)
|
||
//if (_OracleHelper.ExcuteSqlGetDataSet("SELECT 1 FROM HIGHWAY_EXCHANGE.T_SELLDATA_EXTRA WHERE TICKETCODE = '" +
|
||
// TICKETCODE + "' AND SELLDATA_TYPE = '" + PAYTYPE + "'").Tables[0].Rows.Count == 0)
|
||
//{
|
||
// //无支付记录
|
||
// string str = @"INSERT INTO HIGHWAY_EXCHANGE.T_SELLDATA_EXTRA (SELLDATA_ID,SELLDATA_TYPE,SELLDATA_DATE,
|
||
// SERVERPARTCODE,SHOPCODE,MACHINECODE,TICKETCODE,COMMODITY_CODE,FACTAMOUNT,SELLDATA_EXTRA_DESC,LINENUM)
|
||
// VALUES(HIGHWAY_EXCHANGE.SEQ_SELLDATA_EXTRA.NEXTVAL,'" + PAYTYPE + "',TO_DATE('" + PayTime +
|
||
// "','YYYY/MM/DD HH24:MI:SS'),'" + TICKETCODE.Substring(0, 6) + "','" +
|
||
// (TICKETCODE.Length == 28 ? TICKETCODE.Substring(6, 4) : TICKETCODE.Substring(6, 6)) + "','" +
|
||
// (TICKETCODE.Length == 28 ? (TICKETCODE.Substring(10, 4).StartsWith("0") ? TICKETCODE.Substring(11, 3) :
|
||
// TICKETCODE.Substring(10, 4)) : (TICKETCODE.Substring(12, 4).StartsWith("0") ?
|
||
// TICKETCODE.Substring(13, 3) : TICKETCODE.Substring(12, 4))) + "','" +
|
||
// TICKETCODE + "','" + trade_no + "'," + TICKETPRICE + ",'" + result_desc + "'," +
|
||
// (strPaymentChannel == "" ? "1" : strPaymentChannel) + ")";
|
||
|
||
// _OracleHelper.ExcuteSql(str);
|
||
//}
|
||
//else if (_OracleHelper.ExcuteSqlGetDataSet("SELECT 1 FROM HIGHWAY_EXCHANGE.T_SELLDATA_EXTRA WHERE TICKETCODE = '" +
|
||
// TICKETCODE + "' AND SELLDATA_TYPE = '" + PAYTYPE +
|
||
// "' AND UPPER(SELLDATA_EXTRA_DESC) LIKE 'SUCCESS%'").Tables[0].Rows.Count == 0)
|
||
//{
|
||
// //无支付成功记录
|
||
// string str = @"INSERT INTO HIGHWAY_EXCHANGE.T_SELLDATA_EXTRA (SELLDATA_ID,SELLDATA_TYPE,SELLDATA_DATE,
|
||
// SERVERPARTCODE,SHOPCODE,MACHINECODE,TICKETCODE,COMMODITY_CODE,FACTAMOUNT,SELLDATA_EXTRA_DESC,LINENUM)
|
||
// VALUES(HIGHWAY_EXCHANGE.SEQ_SELLDATA_EXTRA.NEXTVAL,'" + PAYTYPE + "',TO_DATE('" + PayTime +
|
||
// "','YYYY/MM/DD HH24:MI:SS'),'" + TICKETCODE.Substring(0, 6) + "','" +
|
||
// (TICKETCODE.Length == 28 ? TICKETCODE.Substring(6, 4) : TICKETCODE.Substring(6, 6)) + "','" +
|
||
// (TICKETCODE.Length == 28 ? (TICKETCODE.Substring(10, 4).StartsWith("0") ? TICKETCODE.Substring(11, 3) :
|
||
// TICKETCODE.Substring(10, 4)) : (TICKETCODE.Substring(12, 4).StartsWith("0") ?
|
||
// TICKETCODE.Substring(13, 3) : TICKETCODE.Substring(12, 4))) + "','" +
|
||
// TICKETCODE + "','" + trade_no + "'," + TICKETPRICE + ",'" + result_desc + "'," +
|
||
// (strPaymentChannel == "" ? "1" : strPaymentChannel) + ")";
|
||
// _OracleHelper.ExcuteSql(str);
|
||
//}
|
||
#endregion
|
||
|
||
if (Directory.Exists(PPath.Text + "\\" + FilePath))
|
||
{
|
||
CommonHelper.SaveTextFile(PPath.Text + "\\" + FilePath + "\\" + TICKETCODE + ".txt", result_desc, 1);
|
||
}
|
||
Flag = true;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
string LocalPath = System.AppDomain.CurrentDomain.BaseDirectory + "\\ErrorLog";
|
||
if (!Directory.Exists(LocalPath))
|
||
{
|
||
Directory.CreateDirectory(LocalPath);
|
||
}
|
||
if (!File.Exists(LocalPath + "\\" + TICKETCODE + ".txt"))
|
||
{
|
||
File.Copy(SourceFile, LocalPath + "\\" + TICKETCODE + ".txt");
|
||
}
|
||
LogHelper.WriteSendLog("订单号:" + TICKETCODE + "," + ex.Message);
|
||
try
|
||
{
|
||
//总部服务器数据库
|
||
OracleHelper _OracleHelper = new OracleHelper(_connectstringex.Split(',')[0],
|
||
_connectstringex.Split(',')[1], _connectstringex.Split(',')[2], _connectstringex.Split(',')[3]);
|
||
|
||
#region 插入交互数据库
|
||
using (DataTable _MobilePayTable = _OracleHelper.ExcuteSqlGetDataSet(
|
||
@"SELECT TICKETCODE,UPPER(SELLDATA_EXTRA_DESC) AS SELLDATA_EXTRA_DESC
|
||
FROM HIGHWAY_EXCHANGE.T_SELLDATA_EXTRA WHERE TICKETCODE = '" +
|
||
TICKETCODE + "' AND SELLDATA_TYPE = '" + PAYTYPE + "'").Tables[0])
|
||
{
|
||
if (_MobilePayTable.Rows.Count == 0 || _MobilePayTable.Select("SELLDATA_EXTRA_DESC LIKE 'SUCCESS%'").Count() == 0)
|
||
{
|
||
string str = @"INSERT INTO HIGHWAY_EXCHANGE.T_SELLDATA_EXTRA (SELLDATA_ID,SELLDATA_TYPE,SELLDATA_DATE,
|
||
SERVERPARTCODE,SHOPCODE,MACHINECODE,TICKETCODE,COMMODITY_CODE,FACTAMOUNT,SELLDATA_EXTRA_DESC,LINENUM)
|
||
VALUES (HIGHWAY_EXCHANGE.SEQ_SELLDATA_EXTRA.NEXTVAL,'" + PAYTYPE + "',TO_DATE('" + PayTime +
|
||
"','YYYY/MM/DD HH24:MI:SS'),'" + TICKETCODE.Substring(0, 6) + "','" +
|
||
(TICKETCODE.Length == 28 ? TICKETCODE.Substring(6, 4) : TICKETCODE.Substring(6, 6)) + "','" +
|
||
(TICKETCODE.Length == 28 ? (TICKETCODE.Substring(10, 4).StartsWith("0") ? TICKETCODE.Substring(11, 3) :
|
||
TICKETCODE.Substring(10, 4)) : (TICKETCODE.Substring(12, 4).StartsWith("0") ?
|
||
TICKETCODE.Substring(13, 3) : TICKETCODE.Substring(12, 4))) + "','" +
|
||
TICKETCODE + "','" + trade_no + "'," + TICKETPRICE + ",'" + result_desc + "'," +
|
||
(strPaymentChannel == "" ? "1" : strPaymentChannel) + ")";
|
||
|
||
_OracleHelper.ExcuteSql(str);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 插入交互数据库(原方式)
|
||
//if (_OracleHelper.ExcuteSqlGetDataSet("SELECT 1 FROM HIGHWAY_EXCHANGE.T_SELLDATA_EXTRA WHERE TICKETCODE = '" +
|
||
// TICKETCODE + "' AND SELLDATA_TYPE = '" + PAYTYPE + "'").Tables[0].Rows.Count == 0)
|
||
//{
|
||
// //无支付记录
|
||
// string str = @"INSERT INTO HIGHWAY_EXCHANGE.T_SELLDATA_EXTRA (SELLDATA_ID,SELLDATA_TYPE,SELLDATA_DATE,
|
||
// SERVERPARTCODE,SHOPCODE,MACHINECODE,TICKETCODE,COMMODITY_CODE,FACTAMOUNT,SELLDATA_EXTRA_DESC,LINENUM)
|
||
// VALUES(HIGHWAY_EXCHANGE.SEQ_SELLDATA_EXTRA.NEXTVAL,'" + PAYTYPE + "',TO_DATE('" + PayTime +
|
||
// "','YYYY/MM/DD HH24:MI:SS'),'" + TICKETCODE.Substring(0, 6) + "','" +
|
||
// (TICKETCODE.Length == 28 ? TICKETCODE.Substring(6, 4) : TICKETCODE.Substring(6, 6)) + "','" +
|
||
// (TICKETCODE.Length == 28 ? (TICKETCODE.Substring(10, 4).StartsWith("0") ? TICKETCODE.Substring(11, 3) :
|
||
// TICKETCODE.Substring(10, 4)) : (TICKETCODE.Substring(12, 4).StartsWith("0") ?
|
||
// TICKETCODE.Substring(13, 3) : TICKETCODE.Substring(12, 4))) + "','" +
|
||
// TICKETCODE + "','" + trade_no + "'," + TICKETPRICE + ",'" + result_desc + "'," +
|
||
// (strPaymentChannel == "" ? "1" : strPaymentChannel) + ")";
|
||
// _OracleHelper.ExcuteSql(str);
|
||
//}
|
||
//else if (_OracleHelper.ExcuteSqlGetDataSet("SELECT 1 FROM HIGHWAY_EXCHANGE.T_SELLDATA_EXTRA WHERE TICKETCODE = '" +
|
||
// TICKETCODE + "' AND SELLDATA_TYPE = '" + PAYTYPE + "' AND UPPER(SELLDATA_EXTRA_DESC) LIKE 'SUCCESS%'"
|
||
// ).Tables[0].Rows.Count == 0)
|
||
//{
|
||
// //无支付成功记录
|
||
// string str = @"INSERT INTO HIGHWAY_EXCHANGE.T_SELLDATA_EXTRA (SELLDATA_ID,SELLDATA_TYPE,SELLDATA_DATE,
|
||
// SERVERPARTCODE,SHOPCODE,MACHINECODE,TICKETCODE,COMMODITY_CODE,FACTAMOUNT,SELLDATA_EXTRA_DESC,LINENUM)
|
||
// VALUES(HIGHWAY_EXCHANGE.SEQ_SELLDATA_EXTRA.NEXTVAL,'" + PAYTYPE + "',TO_DATE('" + PayTime +
|
||
// "','YYYY/MM/DD HH24:MI:SS'),'" + TICKETCODE.Substring(0, 6) + "','" +
|
||
// (TICKETCODE.Length == 28 ? TICKETCODE.Substring(6, 4) : TICKETCODE.Substring(6, 6)) + "','" +
|
||
// (TICKETCODE.Length == 28 ? (TICKETCODE.Substring(10, 4).StartsWith("0") ? TICKETCODE.Substring(11, 3) :
|
||
// TICKETCODE.Substring(10, 4)) : (TICKETCODE.Substring(12, 4).StartsWith("0") ?
|
||
// TICKETCODE.Substring(13, 3) : TICKETCODE.Substring(12, 4))) + "','" +
|
||
// TICKETCODE + "','" + trade_no + "'," + TICKETPRICE + ",'" + result_desc + "'," +
|
||
// (strPaymentChannel == "" ? "1" : strPaymentChannel) + ")";
|
||
// _OracleHelper.ExcuteSql(str);
|
||
//}
|
||
#endregion
|
||
|
||
if (Directory.Exists(PPath.Text + "\\" + FilePath))
|
||
{
|
||
CommonHelper.SaveTextFile(PPath.Text + "\\" + FilePath + "\\" + TICKETCODE + ".txt", result_desc, 1);
|
||
}
|
||
//Flag = true;
|
||
}
|
||
catch (Exception _Exception)
|
||
{
|
||
LogHelper.WriteSendLog("订单号:" + TICKETCODE + "," + _Exception.Message);
|
||
}
|
||
}
|
||
/*try
|
||
{
|
||
//本地数据库
|
||
OracleHelper _OracleHelper = new OracleHelper(_connectstring.Split(',')[0],
|
||
_connectstring.Split(',')[1], _connectstring.Split(',')[2], _connectstring.Split(',')[3]);
|
||
|
||
string str = "SELECT * FROM HIGHWAY_EXCHANGE.T_MOBILE_PAYCHECK WHERE TICKET_CODE = '" + TICKETCODE + "'";
|
||
DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(str, "T_MOBILE_PAYCHECK").Tables[0];
|
||
if (_DataTable.Rows.Count == 0)
|
||
{
|
||
str = @"INSERT INTO HIGHWAY_EXCHANGE.T_MOBILE_PAYCHECK (MOBILE_PAYCHECK_ID,MOBILEPAY_DATE,
|
||
MOBILEPAY_TYPE,TICKET_CODE,TICKET_PRICE,TRADE_NO,TRADE_NUM,RESULT_CODE,RESULT_DESC,JSON_STRING)
|
||
VALUES (1,TO_DATE('" + PayTime + "','YYYY/MM/DD HH24:MI:SS'),'" + PAYTYPE + "','" + TICKETCODE + "'," +
|
||
TICKETPRICE + ",'" + trade_no + "','" + trade_num + "','" + result_code + "','" +
|
||
_result_desc + "','" + _PayCreateResult.Replace("\\r\\n","").Replace("\\","") + "')";
|
||
_OracleHelper.ExcuteSql(str);
|
||
}
|
||
else if (_DataTable.Rows[0]["TRADE_NO"].ToString() == "")
|
||
{
|
||
str = "UPDATE HIGHWAY_EXCHANGE.T_MOBILE_PAYCHECK SET TRADE_NO = '" + trade_no +
|
||
"' WHERE TICKET_CODE = '" + TICKETCODE + "'";
|
||
_OracleHelper.ExcuteSql(str);
|
||
}
|
||
}
|
||
catch (Exception _Exception)
|
||
{
|
||
LogHelper.WriteSendLog(_Exception.Message);
|
||
}*/
|
||
|
||
return Flag;
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 处理异常日志
|
||
protected void DealErrorTxt()
|
||
{
|
||
string WriteTxt = "", LocalPath = System.AppDomain.CurrentDomain.BaseDirectory + "\\ErrorLog";
|
||
if (Directory.Exists(LocalPath))
|
||
{
|
||
DirectoryInfo _DirectoryInfo = new DirectoryInfo(LocalPath);
|
||
foreach (FileInfo _FileInfo in _DirectoryInfo.GetFiles())
|
||
{
|
||
try
|
||
{
|
||
WriteTxt = File.ReadAllText(_FileInfo.FullName, Encoding.UTF8).Replace("'", " ");
|
||
if (!string.IsNullOrEmpty(WriteTxt.Trim()) && WriteTxt.Contains("|"))
|
||
{
|
||
string[] SplitContent = WriteTxt.Split('|');
|
||
if (InsertData(SplitContent[0], SplitContent[1], SplitContent[2], SplitContent[3],
|
||
SplitContent[4].Length > 1000 ? SplitContent[4].Substring(0, 1000) + "..." : SplitContent[4],
|
||
SplitContent[SplitContent.Length - (SplitContent.Length < 9 ? 3 : 4)],
|
||
SplitContent[SplitContent.Length - (SplitContent.Length < 9 ? 2 : 3)],
|
||
SplitContent[SplitContent.Length - (SplitContent.Length < 9 ? 1 : 2)],
|
||
SplitContent.Length < 9 ? "" : SplitContent[SplitContent.Length - 1], _FileInfo.FullName))
|
||
{
|
||
_FileInfo.Delete();
|
||
}
|
||
}
|
||
else
|
||
{
|
||
_FileInfo.Delete();
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.WriteSendLog(ex.Message + "(" + WriteTxt + ")");
|
||
}
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
private void timer1_Tick(object sender, EventArgs e)
|
||
{
|
||
//if (DateTime.Now.Hour >= 4 && DateTime.Now.Hour < 8)
|
||
//{
|
||
// TransferData();
|
||
//}
|
||
}
|
||
|
||
private void timer2_Tick(object sender, EventArgs e)
|
||
{
|
||
InsertData();
|
||
}
|
||
|
||
private void timer3_Tick(object sender, EventArgs e)
|
||
{
|
||
DealErrorTxt();
|
||
}
|
||
}
|
||
}
|