DuGuYang 6 місяців тому
батько
коміт
156c05ad95
2 змінених файлів з 94 додано та 60 видалено
  1. 25 9
      Util/HaoDa/GetHaoDaFTPInfoService.cs
  2. 69 51
      Util/HaoDa/TestHaoDaService.cs

+ 25 - 9
Util/HaoDa/GetHaoDaFTPInfoService.cs

@@ -106,6 +106,8 @@ namespace MySystem
                                 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;
@@ -117,7 +119,7 @@ namespace MySystem
                                     var orders = db.ConsumerOrders.FirstOrDefault(m => m.SeoTitle == OrderNo && OrderNo == OrderNo) ?? new ConsumerOrders();
                                     if (orders.Id == 0)
                                     {
-                                        ConsumerOrders consumerOrders = new ConsumerOrders
+                                        var query = db.ConsumerOrders.Add(new ConsumerOrders()
                                         {
                                             Status = 1,
                                             CreateDate = DateTime.Parse(TradeDate),
@@ -129,7 +131,7 @@ namespace MySystem
                                             OrderNo = OrderNo,
                                             MerchantId = merchantAddInfo.Id,
                                             UserId = merchantInfo.UserId
-                                        };
+                                        }).Entity;
                                     }
                                 }
                             }
@@ -144,7 +146,17 @@ namespace MySystem
                 }
                 catch (WebException ex)
                 {
-                    Console.WriteLine("获取好哒FTP文件数据异常: " + ex.Message);
+                    // 如果抛出WebException,则可能是文件不存在
+                    // 根据响应状态码判断是否文件不存在
+                    if (((FtpWebResponse)ex.Response).StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable)
+                    {
+                        function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString() + "文件" + filePath + "不存在", "获取好哒FTP文件数据异常"); // 文件不存在,返回false
+                    }
+                    else
+                    {
+                        // 其他错误
+                        function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "获取好哒FTP文件数据异常");
+                    }
                 }
             }
         }
@@ -217,6 +229,8 @@ namespace MySystem
                                     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;
@@ -228,7 +242,7 @@ namespace MySystem
                                         var orders = db.ConsumerOrders.FirstOrDefault(m => m.SeoTitle == OrderNo && OrderNo == OrderNo) ?? new ConsumerOrders();
                                         if (orders.Id == 0)
                                         {
-                                            ConsumerOrders consumerOrders = new ConsumerOrders
+                                            var query = db.ConsumerOrders.Add(new ConsumerOrders()
                                             {
                                                 Status = 1,
                                                 CreateDate = DateTime.Parse(TradeDate),
@@ -240,7 +254,7 @@ namespace MySystem
                                                 OrderNo = OrderNo,
                                                 MerchantId = merchantAddInfo.Id,
                                                 UserId = merchantInfo.UserId
-                                            };
+                                            }).Entity;
                                         }
                                     }
                                 }
@@ -255,7 +269,7 @@ namespace MySystem
                     }
                     catch (WebException ex)
                     {
-                        Console.WriteLine("获取好哒FTP文件数据异常: " + ex.Message);
+                        function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "获取好哒FTP文件数据异常");
                     }
                 }
             }
@@ -328,6 +342,8 @@ namespace MySystem
                                     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;
@@ -339,7 +355,7 @@ namespace MySystem
                                         var orders = db.ConsumerOrders.FirstOrDefault(m => m.SeoTitle == OrderNo && OrderNo == OrderNo) ?? new ConsumerOrders();
                                         if (orders.Id == 0)
                                         {
-                                            ConsumerOrders consumerOrders = new ConsumerOrders
+                                            var query = db.ConsumerOrders.Add(new ConsumerOrders()
                                             {
                                                 Status = 1,
                                                 CreateDate = DateTime.Parse(TradeDate),
@@ -351,7 +367,7 @@ namespace MySystem
                                                 OrderNo = OrderNo,
                                                 MerchantId = merchantAddInfo.Id,
                                                 UserId = merchantInfo.UserId
-                                            };
+                                            }).Entity;
                                         }
                                     }
                                 }
@@ -366,7 +382,7 @@ namespace MySystem
                     }
                     catch (WebException ex)
                     {
-                        Console.WriteLine("获取好哒FTP文件数据异常: " + ex.Message);
+                        function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "获取好哒FTP文件数据异常");
                     }
                 }
             }

+ 69 - 51
Util/HaoDa/TestHaoDaService.cs

@@ -30,7 +30,7 @@ namespace MySystem
         public void StartListen()
         {
             // GetFTPListInfo(); // 获取好哒FTPInfo
-            // GetFTPDataInfo(); //获取好哒FTPDataInfo
+            GetFTPDataInfo(); //获取好哒FTPDataInfo
             //开户意愿申请
             // RedisDbconn.Instance.AddList("AlipayForHaoDaQueue",824);
             // RedisDbconn.Instance.AddList("WeChatForHaoDaQueue",824);
@@ -201,7 +201,7 @@ namespace MySystem
             }
             catch (Exception ex)
             {
-                Console.WriteLine("获取文件出错:" + ex.Message);
+                function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "获取好哒FTP文件数据异常");
             }
             return strs;
         }
@@ -238,61 +238,69 @@ namespace MySystem
                     WebCMSEntities db = new WebCMSEntities();
                     // 读取数据
                     string fileContents = reader.ReadToEnd();
-                    var DataInfo = fileContents.TrimEnd('\n').Split('\n', 2);
-                    var DataList = DataInfo[1].Split('\n');
-                    foreach (var DataListItem in DataList)
+                    if (!string.IsNullOrEmpty(fileContents))
                     {
-                        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];
-
-                        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 DataInfo = fileContents.TrimEnd('\n').Split('\n', 2);
+                        var DataList = DataInfo[1].Split('\n');
+                        foreach (var DataListItem in DataList)
                         {
-                            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 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)
                             {
-                                ConsumerOrders consumerOrders = new ConsumerOrders
+                                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)
                                 {
-                                    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
-                                };
+                                    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();
                     }
-                    db.SaveChanges();
-                    db.Dispose();
+
+                    // 关闭响应
+                    response.Close();
                 }
 
                 // 关闭响应
@@ -300,7 +308,17 @@ namespace MySystem
             }
             catch (WebException ex)
             {
-                Console.WriteLine("获取好哒FTP文件数据异常: " + ex.Message);
+                // 如果抛出WebException,则可能是文件不存在
+                // 根据响应状态码判断是否文件不存在
+                if (((FtpWebResponse)ex.Response).StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString() + "文件" + filePath + "不存在", "获取好哒FTP文件数据异常"); // 文件不存在,返回false
+                }
+                else
+                {
+                    // 其他错误
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "获取好哒FTP文件数据异常");
+                }
             }
         }