DuGuYang 1 an în urmă
părinte
comite
a9b3b7139f
2 a modificat fișierele cu 161 adăugiri și 0 ștergeri
  1. 82 0
      Util/HaoDa/HaoDaHelper.cs
  2. 79 0
      Util/HaoDa/LogHelper.cs

+ 82 - 0
Util/HaoDa/HaoDaHelper.cs

@@ -438,6 +438,88 @@ namespace MySystem
         }
 
 
+        /// <summary>
+        /// 分账接收方账户余额查询
+        /// </summary>
+        /// <param name="acctNo">账户号</param>
+        /// <returns></returns>
+        public string QueryAccountBalance(string acctNo)
+        {
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒分账接收方账户余额查询");
+            Dictionary<string, object> reqdic = new Dictionary<string, object>();
+
+            reqdic.Add("acctNo", acctNo); // 账户号	
+
+            string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
+            LogHelper.Instance.WriteLog(req, "好哒分账接收方账户余额查询");
+            Dictionary<string, string> headdic = GetHeader(req);
+            string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒分账接收方账户余额查询");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒分账接收方账户余额查询");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/part/acct/balance/get", "好哒分账接收方账户余额查询");
+            string result = PostWebRequest(BoxRequestUrl + "/api/v3/hzg/part/acct/balance/get", req, headdic);
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒分账接收方账户余额查询");
+
+            return result;
+        }
+
+        /// <summary>
+        /// 分账接收方提现申请
+        /// </summary>
+        /// <param name="applyNo">申请批次号</param>
+        /// <param name="acctNo">账户号</param>
+        /// <param name="amount">提现金额(分)</param>
+        /// <returns></returns>
+        public string ApplyWithdrawal(string applyNo, string acctNo, string amount)
+        {
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒分账接收方提现申请");
+            Dictionary<string, object> reqdic = new Dictionary<string, object>();
+
+            reqdic.Add("applyNo", applyNo); // 申请批次号	
+            reqdic.Add("acctNo", acctNo); // 账户号	
+            reqdic.Add("amount", amount); // 提现金额(分)	
+
+            string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
+            LogHelper.Instance.WriteLog(req, "好哒分账接收方提现申请");
+            Dictionary<string, string> headdic = GetHeader(req);
+            string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒分账接收方提现申请");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒分账接收方提现申请");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/part/acct/withdrawal/apply", "好哒分账接收方提现申请");
+            string result = PostWebRequest(BoxRequestUrl + "/api/v3/hzg/part/acct/withdrawal/apply", req, headdic);
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒分账接收方提现申请");
+
+            return result;
+        }
+
+        /// <summary>
+        /// 分账接收方提现结果查询
+        /// </summary>
+        /// <param name="applyNo">申请批次号</param>
+        /// <param name="acctNo">账户号</param>
+        /// <returns></returns>
+        public string QueryApplyWithdrawalStatus(string applyNo, string acctNo)
+        {
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "好哒分账接收方提现结果查询");
+            Dictionary<string, object> reqdic = new Dictionary<string, object>();
+
+            reqdic.Add("applyNo", applyNo); // 申请批次号	
+            reqdic.Add("acctNo", acctNo); // 账户号	
+
+            string req = Newtonsoft.Json.JsonConvert.SerializeObject(reqdic);
+            LogHelper.Instance.WriteLog(req, "好哒分账接收方提现结果查询");
+            Dictionary<string, string> headdic = GetHeader(req);
+            string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
+            LogHelper.Instance.WriteLog("请求头\n" + head, "好哒分账接收方提现结果查询");
+            LogHelper.Instance.WriteLog("请求参数\n" + req, "好哒分账接收方提现结果查询");
+            LogHelper.Instance.WriteLog("请求地址:" + BoxRequestUrl + "/api/v3/hzg/part/acct/withdrawal/query", "好哒分账接收方提现结果查询");
+            string result = PostWebRequest(BoxRequestUrl + "/api/v3/hzg/part/acct/withdrawal/query", req, headdic);
+            LogHelper.Instance.WriteLog("返回\n" + result + "\n\n", "好哒分账接收方提现结果查询");
+
+            return result;
+        }
+
+
         public Dictionary<string, string> GetHeader(string req)
         {
             Dictionary<string, string> headdic = new Dictionary<string, string>();

+ 79 - 0
Util/HaoDa/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, 600);
+        }
+        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}
+        // });
+    }
+}