ChengDa_English/SGGL/BLL/ZHGL/DataSync/ServerService.cs

95 lines
3.8 KiB
C#
Raw Normal View History

2022-12-20 17:45:42 +08:00
using Model;
using Newtonsoft.Json;
using RestSharp;
using System;
using System.Collections.Generic;
using System.Linq;
2023-07-13 10:03:40 +08:00
using System.Net;
2022-12-20 17:45:42 +08:00
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
2023-11-11 16:02:42 +08:00
public static class ServerService
2022-12-20 17:45:42 +08:00
{
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);
2023-07-13 10:03:40 +08:00
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
2023-09-26 15:20:47 +08:00
var thisUnit = CommonService.GetIsThisUnit();
2022-12-20 17:45:42 +08:00
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();
2023-11-11 16:02:42 +08:00
if (responeData.code == 1 && string.IsNullOrEmpty(responeData.message))
2022-12-20 17:45:42 +08:00
{
var token = JsonConvert.DeserializeObject<Model.TokenItem>(responeData.data.ToString());
2023-11-11 16:02:42 +08:00
tokenItem.Token = token.Token.ToString();
tokenItem.ExpiryTime = token.ExpiryTime.ToString();
2022-12-20 17:45:42 +08:00
SysConstSetService.SetToken(tokenItem.Token);
SysConstSetService.SetTokenExpirationTime(tokenItem.ExpiryTime);
}
return tokenItem;
2023-11-11 16:02:42 +08:00
2022-12-20 17:45:42 +08:00
}
2023-11-11 16:02:42 +08:00
public static Model.ReturnData PushCNCEC(string JsonBody, string apiurl)
2022-12-20 17:45:42 +08:00
{
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);
2023-07-13 10:03:40 +08:00
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
2022-12-20 17:45:42 +08:00
var tokenItem = GetToken();
request.AddHeader("token", tokenItem.Token);
request.AddJsonBody(JsonBody);
IRestResponse response = client.Execute(request);
2023-09-26 15:20:47 +08:00
APICommonService.SaveSysHttpLog("api_Out", baseurl, response.Content);
2022-12-20 17:45:42 +08:00
var returnData = JsonConvert.DeserializeObject<Model.ResponeData>(response.Content.ToString());
if (returnData.code == 0)
{
responeData.code = 0;
responeData.message = returnData.message;
return responeData;
2023-09-26 15:20:47 +08:00
2022-12-20 17:45:42 +08:00
}
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();
2023-11-11 16:02:42 +08:00
}
2022-12-20 17:45:42 +08:00
else if (DateTime.Parse(SysConstSetService.CNCECTTokenExTime).AddMinutes(-10) < DateTime.Now)
{
tokenItem = GetCNCECToken();
}
return tokenItem;
}
}
}