Browse Source

日志统一封装

lcl 1 year ago
parent
commit
b558cc9e34

+ 1 - 1
Areas/Api/Controllers/v1/PublicMethodController.cs

@@ -43,7 +43,7 @@ namespace MySystem.Areas.Api.Controllers
             }
             catch (Exception ex)
             {
-                function.WriteLog(DateTime.Now + ":" + ex.ToString(), "系统上传图片异常");
+                LogHelper.Instance.WriteLog(DateTime.Now + ":" + ex.ToString(), "系统上传图片异常");
                 return Json(new AppResultJson() { Status = "1", Info = "", Data = "" });
             }
         }

+ 1 - 1
Filter/GlobalExceptionsFilter.cs

@@ -10,7 +10,7 @@ namespace MySystem
         {
             string Message = context.Exception.Message;
             string StackTrace = context.Exception.StackTrace;
-            function.WriteLog(DateTime.Now.ToString() + "\r\n" + Message + "\r\n" + StackTrace, "Global全局异常处理日志");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString() + "\r\n" + Message + "\r\n" + StackTrace, "Global全局异常处理日志");
         }
     }
 }

+ 5 - 5
Util/HaoDa/Alipay/AliIotFunction.cs

@@ -36,7 +36,7 @@ namespace MySystem
             "  \"device_id\":\"" + DeviceId + "\"" +
             // "  \"supplier_id\":\"2022043454334\"" +
             "}";
-            function.WriteLog(request.BizContent, "间连iot设备和间连商户绑定");
+            LogHelper.Instance.WriteLog(request.BizContent, "间连iot设备和间连商户绑定");
 
             string result = "";
             try
@@ -46,7 +46,7 @@ namespace MySystem
             }
             catch (Exception ex)
             {
-                function.WriteLog(ex.ToString(), "间连iot设备和间连商户绑定异常");
+                LogHelper.Instance.WriteLog(ex.ToString(), "间连iot设备和间连商户绑定异常");
                 result = "";
             }
             return result;
@@ -67,18 +67,18 @@ namespace MySystem
             "  \"amount\":\"" + Amount + "\"" +
             // "  \"msg_id\":\"202108020001101043\"" +
             "}";
-            function.WriteLog(request.BizContent, "到账播报");
+            LogHelper.Instance.WriteLog(request.BizContent, "到账播报");
 
             string result = "";
             try
             {
                 AlipayCommerceIotDeviceTradevoiceSendResponse response=client.Execute(request);
                 result = response.Body;
-                function.WriteLog(result + "\n\n", "到账播报");
+                LogHelper.Instance.WriteLog(result + "\n\n", "到账播报");
             }
             catch (Exception ex)
             {
-                function.WriteLog(ex.ToString(), "到账播报异常");
+                LogHelper.Instance.WriteLog(ex.ToString(), "到账播报异常");
                 result = "";
             }
             return result;

+ 6 - 6
Util/HaoDa/AlipayFunctionForHD.cs

@@ -113,17 +113,17 @@ namespace MySystem
             "  }" +
             "}";
             request.BizContent = BizContent;
-            function.WriteLog(BizContent, "支付宝开户意愿确认");
+            LogHelper.Instance.WriteLog(BizContent, "支付宝开户意愿确认");
             string result = "";
             try
             {
                 AlipayMerchantIndirectAuthorderCreateResponse response = client.Execute(request);
                 result = response.Body;
-                function.WriteLog(result, "支付宝开户意愿确认");
+                LogHelper.Instance.WriteLog(result, "支付宝开户意愿确认");
             }
             catch (Exception ex)
             {
-                function.WriteLog(ex.ToString(), "支付宝开户意愿确认异常");
+                LogHelper.Instance.WriteLog(ex.ToString(), "支付宝开户意愿确认异常");
                 result = "";
             }
             return result;
@@ -139,18 +139,18 @@ namespace MySystem
             request.BizContent = "{" +
             "  \"order_no\":\"" + OrderNo + "\"" +
             "}";
-            function.WriteLog(request.BizContent, "查询支付宝商家认证申请单状态");
+            LogHelper.Instance.WriteLog(request.BizContent, "查询支付宝商家认证申请单状态");
 
             string result = "";
             try
             {
                 AlipayMerchantIndirectAuthorderQuerystatusResponse response = client.Execute(request);
                 result = response.Body;
-                function.WriteLog(result, "查询支付宝商家认证申请单状态");
+                LogHelper.Instance.WriteLog(result, "查询支付宝商家认证申请单状态");
             }
             catch (Exception ex)
             {
-                function.WriteLog(ex.ToString(), "查询支付宝商家认证申请单状态异常");
+                LogHelper.Instance.WriteLog(ex.ToString(), "查询支付宝商家认证申请单状态异常");
                 result = "";
             }
             return result;

+ 1 - 1
Util/HaoDa/CheckWeChatSignService.cs

@@ -149,7 +149,7 @@ namespace MySystem
             }
             catch (Exception ex)
             {
-                function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "好哒商户进件状态查询异常");
+                LogHelper.Instance.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "好哒商户进件状态查询异常");
             }
             return "";
         }

+ 1 - 1
Util/HaoDa/HaoDaAuthQueryHelper.cs

@@ -79,7 +79,7 @@ public class HaoDaAuthQueryHelper
         }
         catch (Exception ex)
         {
-            function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "查询实名认证状态异常");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "查询实名认证状态异常");
         }
     }
 }

+ 2 - 2
Util/HaoDa/HaoDaExtHelper.cs

@@ -66,7 +66,7 @@ public class HaoDaExtHelper
         }
         catch(Exception ex)
         {
-            function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "微信开户意愿申请异常");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "微信开户意愿申请异常");
         }
     }
 
@@ -120,7 +120,7 @@ public class HaoDaExtHelper
         }
         catch(Exception ex)
         {
-            function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "支付宝开户意愿申请异常");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "支付宝开户意愿申请异常");
         }
     }
 }

+ 2 - 2
Util/HaoDa/HaoDaExtQueryHelper.cs

@@ -75,7 +75,7 @@ public class HaoDaExtQueryHelper
         }
         catch (Exception ex)
         {
-            function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "微信开户意愿申请异常");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "微信开户意愿申请异常");
         }
     }
 
@@ -151,7 +151,7 @@ public class HaoDaExtQueryHelper
         }
         catch (Exception ex)
         {
-            function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "支付宝开户意愿申请异常");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "支付宝开户意愿申请异常");
         }
     }
 }

+ 137 - 137
Util/HaoDa/HaoDaHelper.cs

@@ -44,17 +44,17 @@ namespace MySystem
         public string AddNewMerchant(AddNewMerchant request)
         {
             request.brh = BrhCode;
-            function.WriteLog(DateTime.Now.ToString(), "好哒新创建商户");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒新创建商户");
 
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(request);
-            function.WriteLog(req, "好哒新创建商户");
+            LogHelper.Instance.WriteLog(req, "好哒新创建商户");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒新创建商户");
-            function.WriteLog("请求参数\n" + req, "好哒新创建商户");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/inst/mcht/new_create_mcht", "好哒新创建商户");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒新创建商户");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒新创建商户");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/inst/mcht/new_create_mcht", "好哒新创建商户");
             string result = PostWebRequest(BoxRequestUrl + "/api/inst/mcht/new_create_mcht", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒新创建商户");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒新创建商户");
 
             return result;
         }
@@ -67,20 +67,20 @@ namespace MySystem
         /// <returns></returns>
         public string QueryMerchantStatus(string instId, string mchtNo)
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒查询商户审核状态");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒查询商户审核状态");
             Dictionary<string, object> reqdic = new Dictionary<string, object>();
             reqdic.Add("instId", instId);
             reqdic.Add("mchtNo", mchtNo);
 
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
-            function.WriteLog(req, "好哒查询商户审核状态");
+            LogHelper.Instance.WriteLog(req, "好哒查询商户审核状态");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒查询商户审核状态");
-            function.WriteLog("请求参数\n" + req, "好哒查询商户审核状态");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/inst/mcht/query_mcht_audit", "好哒查询商户审核状态");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒查询商户审核状态");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒查询商户审核状态");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/inst/mcht/query_mcht_audit", "好哒查询商户审核状态");
             string result = PostWebRequest(BoxRequestUrl + "/api/inst/mcht/query_mcht_audit", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒查询商户审核状态");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒查询商户审核状态");
 
             return result;
         }
@@ -93,19 +93,19 @@ namespace MySystem
         /// <returns></returns>
         public string QueryAuthStatus(string mchtNo, string storeNo)
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒查询实名认证状态");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒查询实名认证状态");
             Dictionary<string, object> reqdic = new Dictionary<string, object>();
             reqdic.Add("mchtNo", mchtNo); // 慧掌柜商户号
             reqdic.Add("storeNo", storeNo); // 慧掌柜门店号
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
-            function.WriteLog(req, "好哒查询实名认证状态");
+            LogHelper.Instance.WriteLog(req, "好哒查询实名认证状态");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒查询实名认证状态");
-            function.WriteLog("请求参数\n" + req, "好哒查询实名认证状态");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/hzg/v2/wechat/queryVerifiedResult.json", "好哒查询实名认证状态");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒查询实名认证状态");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒查询实名认证状态");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/hzg/v2/wechat/queryVerifiedResult.json", "好哒查询实名认证状态");
             string result = PostWebRequest(BoxRequestUrl + "/api/hzg/v2/wechat/queryVerifiedResult.json", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒查询实名认证状态");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒查询实名认证状态");
 
             return result;
         }
@@ -118,19 +118,19 @@ namespace MySystem
         /// <returns></returns>
         public string QueryAuthQRcode(string mchtNo, string storeNo)
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒查询实名认证二维码");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒查询实名认证二维码");
             Dictionary<string, object> reqdic = new Dictionary<string, object>();
             reqdic.Add("mchtNo", mchtNo); // 慧掌柜商户号
             reqdic.Add("storeNo", storeNo); // 慧掌柜门店号
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
-            function.WriteLog(req, "好哒查询实名认证二维码");
+            LogHelper.Instance.WriteLog(req, "好哒查询实名认证二维码");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒查询实名认证二维码");
-            function.WriteLog("请求参数\n" + req, "好哒查询实名认证二维码");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/hzg/v2/wechat/queryVerifiedQrcode.json", "好哒查询实名认证二维码");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒查询实名认证二维码");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒查询实名认证二维码");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/hzg/v2/wechat/queryVerifiedQrcode.json", "好哒查询实名认证二维码");
             string result = PostWebRequest(BoxRequestUrl + "/api/hzg/v2/wechat/queryVerifiedQrcode.json", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒查询实名认证二维码");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒查询实名认证二维码");
 
             return result;
         }
@@ -151,7 +151,7 @@ namespace MySystem
         /// <returns></returns>
         public string WeChatPay(string mchtNo, string storeNo, string outOrderNo, string transAmount, string callbackUrl, string subOpenId, string confirmCode, string subAppId, string subAppIdType, string ledgerModel)
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒微信公众号和小程序支付");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒微信公众号和小程序支付");
             Dictionary<string, object> reqdic = new Dictionary<string, object>();
             reqdic.Add("mchtNo", mchtNo); //盒子的商户编号
             reqdic.Add("storeNo", storeNo); //盒子的门店编码	
@@ -165,14 +165,14 @@ namespace MySystem
             reqdic.Add("ledgerModel", ledgerModel); //分账类型:1不分账 2分账,注意只有开通了分账才能传这个字段
 
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
-            function.WriteLog(req, "好哒微信公众号和小程序支付");
+            LogHelper.Instance.WriteLog(req, "好哒微信公众号和小程序支付");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒微信公众号和小程序支付");
-            function.WriteLog("请求参数\n" + req, "好哒微信公众号和小程序支付");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/hzg/v2/unitedtrade/wechat_js_pay", "好哒微信公众号和小程序支付");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒微信公众号和小程序支付");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒微信公众号和小程序支付");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/hzg/v2/unitedtrade/wechat_js_pay", "好哒微信公众号和小程序支付");
             string result = PostWebRequest(BoxRequestUrl + "/api/hzg/v2/unitedtrade/wechat_js_pay", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒微信公众号和小程序支付");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒微信公众号和小程序支付");
 
             return result;
         }
@@ -190,7 +190,7 @@ namespace MySystem
         /// <returns></returns>
         public string Alipay(string mchtNo, string storeNo, string outOrderNo, string transAmount, string callbackUrl, string subOpenId, string confirmCode)
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒支付宝服务窗支付");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒支付宝服务窗支付");
             Dictionary<string, object> reqdic = new Dictionary<string, object>();
             reqdic.Add("mchtNo", mchtNo); //盒子的商户编号
             reqdic.Add("storeNo", storeNo); //盒子的门店编码	
@@ -201,14 +201,14 @@ namespace MySystem
             reqdic.Add("confirmCode", confirmCode); //支付确认码,由4位纯数字组成,每次请求时随机生成
 
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
-            function.WriteLog(req, "好哒支付宝服务窗支付");
+            LogHelper.Instance.WriteLog(req, "好哒支付宝服务窗支付");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒支付宝服务窗支付");
-            function.WriteLog("请求参数\n" + req, "好哒支付宝服务窗支付");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/hzg/v2/unitedtrade/wechat_js_pay", "好哒支付宝服务窗支付");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒支付宝服务窗支付");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒支付宝服务窗支付");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/hzg/v2/unitedtrade/wechat_js_pay", "好哒支付宝服务窗支付");
             string result = PostWebRequest(BoxRequestUrl + "/api/hzg/v2/unitedtrade/wechat_js_pay", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒支付宝服务窗支付");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒支付宝服务窗支付");
 
             return result;
         }
@@ -224,7 +224,7 @@ namespace MySystem
         /// <returns></returns>
         public string AggregatedPayRefund(string mchtNo, string storeNo, string outRefundNo, string outOrderNo, string refundAmount)
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒聚合支付退款");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒聚合支付退款");
             Dictionary<string, object> reqdic = new Dictionary<string, object>();
 
             reqdic.Add("mchtNo", mchtNo); // 盒子的商户编号	
@@ -234,14 +234,14 @@ namespace MySystem
             reqdic.Add("refundAmount", refundAmount); //10 退款金额,单位:分
 
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
-            function.WriteLog(req, "好哒聚合支付退款");
+            LogHelper.Instance.WriteLog(req, "好哒聚合支付退款");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒聚合支付退款");
-            function.WriteLog("请求参数\n" + req, "好哒聚合支付退款");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/hzg/v2/unitedtrade/refund", "好哒聚合支付退款");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒聚合支付退款");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒聚合支付退款");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/hzg/v2/unitedtrade/refund", "好哒聚合支付退款");
             string result = PostWebRequest(BoxRequestUrl + "/api/hzg/v2/unitedtrade/refund", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒聚合支付退款");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒聚合支付退款");
 
             return result;
         }
@@ -254,21 +254,21 @@ namespace MySystem
         /// <returns></returns>
         public string OpenDivideAccounts(string mchtNo, string storeNo)
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒开通分账");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒开通分账");
             Dictionary<string, object> reqdic = new Dictionary<string, object>();
 
             reqdic.Add("mchtNo", mchtNo); // 慧掌柜商户号	
             reqdic.Add("storeNo", storeNo); // 慧掌柜门店号	
 
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
-            function.WriteLog(req, "好哒开通分账");
+            LogHelper.Instance.WriteLog(req, "好哒开通分账");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒开通分账");
-            function.WriteLog("请求参数\n" + req, "好哒开通分账");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/part/mcht/reg", "好哒开通分账");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒开通分账");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒开通分账");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/part/mcht/reg", "好哒开通分账");
             string result = PostWebRequest(BoxRequestUrl + "/api/v3/hzg/part/mcht/reg", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒开通分账");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒开通分账");
 
             return result;
         }
@@ -282,20 +282,20 @@ namespace MySystem
         /// <returns></returns>
         public string DivideAccountsSign(string acctNo, string mchtNo, string storeNo)
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒分账接收方签约");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒分账接收方签约");
             Dictionary<string, object> reqdic = new Dictionary<string, object>();
             reqdic.Add("acctNo", acctNo); // 账户号	
             reqdic.Add("mchtNo", mchtNo); // 慧掌柜商户号
             reqdic.Add("storeNo", storeNo); // 慧掌柜门店号
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
-            function.WriteLog(req, "好哒分账接收方签约");
+            LogHelper.Instance.WriteLog(req, "好哒分账接收方签约");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒分账接收方签约");
-            function.WriteLog("请求参数\n" + req, "好哒分账接收方签约");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/part/acct/bind_mcht", "好哒分账接收方签约");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒分账接收方签约");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒分账接收方签约");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/part/acct/bind_mcht", "好哒分账接收方签约");
             string result = PostWebRequest(BoxRequestUrl + "/api/v3/hzg/part/acct/bind_mcht", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒分账接收方签约");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒分账接收方签约");
 
             return result;
         }
@@ -307,17 +307,17 @@ namespace MySystem
         /// <returns></returns>
         public string AddOpenDivideAccounts(AddOpenDivideAccounts request)
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒添加分账接收方账户");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒添加分账接收方账户");
 
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(request);
-            function.WriteLog(req, "好哒添加分账接收方账户");
+            LogHelper.Instance.WriteLog(req, "好哒添加分账接收方账户");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒添加分账接收方账户");
-            function.WriteLog("请求参数\n" + req, "好哒添加分账接收方账户");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/part/acct/register", "好哒添加分账接收方账户");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒添加分账接收方账户");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒添加分账接收方账户");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/part/acct/register", "好哒添加分账接收方账户");
             string result = PostWebRequest(BoxRequestUrl + "/api/v3/hzg/part/acct/register", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒添加分账接收方账户");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒添加分账接收方账户");
 
             return result;
         }
@@ -330,19 +330,19 @@ namespace MySystem
         /// <returns></returns>
         public string QueryOrderDivideAccounts(string mchtNo, string orderNo)
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒分账交易详情查询");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒分账交易详情查询");
             Dictionary<string, object> reqdic = new Dictionary<string, object>();
             reqdic.Add("mchtNo", mchtNo); // 慧掌柜商户号
             reqdic.Add("orderNo", orderNo); // 交易订单号	
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
-            function.WriteLog(req, "好哒分账交易详情查询");
+            LogHelper.Instance.WriteLog(req, "好哒分账交易详情查询");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒分账交易详情查询");
-            function.WriteLog("请求参数\n" + req, "好哒分账交易详情查询");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/part/acct/bind_mcht", "好哒分账交易详情查询");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒分账交易详情查询");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒分账交易详情查询");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/part/acct/bind_mcht", "好哒分账交易详情查询");
             string result = PostWebRequest(BoxRequestUrl + "/api/v3/hzg/part/acct/bind_mcht", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒分账交易详情查询");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒分账交易详情查询");
 
             return result;
         }
@@ -355,17 +355,17 @@ namespace MySystem
         /// 
         public string OrderDivideAccounts(OrderDivideAccounts request)
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒订单分账申请");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒订单分账申请");
 
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(request);
-            function.WriteLog(req, "好哒订单分账申请");
+            LogHelper.Instance.WriteLog(req, "好哒订单分账申请");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒订单分账申请");
-            function.WriteLog("请求参数\n" + req, "好哒订单分账申请");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/part/order/apply", "好哒订单分账申请");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒订单分账申请");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒订单分账申请");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/part/order/apply", "好哒订单分账申请");
             string result = PostWebRequest(BoxRequestUrl + "/api/v3/hzg/part/order/apply", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒订单分账申请");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒订单分账申请");
 
             return result;
         }
@@ -378,19 +378,19 @@ namespace MySystem
         /// <returns></returns>
         public string OrderDivideAccountsQuery(string applyNo, string mchtNo)
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒订单分账结果查询");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒订单分账结果查询");
             Dictionary<string, object> reqdic = new Dictionary<string, object>();
             reqdic.Add("applyNo", applyNo); // 账户号	
             reqdic.Add("mchtNo", mchtNo); // 慧掌柜商户号
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
-            function.WriteLog(req, "好哒订单分账结果查询");
+            LogHelper.Instance.WriteLog(req, "好哒订单分账结果查询");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒订单分账结果查询");
-            function.WriteLog("请求参数\n" + req, "好哒订单分账结果查询");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/part/apply/query", "好哒订单分账结果查询");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒订单分账结果查询");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒订单分账结果查询");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/part/apply/query", "好哒订单分账结果查询");
             string result = PostWebRequest(BoxRequestUrl + "/api/v3/hzg/part/apply/query", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒订单分账结果查询");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒订单分账结果查询");
 
             return result;
         }
@@ -402,17 +402,17 @@ namespace MySystem
         /// <returns></returns>
         // public string ChangeMerchantCard(ChangeMerchantCard request)
         // {
-        //     function.WriteLog(DateTime.Now.ToString(), "好哒商户修改银行卡");
+        //     LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒商户修改银行卡");
 
         //     string req = Newtonsoft.Json.JsonConvert.SerializeObject(request);
-        //     function.WriteLog(req, "好哒商户修改银行卡");
+        //     LogHelper.Instance.WriteLog(req, "好哒商户修改银行卡");
         //     Dictionary<string, string> headdic = GetHeader(req);
         //     string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-        //     function.WriteLog("请求头\n" + head, "好哒商户修改银行卡");
-        //     function.WriteLog("请求参数\n" + req, "好哒商户修改银行卡");
-        //     function.WriteLog("请求地址:" + BoxRequestUrl + "/api/inst/mcht/update_acct", "好哒商户修改银行卡");
+        //     LogHelper.Instance.WriteLog("请求头\n" + head, "好哒商户修改银行卡");
+        //     LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒商户修改银行卡");
+        //     LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/inst/mcht/update_acct", "好哒商户修改银行卡");
         //     string result = PostWebRequest(BoxRequestUrl + "/api/inst/mcht/update_acct", req, headdic);
-        //     function.WriteLog("返回\n" + result + "\n\n", "好哒商户修改银行卡");
+        //     LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒商户修改银行卡");
 
         //     return result;
         // }
@@ -425,20 +425,20 @@ namespace MySystem
         /// <returns></returns>
         public string QueryChangeCardStatus(string mchtNo, string taskId)
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒查询修改银行卡任务审核状态");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒查询修改银行卡任务审核状态");
             Dictionary<string, object> reqdic = new Dictionary<string, object>();
             reqdic.Add("mchtNo", mchtNo);
             reqdic.Add("taskId", taskId);
 
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
-            function.WriteLog(req, "好哒查询修改银行卡任务审核状态");
+            LogHelper.Instance.WriteLog(req, "好哒查询修改银行卡任务审核状态");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒查询修改银行卡任务审核状态");
-            function.WriteLog("请求参数\n" + req, "好哒查询修改银行卡任务审核状态");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/inst/mcht/query_acct_task", "好哒查询修改银行卡任务审核状态");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒查询修改银行卡任务审核状态");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒查询修改银行卡任务审核状态");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/inst/mcht/query_acct_task", "好哒查询修改银行卡任务审核状态");
             string result = PostWebRequest(BoxRequestUrl + "/api/inst/mcht/query_acct_task", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒查询修改银行卡任务审核状态");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒查询修改银行卡任务审核状态");
 
             return result;
         }
@@ -453,7 +453,7 @@ namespace MySystem
         /// <returns></returns>
         public string BindWeChatAppId(string mchtNo, string storeNo, string subAppId)
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒绑定微信appid接口");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒绑定微信appid接口");
             Dictionary<string, object> reqdic = new Dictionary<string, object>();
 
             reqdic.Add("mchtNo", mchtNo); // 盒子商户号	
@@ -461,14 +461,14 @@ namespace MySystem
             reqdic.Add("subAppId", subAppId); // 公众号appid或者小程序appid	
 
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
-            function.WriteLog(req, "好哒绑定微信appid接口");
+            LogHelper.Instance.WriteLog(req, "好哒绑定微信appid接口");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒绑定微信appid接口");
-            function.WriteLog("请求参数\n" + req, "好哒绑定微信appid接口");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/hzg/v2/wechat/add_sub_config", "好哒绑定微信appid接口");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒绑定微信appid接口");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒绑定微信appid接口");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/hzg/v2/wechat/add_sub_config", "好哒绑定微信appid接口");
             string result = PostWebRequest(BoxRequestUrl + "/api/hzg/v2/wechat/add_sub_config", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒绑定微信appid接口");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒绑定微信appid接口");
 
             return result;
         }
@@ -487,7 +487,7 @@ namespace MySystem
         /// <returns></returns>
         public string QueryAccountList(string mchtNo, string startTime, string endTime, string tradeMchtNo, string cardNo, string settleStatus, string page = "1", string rows = "10")
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒到账记录查询");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒到账记录查询");
             Dictionary<string, object> reqdic = new Dictionary<string, object>();
 
             reqdic.Add("mchtNo", mchtNo); // 盒子商户号	
@@ -500,14 +500,14 @@ namespace MySystem
             reqdic.Add("rows", rows); // 每页大小,默认10,最大500	
 
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
-            function.WriteLog(req, "好哒到账记录查询");
+            LogHelper.Instance.WriteLog(req, "好哒到账记录查询");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒到账记录查询");
-            function.WriteLog("请求参数\n" + req, "好哒到账记录查询");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/accb/to_account/query", "好哒到账记录查询");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒到账记录查询");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒到账记录查询");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/accb/to_account/query", "好哒到账记录查询");
             string result = PostWebRequest(BoxRequestUrl + "/api/v3/hzg/accb/to_account/query", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒到账记录查询");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒到账记录查询");
 
             return result;
         }
@@ -520,21 +520,21 @@ namespace MySystem
         /// <returns></returns>
         public string QueryAccountDetail(string mchtNo, string id)
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒到账记录详情");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒到账记录详情");
             Dictionary<string, object> reqdic = new Dictionary<string, object>();
 
             reqdic.Add("mchtNo", mchtNo); // 商户号	
             reqdic.Add("id", id); // id	
 
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
-            function.WriteLog(req, "好哒到账记录详情");
+            LogHelper.Instance.WriteLog(req, "好哒到账记录详情");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒到账记录详情");
-            function.WriteLog("请求参数\n" + req, "好哒到账记录详情");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/accb/to_account/get", "好哒到账记录详情");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒到账记录详情");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒到账记录详情");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/accb/to_account/get", "好哒到账记录详情");
             string result = PostWebRequest(BoxRequestUrl + "/api/v3/hzg/accb/to_account/get", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒到账记录详情");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒到账记录详情");
 
             return result;
         }
@@ -547,7 +547,7 @@ namespace MySystem
         /// 
         public string OrderDivideAccounts22()
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒订单分账申请");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒订单分账申请");
             Dictionary<string, object> reqdic = new Dictionary<string, object>();
             List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
             Dictionary<string, object> lists = new Dictionary<string, object>();
@@ -568,14 +568,14 @@ namespace MySystem
             
             reqdic.Add("detail", list);
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
-            function.WriteLog(req, "好哒订单分账申请");
+            LogHelper.Instance.WriteLog(req, "好哒订单分账申请");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒订单分账申请");
-            function.WriteLog("请求参数\n" + req, "好哒订单分账申请");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/part/order/apply", "好哒订单分账申请");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒订单分账申请");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒订单分账申请");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/part/order/apply", "好哒订单分账申请");
             string result = PostWebRequest(BoxRequestUrl + "/api/v3/hzg/part/order/apply", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒订单分账申请");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒订单分账申请");
 
             return result;
         }
@@ -588,19 +588,19 @@ namespace MySystem
         /// <returns></returns>
         public string QueryOrderDivideAccountsss()
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒分账交易详情查询");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒分账交易详情查询");
             Dictionary<string, object> reqdic = new Dictionary<string, object>();
             reqdic.Add("mchtNo", "1475762"); // 慧掌柜商户号
             reqdic.Add("orderNo", "G2230907C01986946066"); // 交易订单号	
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
-            function.WriteLog(req, "好哒分账交易详情查询");
+            LogHelper.Instance.WriteLog(req, "好哒分账交易详情查询");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒分账交易详情查询");
-            function.WriteLog("请求参数\n" + req, "好哒分账交易详情查询");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/part/trade/clear/get", "好哒分账交易详情查询");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒分账交易详情查询");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒分账交易详情查询");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/part/trade/clear/get", "好哒分账交易详情查询");
             string result = PostWebRequest(BoxRequestUrl + "/api/v3/hzg/part/trade/clear/get", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒分账交易详情查询");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒分账交易详情查询");
 
             return result;
         }
@@ -616,7 +616,7 @@ namespace MySystem
         /// <returns></returns>
         public string AggregatedPayRefundsss()
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒聚合支付退款");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒聚合支付退款");
             Dictionary<string, object> reqdic = new Dictionary<string, object>();
 
             reqdic.Add("mchtNo", "1475762"); // 盒子的商户编号	
@@ -627,14 +627,14 @@ namespace MySystem
             reqdic.Add("refundReason", "门店分红"); //退款原因(仅微信交易且退款金额大于1元时在退款消息中展示)
 
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
-            function.WriteLog(req, "好哒聚合支付退款");
+            LogHelper.Instance.WriteLog(req, "好哒聚合支付退款");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒聚合支付退款");
-            function.WriteLog("请求参数\n" + req, "好哒聚合支付退款");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/hzg/v2/unitedtrade/refund", "好哒聚合支付退款");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒聚合支付退款");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒聚合支付退款");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/hzg/v2/unitedtrade/refund", "好哒聚合支付退款");
             string result = PostWebRequest(BoxRequestUrl + "/api/hzg/v2/unitedtrade/refund", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒聚合支付退款");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒聚合支付退款");
 
             return result;
         }
@@ -700,9 +700,9 @@ namespace MySystem
             string ret = string.Empty;
             try
             {
-                function.WriteLog(DateTime.Now.ToString(), "请求好哒API日志");
-                function.WriteLog(postUrl, "请求好哒API日志");
-                function.WriteLog(paramData, "请求好哒API日志");
+                LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "请求好哒API日志");
+                LogHelper.Instance.WriteLog(postUrl, "请求好哒API日志");
+                LogHelper.Instance.WriteLog(paramData, "请求好哒API日志");
                 byte[] postData = System.Text.Encoding.UTF8.GetBytes(paramData);
                 // 设置提交的相关参数 
                 System.Net.HttpWebRequest request = System.Net.WebRequest.Create(postUrl) as System.Net.HttpWebRequest;
@@ -733,7 +733,7 @@ namespace MySystem
                 srcString = reader.ReadToEnd();
                 ret = srcString;   //返回值赋值
                 reader.Close();
-                function.WriteLog(srcString, "请求好哒API日志");
+                LogHelper.Instance.WriteLog(srcString, "请求好哒API日志");
             }
             catch (System.Net.WebException ex)
             {
@@ -747,7 +747,7 @@ namespace MySystem
             catch (Exception ex)
             {
                 ret = "fail";
-                function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "请求好哒API异常");
+                LogHelper.Instance.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "请求好哒API异常");
             }
             return ret;
         }
@@ -760,21 +760,21 @@ namespace MySystem
         /// <returns></returns>
         public string GetToken(string fileName, string action)
         {
-            function.WriteLog(DateTime.Now.ToString(), "好哒获取文件令牌接口");
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒获取文件令牌接口");
             Dictionary<string, object> reqdic = new Dictionary<string, object>();
 
             reqdic.Add("fileName", fileName); // 文件名	
             reqdic.Add("action", action); // 操作类型 0 上传图片
 
             string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
-            function.WriteLog(req, "好哒获取文件令牌接口");
+            LogHelper.Instance.WriteLog(req, "好哒获取文件令牌接口");
             Dictionary<string, string> headdic = GetHeader(req);
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
-            function.WriteLog("请求头\n" + head, "好哒获取文件令牌接口");
-            function.WriteLog("请求参数\n" + req, "好哒获取文件令牌接口");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/auth/v1/get_file_token", "好哒获取文件令牌接口");
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒获取文件令牌接口");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒获取文件令牌接口");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/auth/v1/get_file_token", "好哒获取文件令牌接口");
             string result = PostWebRequest(BoxRequestUrl + "/api/auth/v1/get_file_token", req, headdic);
-            function.WriteLog("返回\n" + result + "\n\n", "好哒获取文件令牌接口");
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒获取文件令牌接口");
 
             return result;
         }

+ 1 - 1
Util/HaoDa/MerchantConfirmService.cs

@@ -37,7 +37,7 @@ namespace MySystem
                     }
                     catch (Exception ex)
                     {
-                        function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "好哒商户进件异常");
+                        LogHelper.Instance.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "好哒商户进件异常");
                     }
                 }
                 else

+ 1 - 1
Util/HaoDa/ProfitHelper.cs

@@ -202,7 +202,7 @@ namespace MySystem
                 }
                 catch (Exception ex)
                 {
-                    function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":" + ex.ToString(), "自定义分润程序监听队列异常");
+                    LogHelper.Instance.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":" + ex.ToString(), "自定义分润程序监听队列异常");
                     tran.Rollback();
                 }
             }

+ 1 - 1
Util/HaoDa/ProfitShareService.cs

@@ -65,7 +65,7 @@ namespace MySystem
             }
             catch (Exception ex)
             {
-                function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "分账队列异常");
+                LogHelper.Instance.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "分账队列异常");
             }
         }
     }

+ 6 - 6
Util/HaoDa/WeChatFunctionForHD.cs

@@ -127,9 +127,9 @@ namespace MySystem
             // 商户API证书和微信支付平台证书均可以使用第三方的证书解析工具,查看证书内容。或者使用openssl命令行工具查看证书序列号。
             // $ openssl x509 -in 1900009191_20180326_cert.pem -noout -serial
             // serial=1DDE55AD98ED71D6EDD4A4A16996DE7B47773A8C
-            function.WriteLog(req, "间连商户开户意愿确认");
+            LogHelper.Instance.WriteLog(req, "间连商户开户意愿确认");
             string resp = postJson("https://api.mch.weixin.qq.com/v3/apply4subject/applyment", req);
-            function.WriteLog(resp + "\n\n", "间连商户开户意愿确认");
+            LogHelper.Instance.WriteLog(resp + "\n\n", "间连商户开户意愿确认");
             return resp;
         }
 
@@ -146,13 +146,13 @@ namespace MySystem
                 //"{\"applyment_state\":\"APPLYMENT_STATE_REJECTED\",\"reject_param\":\"licence_valid_date|cert_valid_date\",\"reject_reason\":\"有效期开始日期填写有误,请填写与营业执照上一致的开始日期,如影印件上无开始日期请填写成立日期/注册日期;有效期结束日期填写有误,请填写与营业执照上一致的日期,如影印件上无结束日期请填写“长期”\"}"
 
                 //{\"applyment_id\":2000002247709762,\"applyment_state\":\"APPLYMENT_STATE_FINISHED\",\"applyment_state_msg\":\"商户入驻申请已完成\",\"audit_detail\":[],\"business_code\":\"0123456789\",\"sign_url\":\"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQFv7zwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyUXE1czkzb3JlUjIxZHpXbTF5Y2YAAgRjbe9hAwQAjScA\",\"sub_mchid\":\"1619775262\"}
-                function.WriteLog(BusinessCode, "间连商户开户意愿确认(提交申请单)查询申请单状态-请求参数");
-                function.WriteLog(result, "间连商户开户意愿确认(提交申请单)查询申请单状态");
+                LogHelper.Instance.WriteLog(BusinessCode, "间连商户开户意愿确认(提交申请单)查询申请单状态-请求参数");
+                LogHelper.Instance.WriteLog(result, "间连商户开户意愿确认(提交申请单)查询申请单状态");
 
             }
             catch (Exception ex)
             {
-                function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "间连商户开户意愿确认(提交申请单)查询申请单状态异常");
+                LogHelper.Instance.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "间连商户开户意愿确认(提交申请单)查询申请单状态异常");
             }
             return result;
         }
@@ -254,7 +254,7 @@ namespace MySystem
                 catch (Exception ex)
                 {
                     writer = null;
-                    function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "http请求异常");
+                    LogHelper.Instance.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "http请求异常");
                 }
                 writer.Write(paramJsonBytes, 0, paramJsonBytes.Length);
                 writer.Close();

+ 2 - 2
Util/HaoDa/WeChatPayBackService.cs

@@ -39,7 +39,7 @@ namespace MySystem
                     }
                     catch (Exception ex)
                     {
-                        function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "微信支付回调异常");
+                        LogHelper.Instance.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "微信支付回调异常");
                     }
                 }
                 else
@@ -156,7 +156,7 @@ namespace MySystem
                 }
                 catch (Exception ex)
                 {
-                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "好哒分账队列异常");
+                    LogHelper.Instance.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "好哒分账队列异常");
                 }
                 Thread.Sleep(2000);
             }

+ 79 - 0
Util/LogHelper.cs

@@ -0,0 +1,79 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Threading;
+using Library;
+using LitJson;
+using MySystem;
+
+public class LogHelper
+{
+    public readonly static LogHelper Instance = new LogHelper();
+    private LogHelper()
+    { }
+
+    string[] BlackList = { "好哒查询商户审核状态", "好哒查询实名认证状态", "好哒分账交易详情查询", "间连商户开户意愿确认(提交申请单)查询申请单状态-请求参数", "查询支付宝商家认证申请单状态" };
+
+    public void WriteLog(string Content, string FileName, string BrandId = "0")
+    {
+        if(BlackList.Contains(FileName))
+        {
+            string key = function.MD532(Content + FileName);
+            if(!string.IsNullOrEmpty(RedisDbconn.Instance.Get<string>(key)))
+            {
+                return;
+            }
+            RedisDbconn.Instance.Set(key, "1");
+            RedisDbconn.Instance.SetExpire(key, 3600);
+        }
+        function.WriteLog(Content, FileName);
+        // Dictionary<string, string> dic = new Dictionary<string, string>();
+        // dic.Add("Topic", FileName);
+        // dic.Add("Content", Content);
+        // dic.Add("BrandId", BrandId);
+        // RedisDbconn.Instance.AddList("LogQueue", Newtonsoft.Json.JsonConvert.SerializeObject(dic));
+    }
+
+    public void Start()
+    {
+        Thread th = new Thread(DoWorks);
+        th.IsBackground = true;
+        th.Start();
+    }
+
+    public void DoWorks()
+    {
+        while (true)
+        {
+            string content = RedisDbconn.Instance.RPop<string>("LogQueue");
+            if (!string.IsNullOrEmpty(content))
+            {
+                try
+                {
+                    DoQueue(content);
+                }
+                catch (Exception ex)
+                {
+                    LogHelper.Instance.WriteLog(DateTime.Now.ToString() + "\n" + content + "\n" + ex, "SLS日志异常");
+                }
+            }
+            else
+            {
+                Thread.Sleep(5000);
+            }
+        }
+    }
+
+    public void DoQueue(string content)
+    { 
+        // JsonData JsonObj = JsonMapper.ToObject(content);
+        // string Topic = JsonObj["Topic"].ToString();
+        // string Cont = JsonObj["Content"].ToString();
+        // string BrandId = JsonObj["BrandId"].ToString();
+        // SLS.WriteLog(DateTime.Now, Topic, Cont, new Dictionary<string, string>()
+        // {
+        //     {"BrandId", BrandId}
+        // });
+    }
+}

+ 1 - 1
Util/OssHelper.cs

@@ -49,7 +49,7 @@ namespace MySystem
                         }
                         catch (Exception ex)
                         {
-                            function.WriteLog(ex.ToString(), "OSS上传队列异常");
+                            LogHelper.Instance.WriteLog(ex.ToString(), "OSS上传队列异常");
                         }
                     }
                 }

+ 0 - 110
Util/RabbitMQClient.cs

@@ -1,110 +0,0 @@
-using System;
-using System.Text;
-using RabbitMQ.Client;
-using RabbitMQ.Client.Events;
-
-namespace MySystem
-{
-    public class RabbitMQClient
-    {
-        public readonly static RabbitMQClient Instance = new RabbitMQClient();
-        private RabbitMQClient()
-        {
-        }
-
-        #region 单对单发送
-        public void SendMsg(string content, string QueueName = "")
-        {
-            //创建连接对象工厂
-            var factory = new ConnectionFactory()
-            {
-                UserName = "guest",
-                Password = "123456",
-                HostName = "localhost",
-                Port = 5672,  //RabbitMQ默认的端口
-            };
-            var conn = factory.CreateConnection();
-            var channel = conn.CreateModel();
-            channel.QueueDeclare(QueueName, true, false, false);
-            channel.BasicPublish("", QueueName, null, Encoding.Default.GetBytes(content));
-            channel.Dispose();
-            conn.Dispose();
-        }
-        #endregion
-
-        #region 单对单接收
-        public void StartReceive(string QueueName)
-        {
-            var factory = new ConnectionFactory()
-            {
-                UserName = "guest",
-                Password = "123456",
-                HostName = "localhost",
-                Port = 5672,
-            };
-
-            var conn = factory.CreateConnection();
-            var channel = conn.CreateModel();
-            channel.QueueDeclare(QueueName, true, false, false);
-            EventingBasicConsumer consumer = new EventingBasicConsumer(channel);
-            consumer.Received += (a, e) =>
-            {
-                Library.function.WriteLog(Encoding.Default.GetString(e.Body.ToArray()), "接收到的MQ消息");
-                channel.BasicAck(e.DeliveryTag, true); //收到回复后,RabbitMQ会直接在队列中删除这条消息
-            };
-            channel.BasicConsume(QueueName, false, consumer);
-        }
-        #endregion
-
-
-
-        #region 单对多发送
-        public void SendMsgToExchange(string content, string Exchange = "")
-        {
-            //创建连接对象工厂
-            var factory = new ConnectionFactory()
-            {
-                UserName = "guest",
-                Password = "123456",
-                HostName = "localhost",
-                Port = 5672,  //RabbitMQ默认的端口
-            };
-            var conn = factory.CreateConnection();
-            var channel = conn.CreateModel();
-            channel.ExchangeDeclare(Exchange, ExchangeType.Fanout, true, false);
-            channel.BasicPublish(Exchange, "", null, Encoding.Default.GetBytes(content));
-            channel.Dispose();
-            conn.Dispose();
-        }
-        #endregion
-
-        #region 单对多接收
-        public void StartReceiveFromExchange(string QueueName = "", string Exchange = "")
-        {
-            var factory = new ConnectionFactory()
-            {
-                UserName = "guest",
-                Password = "123456",
-                HostName = "localhost",
-                Port = 5672,
-            };
-
-            var conn = factory.CreateConnection();
-            var channel = conn.CreateModel();
-            //定义队列
-            channel.QueueDeclare(QueueName, true, false, false);
-            //定义交换机
-            channel.ExchangeDeclare(Exchange, ExchangeType.Fanout, true, false);
-            //绑定队列到交换机
-            channel.QueueBind(QueueName, Exchange, "");
-            var consumer = new EventingBasicConsumer(channel);
-            consumer.Received += (a, e) =>
-            {
-                Library.function.WriteLog(Encoding.Default.GetString(e.Body.ToArray()), "接收到的MQ消息");
-                channel.BasicAck(e.DeliveryTag, true); //收到回复后,RabbitMQ会直接在队列中删除这条消息
-            };
-            channel.BasicConsume(QueueName, false, consumer);
-        }
-        #endregion
-    }
-}