Ver código fonte

修改获取盒易付ftp数据

lcl 10 meses atrás
pai
commit
39e2a14a3f
2 arquivos alterados com 94 adições e 86 exclusões
  1. 1 1
      Startup.cs
  2. 93 85
      Util/HaoDa/GetHaoDaFTPInfoService.cs

+ 1 - 1
Startup.cs

@@ -142,7 +142,7 @@ namespace MySystem
             }
             if (Library.ConfigurationManager.EnvironmentFlag == 2)
             {
-                // GetHaoDaFTPInfoService.Instance.Start(); // 获取好哒FTP交易数据
+                GetHaoDaFTPInfoService.Instance.Start(); // 获取好哒FTP交易数据
                 GetTencentAddressInfoService.Instance.Start(); // 获取腾讯地图地址
                 GetStoreNoHelper.Instance.Start(); //获取商户门店号、微信支付宝商户号
                 MerchantConfirmService.Instance.Start(); //提交商户进件

+ 93 - 85
Util/HaoDa/GetHaoDaFTPInfoService.cs

@@ -278,6 +278,25 @@ namespace MySystem
         /// <summary>
         /// 获取好哒FTP昨日交易数据
         /// </summary>
+        public static void GetFTPDataInfoYesterdayReady()
+        {
+            while (true)
+            {
+                if (DateTime.Now.Hour > 10 && DateTime.Now.Hour < 12)
+                {
+                    string check = function.ReadInstance("/GetFTPDataInfoYesterday/check" + DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd") + ".txt");
+                    if (string.IsNullOrEmpty(check))
+                    {
+                        function.WritePage("/GetFTPDataInfoYesterday/", "check" + DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd") + ".txt", DateTime.Now.ToString());
+                        GetFTPDataInfoYesterday();
+                    }
+                }
+                else
+                {
+                    Thread.Sleep(1800000);
+                }
+            }
+        }
         public static void GetFTPDataInfoYesterday()
         {
             // 47.108.253.46
@@ -292,104 +311,93 @@ namespace MySystem
             string ftpPassword = Base.HaoDaFtpLoginPwd;
             // 要下载的文件路径
             string filePath = "/haoda-trade/" + DateTime.Now.AddDays(-1).ToString("yyyyMMdd") + ".csv";
-
-            while (true)
+            
+            try
             {
-                string check = function.ReadInstance("/GetFTPDataInfoYesterday/check" + DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd") + ".txt");
-                if (string.IsNullOrEmpty(check))
+                // 创建FtpWebRequest对象
+                FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpServerAddress + filePath);
+                request.Method = WebRequestMethods.Ftp.DownloadFile;
+                request.Credentials = new NetworkCredential(ftpUser, ftpPassword);
+
+                // 使用WebResponse获取响应
+                FtpWebResponse response = (FtpWebResponse)request.GetResponse();
+
+                // 打开数据流
+                Stream responseStream = response.GetResponseStream();
+                using (StreamReader reader = new StreamReader(responseStream))
                 {
-                    if (DateTime.Now.Hour > 11 && DateTime.Now.Hour < 24)
+                    WebCMSEntities db = new WebCMSEntities();
+                    // 读取数据
+                    string fileContents = reader.ReadToEnd();
+                    if (!string.IsNullOrEmpty(fileContents))
                     {
-                        try
+                        var DataInfo = fileContents.TrimEnd('\n').Split('\n', 2);
+                        var DataList = DataInfo[1].Split('\n');
+                        foreach (var DataListItem in DataList)
                         {
-                            // 创建FtpWebRequest对象
-                            FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpServerAddress + filePath);
-                            request.Method = WebRequestMethods.Ftp.DownloadFile;
-                            request.Credentials = new NetworkCredential(ftpUser, ftpPassword);
-
-                            // 使用WebResponse获取响应
-                            FtpWebResponse response = (FtpWebResponse)request.GetResponse();
-
-                            // 打开数据流
-                            Stream responseStream = response.GetResponseStream();
-                            using (StreamReader reader = new StreamReader(responseStream))
+                            var DataListInfo = DataListItem.Split(',');
+
+                            var MerchantNo = ""; // 商户号
+                            var BaseNo = ""; // 设备号
+                            var OrderNo = ""; // 订单号
+                            var PayWay = ""; // 支付方式(微信 支付宝)
+                            var TradeType = ""; // 交易类型
+                            var TradeAmount = ""; // 交易金额
+                            var TradeFee = ""; // 交易手续费
+                            var TradeDate = ""; // 交易时间
+                            var TradeCycle = ""; // 结算周期
+
+                            MerchantNo = DataListInfo[0];
+                            BaseNo = DataListInfo[1];
+                            OrderNo = DataListInfo[2];
+                            PayWay = DataListInfo[3];
+                            TradeType = DataListInfo[4];
+                            TradeAmount = DataListInfo[5];
+                            TradeFee = DataListInfo[6];
+                            TradeDate = DataListInfo[7];
+                            TradeCycle = DataListInfo[8];
+
+                            TradeDate = TradeDate.Substring(0, 4) + "-" + TradeDate.Substring(4, 2) + "-" + TradeDate.Substring(6, 2) + " " + TradeDate.Substring(8, 2) + ":" + TradeDate.Substring(10, 2) + ":" + TradeDate.Substring(12, 2);
+
+                            var PayMode = 0;
+                            if (PayWay.Contains("支付宝")) PayMode = 1;
+                            if (PayWay.Contains("微信")) PayMode = 2;
+
+                            var merchantAddInfo = db.MerchantAddInfo.FirstOrDefault(m => m.MchtNo == MerchantNo) ?? new MerchantAddInfo();
+                            if (merchantAddInfo.Id > 0)
                             {
-                                WebCMSEntities db = new WebCMSEntities();
-                                // 读取数据
-                                string fileContents = reader.ReadToEnd();
-                                if (!string.IsNullOrEmpty(fileContents))
+                                var merchantInfo = db.MerchantInfo.FirstOrDefault(m => m.Id == merchantAddInfo.Id) ?? new MerchantInfo();
+                                var orders = db.ConsumerOrders.FirstOrDefault(m => m.SeoTitle == OrderNo && m.OrderNo == OrderNo) ?? new ConsumerOrders();
+                                if (orders.Id == 0)
                                 {
-                                    var DataInfo = fileContents.TrimEnd('\n').Split('\n', 2);
-                                    var DataList = DataInfo[1].Split('\n');
-                                    foreach (var DataListItem in DataList)
+                                    var query = db.ConsumerOrders.Add(new ConsumerOrders()
                                     {
-                                        var DataListInfo = DataListItem.Split(',');
-
-                                        var MerchantNo = ""; // 商户号
-                                        var BaseNo = ""; // 设备号
-                                        var OrderNo = ""; // 订单号
-                                        var PayWay = ""; // 支付方式(微信 支付宝)
-                                        var TradeType = ""; // 交易类型
-                                        var TradeAmount = ""; // 交易金额
-                                        var TradeFee = ""; // 交易手续费
-                                        var TradeDate = ""; // 交易时间
-                                        var TradeCycle = ""; // 结算周期
-
-                                        MerchantNo = DataListInfo[0];
-                                        BaseNo = DataListInfo[1];
-                                        OrderNo = DataListInfo[2];
-                                        PayWay = DataListInfo[3];
-                                        TradeType = DataListInfo[4];
-                                        TradeAmount = DataListInfo[5];
-                                        TradeFee = DataListInfo[6];
-                                        TradeDate = DataListInfo[7];
-                                        TradeCycle = DataListInfo[8];
-
-                                        TradeDate = TradeDate.Substring(0, 4) + "-" + TradeDate.Substring(4, 2) + "-" + TradeDate.Substring(6, 2) + " " + TradeDate.Substring(8, 2) + ":" + TradeDate.Substring(10, 2) + ":" + TradeDate.Substring(12, 2);
-
-                                        var PayMode = 0;
-                                        if (PayWay.Contains("支付宝")) PayMode = 1;
-                                        if (PayWay.Contains("微信")) PayMode = 2;
-
-                                        var merchantAddInfo = db.MerchantAddInfo.FirstOrDefault(m => m.MchtNo == MerchantNo) ?? new MerchantAddInfo();
-                                        if (merchantAddInfo.Id > 0)
-                                        {
-                                            var merchantInfo = db.MerchantInfo.FirstOrDefault(m => m.Id == merchantAddInfo.Id) ?? new MerchantInfo();
-                                            var orders = db.ConsumerOrders.FirstOrDefault(m => m.SeoTitle == OrderNo && OrderNo == OrderNo) ?? new ConsumerOrders();
-                                            if (orders.Id == 0)
-                                            {
-                                                var query = db.ConsumerOrders.Add(new ConsumerOrders()
-                                                {
-                                                    Status = 1,
-                                                    CreateDate = DateTime.Parse(TradeDate),
-                                                    UpdateDate = DateTime.Parse(TradeDate),
-                                                    SnNo = BaseNo,
-                                                    PayMoney = decimal.Parse(TradeAmount),
-                                                    PayMode = PayMode,
-                                                    SeoTitle = OrderNo,
-                                                    OrderNo = OrderNo,
-                                                    MerchantId = merchantAddInfo.Id,
-                                                    UserId = merchantInfo.UserId
-                                                }).Entity;
-                                            }
-                                        }
-                                    }
-                                    db.SaveChanges();
-                                    db.Dispose();
+                                        Status = 1,
+                                        CreateDate = DateTime.Parse(TradeDate),
+                                        UpdateDate = DateTime.Parse(TradeDate),
+                                        SnNo = BaseNo,
+                                        PayMoney = decimal.Parse(TradeAmount),
+                                        PayMode = PayMode,
+                                        SeoTitle = OrderNo,
+                                        OrderNo = OrderNo,
+                                        MerchantId = merchantAddInfo.Id,
+                                        UserId = merchantInfo.UserId
+                                    }).Entity;
                                 }
-
-                                // 关闭响应
-                                response.Close();
-                                Thread.Sleep(1800000);
                             }
                         }
-                        catch (WebException ex)
-                        {
-                            function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "获取好哒FTP文件数据异常");
-                        }
+                        db.SaveChanges();
+                        db.Dispose();
                     }
+
+                    // 关闭响应
+                    response.Close();
                 }
             }
+            catch (WebException ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "获取好哒FTP文件数据异常");
+            }
         }
 
     }