95 lines
3.8 KiB
C#
95 lines
3.8 KiB
C#
using Model;
|
|
using Newtonsoft.Json;
|
|
using RestSharp;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Security.Policy;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace BLL
|
|
{
|
|
public static class ServerService
|
|
{
|
|
public static Model.TokenItem GetCNCECToken()
|
|
{
|
|
string CNCECPath = SysConstSetService.CNCECPath;
|
|
|
|
string baseurl = CNCECPath + "/api/Common/GetToken";
|
|
var client = new RestClient(baseurl);
|
|
client.Timeout = -1;
|
|
var request = new RestRequest(Method.POST);
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
|
|
var thisUnit = CommonService.GetIsThisUnit();
|
|
request.AddParameter("UnitName", thisUnit.UnitName);
|
|
request.AddParameter("CollCropCode", thisUnit.CollCropCode);
|
|
//request.AddJsonBody(JsonBody);
|
|
IRestResponse response = client.Execute(request);
|
|
Console.WriteLine(response.Content);
|
|
var responeData = JsonConvert.DeserializeObject<Model.ResponeData>(response.Content.ToString());
|
|
TokenItem tokenItem = new TokenItem();
|
|
if (responeData.code == 1 && string.IsNullOrEmpty(responeData.message))
|
|
{
|
|
var token = JsonConvert.DeserializeObject<Model.TokenItem>(responeData.data.ToString());
|
|
tokenItem.Token = token.Token.ToString();
|
|
tokenItem.ExpiryTime = token.ExpiryTime.ToString();
|
|
SysConstSetService.SetToken(tokenItem.Token);
|
|
SysConstSetService.SetTokenExpirationTime(tokenItem.ExpiryTime);
|
|
}
|
|
return tokenItem;
|
|
|
|
}
|
|
public static Model.ReturnData PushCNCEC(string JsonBody, string apiurl)
|
|
{
|
|
Model.ReturnData responeData = new Model.ReturnData();
|
|
string CNCECPath = SysConstSetService.CNCECPath;
|
|
if (string.IsNullOrEmpty(CNCECPath))
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = "接口地址为空,请配置!";
|
|
return responeData;
|
|
|
|
}
|
|
string baseurl = CNCECPath + apiurl;
|
|
var client = new RestClient(baseurl);
|
|
client.Timeout = -1;
|
|
var request = new RestRequest(Method.POST);
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
|
|
var tokenItem = GetToken();
|
|
request.AddHeader("token", tokenItem.Token);
|
|
request.AddJsonBody(JsonBody);
|
|
IRestResponse response = client.Execute(request);
|
|
APICommonService.SaveSysHttpLog("api_Out", baseurl, response.Content);
|
|
var returnData = JsonConvert.DeserializeObject<Model.ResponeData>(response.Content.ToString());
|
|
if (returnData.code == 0)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = returnData.message;
|
|
return responeData;
|
|
|
|
}
|
|
return responeData;
|
|
}
|
|
public static Model.TokenItem GetToken()
|
|
{
|
|
Model.TokenItem tokenItem = new Model.TokenItem();
|
|
tokenItem.Token = BLL.SysConstSetService.CNCECToken;
|
|
tokenItem.ExpiryTime = BLL.SysConstSetService.CNCECTTokenExTime;
|
|
if (string.IsNullOrEmpty(tokenItem.Token) || string.IsNullOrEmpty(tokenItem.ExpiryTime))
|
|
{
|
|
//DateTime.Parse(SysConstSetService.CNCECTTokenExTime).AddMinutes(-10) > DateTime.Now
|
|
tokenItem = GetCNCECToken();
|
|
}
|
|
else if (DateTime.Parse(SysConstSetService.CNCECTTokenExTime).AddMinutes(-10) < DateTime.Now)
|
|
{
|
|
tokenItem = GetCNCECToken();
|
|
|
|
}
|
|
return tokenItem;
|
|
}
|
|
|
|
}
|
|
}
|