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 = UnitService.GetUnitByUnitId(Const.UnitId_CWCEC);
 | 
						|
            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;
 | 
						|
        }
 | 
						|
 | 
						|
    }
 | 
						|
}
 |