using Model;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
namespace BLL
{
public static class PMPDataService
{
//private static readonly string PmpApiUrl = "http://mdm.cwcec.com:8020/";
private static readonly string PmpApiUrl = SysConstSetService.WuHuanPMPPath;
///
/// 获取token
///
/// 五环PMP系统token有效期48小时
///
public static Model.TokenItem GetToken()
{
Model.TokenItem tokenItem = new Model.TokenItem();
tokenItem.Token = BLL.SysConstSetService.WuHuanPMPToken;
tokenItem.ExpiryTime = BLL.SysConstSetService.WuHuanPMPTokenExTime;
if (string.IsNullOrEmpty(tokenItem.Token) || string.IsNullOrEmpty(tokenItem.ExpiryTime))
{
tokenItem = GetWuHuanPMPToken();
}
else if (DateTime.Now > DateTime.Parse(tokenItem.ExpiryTime))
{
tokenItem = GetWuHuanPMPToken();
}
return tokenItem;
}
///
/// 获取五环PMP系统Token
///
/// 他们的token有效期48小时
///
public static Model.TokenItem GetWuHuanPMPToken()
{
string getUrl = PmpApiUrl + "/api/standard/dis/token?appId=v7lm6i30&appSecret=0qnbsy28e1hldzbm7rnyjs4n93s4eu62";
TokenItem tokenItem = new TokenItem();
try
{
var strJosn = Http(getUrl);
if (!string.IsNullOrEmpty(strJosn))
{
JObject obj = JObject.Parse(strJosn);
if (obj["data"] != null)
{
string tokenStr = obj["data"].ToString();
tokenItem.Token = tokenStr;
tokenItem.ExpiryTime = DateTime.Now.AddHours(40).ToString("yyyy-MM-dd HH:mm:ss");
SysConstSetService.SetWuHuanPMPToken(tokenItem.Token);
SysConstSetService.SetWuHuanPMPTokenExpirationTime(tokenItem.ExpiryTime);
}
}
}
catch (Exception eee)
{
ErrLogInfo.WriteLog("获取五环PMP系统Token出错1:" + eee.StackTrace + eee.Message);
}
return tokenItem;
}
///
/// 项目档案查询接口
///
public static void GetPMPProjectMasterData()
{
string url = $"{PmpApiUrl}/api/standard/dis/query_all";
var token = GetToken();
Hashtable newToken = new Hashtable { { "Authorization", token.Token } };
string mess = string.Empty;
string total = string.Empty;
string code = string.Empty;
string data = string.Empty;
string rows = string.Empty;
List list = new List();
int pageSize = 1000;//一次性最多返回1000条数据
List searchCond = new List();
for (int pageNum = 1; pageNum < 10; pageNum++)
{
var tempData = new
{
actRet = 1,
pageNumber = pageNum,
pageSize = pageSize,
sortName = "id",
searchDestCode = "",
sortOrder = "desc",
searchDisStatus = "",
menuName = "项目档案",
status = 1,
//searchCond = new List