using System; using System.Collections.Generic; using System.Net; using System.Net.Http; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System.IO; namespace LrGetToken { public class LrGetMtrlDatum { public string GetDatum(string clientId, string clientSecret, string appKey, string appSecret, string strToken, string mtrlCode, string mtrlName, string strPath, string pageCnt, string pageSize) { try { var client = new APIClient(clientId, clientSecret); var apiRequest = new APIRequest(); apiRequest.Method = HttpMethod.Get; //apiRequest.Params.Add("enable", "1"); // apiRequest.Params.Add("ids", "1862362208042876928"); //apiRequest.Params.Add("filter_material_id", "1862362208042876928"); apiRequest.Params.Add("page", pageCnt); apiRequest.Params.Add("page_size", pageSize); //apiRequest.Params.Add("search", "防水疯马"); //apiRequest.Params.Add("start_date", START_DATE); //apiRequest.Params.Add("end_date", END_DATE); apiRequest.Path = strPath; apiRequest.Header.Add("app-token", strToken); apiRequest.Header.Add("X-GW-Router-Addr", "https://tf.jdy.com"); var api_nonce = new Random().Next(100000000, 999999999); var timeStamp = (int)(DateTime.Now.ToLocalTime() - DateTime.Parse("1970-01-01").ToLocalTime()).TotalSeconds; string strJson = client.HttpGet(apiRequest, api_nonce.ToString(), timeStamp.ToString()); return strJson; } catch (Exception ex) { Console.WriteLine("Error Message: " + ex.Message); if (ex is WebException webEx) { if (webEx.Response != null) { using (var responseStream = webEx.Response.GetResponseStream()) using (var reader = new StreamReader(responseStream)) { string responseBody = reader.ReadToEnd(); Console.WriteLine("Response Body: " + responseBody); } } } return ""; } } public string GetiTEM(string clientId, string clientSecret, string appKey, string appSecret, string strToken, string mtrlCode, string mtrlName, string strPath, string pageCnt, string pageSize) { try { var client = new APIClient(clientId, clientSecret); var apiRequest = new APIRequest(); apiRequest.Method = HttpMethod.Get; //apiRequest.Params.Add("enable", "1"); apiRequest.Params.Add("page", pageCnt); apiRequest.Params.Add("page_size", pageSize); //apiRequest.Params.Add("filter_material_id", "1855718884120813568"); //apiRequest.Params.Add("start_date", START_DATE); apiRequest.Params.Add("end_date", "2024-12-31"); apiRequest.Path = strPath; apiRequest.Header.Add("app-token", strToken); apiRequest.Header.Add("X-GW-Router-Addr", "https://tf.jdy.com"); var api_nonce = new Random().Next(100000000, 999999999); var timeStamp = (int)(DateTime.Now.ToLocalTime() - DateTime.Parse("1970-01-01").ToLocalTime()).TotalSeconds; string strJson = client.HttpGet(apiRequest, api_nonce.ToString(), timeStamp.ToString()); return strJson; } catch (Exception ex) { Console.WriteLine("Error Message: " + ex.Message); if (ex is WebException webEx) { if (webEx.Response != null) { using (var responseStream = webEx.Response.GetResponseStream()) using (var reader = new StreamReader(responseStream)) { string responseBody = reader.ReadToEnd(); Console.WriteLine("Response Body: " + responseBody); } } } return ""; } } public string GetDatumX(string clientId, string clientSecret, string strToken, List paramLst, string strPath) { try { var client = new APIClient(clientId, clientSecret); var apiRequest = new APIRequest(); apiRequest.Method = HttpMethod.Get; apiRequest.Path = strPath; apiRequest.Header.Add("app-token", strToken); apiRequest.Header.Add("X-GW-Router-Addr", "https://tf.jdy.com"); foreach (LrParam lst in paramLst) { apiRequest.Params.Add(lst.pKey, lst.pValue); } var api_nonce = new Random().Next(100000000, 999999999); var timeStamp = (int)(DateTime.Now.ToLocalTime() - DateTime.Parse("1970-01-01").ToLocalTime()).TotalSeconds; string strJson = client.HttpGet(apiRequest, api_nonce.ToString(), timeStamp.ToString()); return strJson; } catch (Exception ex) { Console.WriteLine("Error Message: " + ex.Message); if (ex is WebException webEx) { if (webEx.Response != null) { using (var responseStream = webEx.Response.GetResponseStream()) using (var reader = new StreamReader(responseStream)) { string responseBody = reader.ReadToEnd(); Console.WriteLine("Response Body: " + responseBody); } } } return ""; } } public string GetDatumX1(string clientId, string clientSecret, string strToken, string strPath,string postbody) { try { var client = new APIClient(clientId, clientSecret); var apiRequest = new APIRequest(); apiRequest.Method = HttpMethod.Post; apiRequest.Path = strPath; var api_nonce = new Random().Next(100000000, 999999999); var timeStamp = (int)(DateTime.Now.ToLocalTime() - DateTime.Parse("1970-01-01").ToLocalTime()).TotalSeconds; string strJson = client.SaveBill(apiRequest,clientId,strToken, api_nonce.ToString(),timeStamp.ToString(),postbody); return strJson; } catch (Exception ex) { Console.WriteLine("Error Message: " + ex.Message); if (ex is WebException webEx) { if (webEx.Response != null) { using (var responseStream = webEx.Response.GetResponseStream()) using (var reader = new StreamReader(responseStream)) { string responseBody = reader.ReadToEnd(); Console.WriteLine("Response Body: " + responseBody); } } } return ""; } } public string Mtl_out(string clientId, string clientSecret, string strToken, List paramLst, string strPath, string body) { try { var client = new APIClient(clientId, clientSecret); var apiRequest = new APIRequest(); apiRequest.Method = HttpMethod.Post; apiRequest.Path = strPath; apiRequest.Header.Add("app-token", strToken); apiRequest.Header.Add("X-GW-Router-Addr", "https://tf.jdy.com"); apiRequest.Body= body; foreach (LrParam lst in paramLst) { apiRequest.Params.Add(lst.pKey, lst.pValue); } var api_nonce = new Random().Next(100000000, 999999999); var timeStamp = (int)(DateTime.Now.ToLocalTime() - DateTime.Parse("1970-01-01").ToLocalTime()).TotalSeconds; string strJson = client.HttpPost(apiRequest,clientId,strToken, api_nonce.ToString(), timeStamp.ToString()); return strJson; } catch (Exception ex) { Console.WriteLine("Error Message: " + ex.Message); if (ex is WebException webEx) { if (webEx.Response != null) { using (var responseStream = webEx.Response.GetResponseStream()) using (var reader = new StreamReader(responseStream)) { string responseBody = reader.ReadToEnd(); Console.WriteLine("Response Body: " + responseBody); } } } return ""; } } public string GetItemX(string clientId, string clientSecret, string strToken, List paramLst, string strPath) { try { var client = new APIClient(clientId, clientSecret); var apiRequest = new APIRequest(); apiRequest.Method = HttpMethod.Get; apiRequest.Path = strPath; //apiRequest.Header.Add("Content-Type", "application/json"); //apiRequest.Header.Add("X-Api-ClientID", clientId); //apiRequest.Header.Add("X-Api-Auth-Version", "2.0"); //apiRequest.Header.Add("X-Api-SignHeaders", "X-Api-TimeStamp,X-Api-Nonce"); apiRequest.Header.Add("app-token", strToken); apiRequest.Header.Add("X-GW-Router-Addr", "https://tf.jdy.com"); foreach (LrParam lst in paramLst) { apiRequest.Params.Add(lst.pKey, lst.pValue); } var api_nonce = new Random().Next(100000000, 999999999); var timeStamp = (int)(DateTime.Now.ToLocalTime() - DateTime.Parse("1970-01-01").ToLocalTime()).TotalSeconds; string strJson = client.HttpGet(apiRequest, api_nonce.ToString(), timeStamp.ToString()); return strJson; } catch (Exception ex) { Console.WriteLine("Error Message: " + ex.Message); if (ex is WebException webEx) { if (webEx.Response != null) { using (var responseStream = webEx.Response.GetResponseStream()) using (var reader = new StreamReader(responseStream)) { string responseBody = reader.ReadToEnd(); Console.WriteLine("Response Body: " + responseBody); } } } return ""; } } public string GetMtrlDatum(string clientId, string clientSecret, string strToken, int startTime, int endTime, string strPath) { try { var client = new APIClient(clientId, clientSecret); var apiRequest = new APIRequest(); apiRequest.Method = HttpMethod.Get; apiRequest.Path = strPath; apiRequest.Header.Add("app-token", strToken); apiRequest.Header.Add("X-GW-Router-Addr", "https://tf.jdy.com"); apiRequest.Params.Add("enable", "1"); apiRequest.Params.Add("page", "1"); apiRequest.Params.Add("page_size", "100"); //apiRequest.Params.Add("appFlag", "1"); var api_nonce = new Random().Next(100000000, 999999999); var timeStamp = (int)(DateTime.Now.ToLocalTime() - DateTime.Parse("1970-01-01").ToLocalTime()).TotalSeconds; string strJson = client.HttpGet(apiRequest, api_nonce.ToString(), timeStamp.ToString()); return strJson; } catch (Exception ex) { Console.WriteLine("Error Message: " + ex.Message); if (ex is WebException webEx) { if (webEx.Response != null) { using (var responseStream = webEx.Response.GetResponseStream()) using (var reader = new StreamReader(responseStream)) { string responseBody = reader.ReadToEnd(); Console.WriteLine("Response Body: " + responseBody); } } } return ""; } } public string GetToken(string clientId, string clientSecret, string app_key, string appsecret) { try { var client = new APIClient(clientId, clientSecret); var apiRequest = new APIRequest(); apiRequest.Method = HttpMethod.Get; apiRequest.Params.Add("app_key", app_key); apiRequest.Params.Add("app_signature", SHAHelper.HmacSHA256(appsecret, app_key)); apiRequest.Path = "jdyconnector/app_management/kingdee_auth_token"; var api_nonce = new Random().Next(100000000, 999999999); var timeStamp = (int)(DateTime.Now.ToLocalTime() - DateTime.Parse("1970-01-01").ToLocalTime()).TotalSeconds; string strJson = client.HttpGet(apiRequest, api_nonce.ToString(), timeStamp.ToString()); JObject jo = (JObject)JsonConvert.DeserializeObject(strJson); strJson = jo["data"]["app-token"].ToString(); return strJson; } catch (Exception ex) { Console.WriteLine("Error Message: " + ex.Message); if (ex is WebException webEx) { if (webEx.Response != null) { using (var responseStream = webEx.Response.GetResponseStream()) using (var reader = new StreamReader(responseStream)) { string responseBody = reader.ReadToEnd(); Console.WriteLine("Response Body: " + responseBody); } } } return ""; } } } }