using Newtonsoft.Json;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Net.Http;
|
using System.Net.Http.Headers;
|
using System.Text;
|
using System.Threading;
|
using zhengcaioa.Models;
|
|
namespace Crawler.sichuan
|
{
|
public class sichuanoperation
|
{
|
//public static string api_domain = "http://192.168.0.116:9200";
|
public static string api_domain = "http://localhost:9200";
|
public static string sichuanpageurll = "https://zfcg.scsczt.cn";
|
public static void operations(WebCrawlerContext _ccontext)
|
{
|
try
|
{
|
|
//获取更新时间
|
string operationStartTime = "";
|
Updatetime updatetime = _ccontext.Updatetimes.Where(x=>x.Sheng=="四川省").FirstOrDefault();
|
if (updatetime != null)
|
{
|
operationStartTime = updatetime.Updatetime1.ToString("yyyy-MM-dd")+ "%2000:00:00";
|
//updatetime.Updatetime1 = DateTime.Now.AddDays(-1);
|
//_ccontext.SaveChanges();
|
}
|
//else
|
//{
|
// updatetime = new Updatetime();
|
// updatetime.Id = Guid.NewGuid().ToString();
|
// updatetime.Sheng = "四川省";
|
// updatetime.Updatetime1 = DateTime.Now.AddDays(-1);
|
// _ccontext.Updatetimes.Add(updatetime);
|
// _ccontext.SaveChanges();
|
//}
|
|
//翻页信息
|
int currPage = 1;
|
int pageSize = 10;
|
//开始访问 采购公告
|
logg.WriteLog("四川省采购公告 开始获取", "四川");
|
while (true)
|
{
|
logg.WriteLog(currPage.ToString(), "四川");
|
string address = "https://zfcg.scsczt.cn/freecms/rest/v1/notice/selectInfoMoreChannel.do?&siteId=94c965cc-c55d-4f92-8469-d5875c68bd04&channel=c5bff13f-21ca-4dac-b158-cb40accd3035&currPage=" + currPage + "&pageSize=" + pageSize + "¬iceType=00101®ionCode=&purchaseManner=&title=&openTenderCode=&purchaser=&agency=&purchaseNature=&operationStartTime=" + operationStartTime + "&operationEndTime=&selectTimeName=noticeTime&cityOrArea=";
|
using (HttpClient client = new HttpClient())
|
{
|
client.Timeout = TimeSpan.FromSeconds(60);
|
HttpResponseMessage response = client.GetAsync(address).Result;
|
var res = response.Content.ReadAsStringAsync().Result;
|
|
sichuanjieshou sichuan = JsonConvert.DeserializeObject<sichuanjieshou>(res);
|
|
//保存项目到sqlserveer和elasticsearch
|
if (sichuan.data != null && sichuan.data.Count > 0)
|
{
|
foreach (var sichuanjieshoudtl in sichuan.data)
|
{
|
var pageurl1 = sichuanpageurll + sichuanjieshoudtl.pageurl;
|
ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.Pageurl == pageurl1).FirstOrDefault();
|
if (zhengfuProject == null)
|
{
|
zhengfuProject = new ZhengfuProject();
|
zhengfuProject.Id = Guid.NewGuid().ToString();
|
zhengfuProject.Gglx = "02";
|
string gglxName = "采购公告";
|
zhengfuProject.NoticeTime = sichuanjieshoudtl.noticeTime;
|
zhengfuProject.OpenTenderTime = sichuanjieshoudtl.openTenderTime;
|
zhengfuProject.RegionCode = sichuanjieshoudtl.regionCode;
|
string regionName = sichuanjieshoudtl.regionName;
|
zhengfuProject.Sheng = "510000";
|
string ShengName = "四川省";
|
string CityName = "";
|
if ("510001" == sichuanjieshoudtl.regionCode)
|
{
|
zhengfuProject.RegionCode = "";
|
regionName = "";
|
zhengfuProject.City = "510001";
|
CityName = "省本级";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5101"))
|
{
|
zhengfuProject.City = "510100";
|
CityName = "成都市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5103"))
|
{
|
zhengfuProject.City = "510300";
|
CityName = "自贡市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5104"))
|
{
|
zhengfuProject.City = "510400";
|
CityName = "攀枝花市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5105"))
|
{
|
zhengfuProject.City = "510500";
|
CityName = "泸州市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5106"))
|
{
|
zhengfuProject.City = "510600";
|
CityName = "德阳市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5107"))
|
{
|
zhengfuProject.City = "510700";
|
CityName = "绵阳市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5108"))
|
{
|
zhengfuProject.City = "510800";
|
CityName = "广元市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5109"))
|
{
|
zhengfuProject.City = "510900";
|
CityName = "遂宁市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5110"))
|
{
|
zhengfuProject.City = "511000";
|
CityName = "内江市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5111"))
|
{
|
zhengfuProject.City = "511100";
|
CityName = "乐山市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5113"))
|
{
|
zhengfuProject.City = "511300";
|
CityName = "南充市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5114"))
|
{
|
zhengfuProject.City = "5114";
|
CityName = "眉山市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5115"))
|
{
|
zhengfuProject.City = "511500";
|
CityName = "宜宾市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5116"))
|
{
|
zhengfuProject.City = "511600";
|
CityName = "广安市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5117"))
|
{
|
zhengfuProject.City = "511700";
|
CityName = "达州市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5118"))
|
{
|
zhengfuProject.City = "511800";
|
CityName = "雅安市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5119"))
|
{
|
zhengfuProject.City = "511900";
|
CityName = "巴中市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5120"))
|
{
|
zhengfuProject.City = "512000";
|
CityName = "资阳市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5132"))
|
{
|
zhengfuProject.City = "513200";
|
CityName = "阿坝州";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5133"))
|
{
|
zhengfuProject.City = "513300";
|
CityName = "甘孜州";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5134"))
|
{
|
zhengfuProject.City = "513400";
|
CityName = "凉山州";
|
}
|
|
|
string cgfsName = "";
|
switch (sichuanjieshoudtl.purchaseManner)
|
{
|
case "1":
|
zhengfuProject.Cgfs = "1";
|
cgfsName = "公开招标";
|
break;
|
case "2":
|
zhengfuProject.Cgfs = "2";
|
cgfsName = "邀请招标";
|
break;
|
case "3":
|
zhengfuProject.Cgfs = "5";
|
cgfsName = "竞争性谈判";
|
break;
|
case "4":
|
zhengfuProject.Cgfs = "4";
|
cgfsName = "询价";
|
break;
|
case "5":
|
zhengfuProject.Cgfs = "7";
|
cgfsName = "单一来源";
|
break;
|
case "6":
|
zhengfuProject.Cgfs = "3";
|
cgfsName = "竞争性磋商";
|
break;
|
case "9":
|
zhengfuProject.Cgfs = "10";
|
cgfsName = "其他";
|
break;
|
}
|
zhengfuProject.OpenTenderCode = sichuanjieshoudtl.openTenderCode;
|
zhengfuProject.Title = sichuanjieshoudtl.title;
|
zhengfuProject.Shorttitle = sichuanjieshoudtl.shorttitle;
|
zhengfuProject.Pageurl = sichuanpageurll + sichuanjieshoudtl.pageurl;
|
zhengfuProject.Purchaser = sichuanjieshoudtl.purchaser;
|
|
if (!string.IsNullOrWhiteSpace(sichuanjieshoudtl.budget))
|
{
|
zhengfuProject.Budget = decimal.Parse(sichuanjieshoudtl.budget);
|
}
|
zhengfuProject.Agency = sichuanjieshoudtl.agency;
|
zhengfuProject.AgencyCode = sichuanjieshoudtl.agencyCode;
|
zhengfuProject.Content = sichuanjieshoudtl.content.Replace("\r", string.Empty).Replace("\n", string.Empty).Replace("\t", string.Empty).Replace(@"\", string.Empty);
|
zhengfuProject.RecStatus = "A";
|
zhengfuProject.Creater = "1";
|
zhengfuProject.Createtime = DateTime.Now;
|
zhengfuProject.Modifier = "1";
|
zhengfuProject.Modifytime = zhengfuProject.Createtime;
|
_ccontext.ZhengfuProjects.Add(zhengfuProject);
|
|
|
string url = $"{api_domain}/webcrawler/_doc/" + zhengfuProject.Id;
|
string result = string.Empty;
|
Uri postUrl = new Uri(url);
|
eswebcrawler eswebcrawler1 = new eswebcrawler();
|
eswebcrawler1.Id = zhengfuProject.Id;
|
eswebcrawler1.noticeTime = zhengfuProject.NoticeTime.ToString("yyyy-MM-dd HH:mm:ss");
|
eswebcrawler1.openTenderTime = zhengfuProject.OpenTenderTime.HasValue ? zhengfuProject.OpenTenderTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : null;
|
eswebcrawler1.sheng = zhengfuProject.Sheng;
|
eswebcrawler1.shengName = ShengName;
|
eswebcrawler1.city = zhengfuProject.City;
|
eswebcrawler1.cityName = CityName;
|
eswebcrawler1.regionCode = zhengfuProject.RegionCode;
|
eswebcrawler1.regionName = regionName;
|
eswebcrawler1.cgfs = zhengfuProject.Cgfs;
|
eswebcrawler1.cgfsName = cgfsName;
|
eswebcrawler1.gglx = zhengfuProject.Gglx;
|
eswebcrawler1.gglxName = gglxName;
|
eswebcrawler1.openTenderCode = zhengfuProject.OpenTenderCode;
|
eswebcrawler1.title = zhengfuProject.Title;
|
eswebcrawler1.shorttitle = zhengfuProject.Shorttitle;
|
eswebcrawler1.pageurl = zhengfuProject.Pageurl;
|
eswebcrawler1.pingmu = zhengfuProject.Pingmu;
|
eswebcrawler1.pingmuName = "";
|
eswebcrawler1.purchaser = zhengfuProject.Purchaser;
|
eswebcrawler1.budget = zhengfuProject.Budget.HasValue ? zhengfuProject.Budget.Value.ToString() : "";
|
eswebcrawler1.agency = zhengfuProject.Agency;
|
eswebcrawler1.agencyCode = zhengfuProject.AgencyCode;
|
eswebcrawler1.modifyTime = zhengfuProject.Modifytime.ToString("yyyy-MM-dd HH:mm:ss");
|
|
string requestJson = JsonConvert.SerializeObject(eswebcrawler1);
|
|
using (HttpContent httpContent = new StringContent(requestJson))
|
{
|
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
|
using (HttpClient httpClient = new HttpClient())
|
{
|
httpClient.Timeout = TimeSpan.FromSeconds(60);
|
HttpResponseMessage responseMessage = httpClient.PutAsync(postUrl, httpContent).Result;
|
result = responseMessage.Content.ReadAsStringAsync().Result;
|
}
|
|
}
|
|
Newtonsoft.Json.Linq.JObject jobject = (Newtonsoft.Json.Linq.JObject)JsonConvert.DeserializeObject(result);
|
|
if (jobject["error"] == null && jobject["_shards"]["successful"].ToString() == "1")
|
{
|
|
}
|
else
|
{
|
throw new Exception("保存数据库出错!");
|
}
|
|
|
_ccontext.SaveChanges();
|
}
|
}
|
}
|
|
|
if (currPage * pageSize >= sichuan.total)
|
{
|
break;
|
}
|
else
|
{
|
currPage += 1;
|
}
|
Thread.CurrentThread.Join(1000 * 2);//阻止设定时间
|
}
|
|
|
}
|
logg.WriteLog("四川省采购公告 获取完成","四川");
|
|
//翻页信息
|
currPage = 1;
|
pageSize = 10;
|
//开始访问 采购公告
|
logg.WriteLog("四川省中标公告 开始获取", "四川");
|
while (true)
|
{
|
logg.WriteLog(currPage.ToString(), "四川");
|
string address = "https://zfcg.scsczt.cn/freecms/rest/v1/notice/selectInfoMoreChannel.do?&siteId=94c965cc-c55d-4f92-8469-d5875c68bd04&channel=c5bff13f-21ca-4dac-b158-cb40accd3035&currPage=" + currPage + "&pageSize=" + pageSize + "¬iceType=00102®ionCode=&purchaseManner=&title=&openTenderCode=&purchaser=&agency=&purchaseNature=&operationStartTime=" + operationStartTime + "&operationEndTime=&selectTimeName=noticeTime&cityOrArea=";
|
using (HttpClient client = new HttpClient())
|
{
|
client.Timeout = TimeSpan.FromSeconds(60);
|
HttpResponseMessage response = client.GetAsync(address).Result;
|
var res = response.Content.ReadAsStringAsync().Result;
|
|
sichuanjieshou sichuan = JsonConvert.DeserializeObject<sichuanjieshou>(res);
|
|
//保存项目到sqlserveer和elasticsearch
|
if (sichuan.data != null && sichuan.data.Count > 0)
|
{
|
foreach (var sichuanjieshoudtl in sichuan.data)
|
{
|
var pageurl1 = sichuanpageurll + sichuanjieshoudtl.pageurl;
|
ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.Pageurl == pageurl1).FirstOrDefault();
|
if (zhengfuProject == null)
|
{
|
zhengfuProject = new ZhengfuProject();
|
zhengfuProject.Id = Guid.NewGuid().ToString();
|
zhengfuProject.Gglx = "03";
|
string gglxName = "结果公告";
|
zhengfuProject.NoticeTime = sichuanjieshoudtl.noticeTime;
|
zhengfuProject.OpenTenderTime = sichuanjieshoudtl.openTenderTime;
|
zhengfuProject.RegionCode = sichuanjieshoudtl.regionCode;
|
string regionName = sichuanjieshoudtl.regionName;
|
zhengfuProject.Sheng = "510000";
|
string ShengName = "四川省";
|
string CityName = "";
|
if ("510001" == sichuanjieshoudtl.regionCode)
|
{
|
zhengfuProject.RegionCode = "";
|
regionName = "";
|
zhengfuProject.City = "510001";
|
CityName = "省本级";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5101"))
|
{
|
zhengfuProject.City = "510100";
|
CityName = "成都市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5103"))
|
{
|
zhengfuProject.City = "510300";
|
CityName = "自贡市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5104"))
|
{
|
zhengfuProject.City = "510400";
|
CityName = "攀枝花市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5105"))
|
{
|
zhengfuProject.City = "510500";
|
CityName = "泸州市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5106"))
|
{
|
zhengfuProject.City = "510600";
|
CityName = "德阳市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5107"))
|
{
|
zhengfuProject.City = "510700";
|
CityName = "绵阳市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5108"))
|
{
|
zhengfuProject.City = "510800";
|
CityName = "广元市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5109"))
|
{
|
zhengfuProject.City = "510900";
|
CityName = "遂宁市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5110"))
|
{
|
zhengfuProject.City = "511000";
|
CityName = "内江市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5111"))
|
{
|
zhengfuProject.City = "511100";
|
CityName = "乐山市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5113"))
|
{
|
zhengfuProject.City = "511300";
|
CityName = "南充市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5114"))
|
{
|
zhengfuProject.City = "5114";
|
CityName = "眉山市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5115"))
|
{
|
zhengfuProject.City = "511500";
|
CityName = "宜宾市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5116"))
|
{
|
zhengfuProject.City = "511600";
|
CityName = "广安市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5117"))
|
{
|
zhengfuProject.City = "511700";
|
CityName = "达州市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5118"))
|
{
|
zhengfuProject.City = "511800";
|
CityName = "雅安市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5119"))
|
{
|
zhengfuProject.City = "511900";
|
CityName = "巴中市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5120"))
|
{
|
zhengfuProject.City = "512000";
|
CityName = "资阳市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5132"))
|
{
|
zhengfuProject.City = "513200";
|
CityName = "阿坝州";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5133"))
|
{
|
zhengfuProject.City = "513300";
|
CityName = "甘孜州";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5134"))
|
{
|
zhengfuProject.City = "513400";
|
CityName = "凉山州";
|
}
|
|
|
string cgfsName = "";
|
switch (sichuanjieshoudtl.purchaseManner)
|
{
|
case "1":
|
zhengfuProject.Cgfs = "1";
|
cgfsName = "公开招标";
|
break;
|
case "2":
|
zhengfuProject.Cgfs = "2";
|
cgfsName = "邀请招标";
|
break;
|
case "3":
|
zhengfuProject.Cgfs = "5";
|
cgfsName = "竞争性谈判";
|
break;
|
case "4":
|
zhengfuProject.Cgfs = "4";
|
cgfsName = "询价";
|
break;
|
case "5":
|
zhengfuProject.Cgfs = "7";
|
cgfsName = "单一来源";
|
break;
|
case "6":
|
zhengfuProject.Cgfs = "3";
|
cgfsName = "竞争性磋商";
|
break;
|
case "9":
|
zhengfuProject.Cgfs = "10";
|
cgfsName = "其他";
|
break;
|
}
|
zhengfuProject.OpenTenderCode = sichuanjieshoudtl.openTenderCode;
|
zhengfuProject.Title = sichuanjieshoudtl.title;
|
zhengfuProject.Shorttitle = sichuanjieshoudtl.shorttitle;
|
zhengfuProject.Pageurl = sichuanpageurll + sichuanjieshoudtl.pageurl;
|
zhengfuProject.Purchaser = sichuanjieshoudtl.purchaser;
|
|
if (!string.IsNullOrWhiteSpace(sichuanjieshoudtl.budget))
|
{
|
zhengfuProject.Budget = decimal.Parse(sichuanjieshoudtl.budget);
|
}
|
zhengfuProject.Agency = sichuanjieshoudtl.agency;
|
zhengfuProject.AgencyCode = sichuanjieshoudtl.agencyCode;
|
zhengfuProject.Content = sichuanjieshoudtl.content.Replace("\r", string.Empty).Replace("\n", string.Empty).Replace("\t", string.Empty).Replace(@"\", string.Empty);
|
zhengfuProject.RecStatus = "A";
|
zhengfuProject.Creater = "1";
|
zhengfuProject.Createtime = DateTime.Now;
|
zhengfuProject.Modifier = "1";
|
zhengfuProject.Modifytime = zhengfuProject.Createtime;
|
_ccontext.ZhengfuProjects.Add(zhengfuProject);
|
|
|
string url = $"{api_domain}/webcrawler/_doc/" + zhengfuProject.Id;
|
string result = string.Empty;
|
Uri postUrl = new Uri(url);
|
eswebcrawler eswebcrawler1 = new eswebcrawler();
|
eswebcrawler1.Id = zhengfuProject.Id;
|
eswebcrawler1.noticeTime = zhengfuProject.NoticeTime.ToString("yyyy-MM-dd HH:mm:ss");
|
eswebcrawler1.openTenderTime = zhengfuProject.OpenTenderTime.HasValue? zhengfuProject.OpenTenderTime.Value.ToString("yyyy-MM-dd HH:mm:ss"):null;
|
eswebcrawler1.sheng = zhengfuProject.Sheng;
|
eswebcrawler1.shengName = ShengName;
|
eswebcrawler1.city = zhengfuProject.City;
|
eswebcrawler1.cityName = CityName;
|
eswebcrawler1.regionCode = zhengfuProject.RegionCode;
|
eswebcrawler1.regionName = regionName;
|
eswebcrawler1.cgfs = zhengfuProject.Cgfs;
|
eswebcrawler1.cgfsName = cgfsName;
|
eswebcrawler1.gglx = zhengfuProject.Gglx;
|
eswebcrawler1.gglxName = gglxName;
|
eswebcrawler1.openTenderCode = zhengfuProject.OpenTenderCode;
|
eswebcrawler1.title = zhengfuProject.Title;
|
eswebcrawler1.shorttitle = zhengfuProject.Shorttitle;
|
eswebcrawler1.pageurl = zhengfuProject.Pageurl;
|
eswebcrawler1.pingmu = zhengfuProject.Pingmu;
|
eswebcrawler1.pingmuName = "";
|
eswebcrawler1.purchaser = zhengfuProject.Purchaser;
|
eswebcrawler1.budget = zhengfuProject.Budget.HasValue ? zhengfuProject.Budget.Value.ToString() : "";
|
eswebcrawler1.agency = zhengfuProject.Agency;
|
eswebcrawler1.agencyCode = zhengfuProject.AgencyCode;
|
eswebcrawler1.modifyTime = zhengfuProject.Modifytime.ToString("yyyy-MM-dd HH:mm:ss");
|
|
string requestJson = JsonConvert.SerializeObject(eswebcrawler1);
|
|
using (HttpContent httpContent = new StringContent(requestJson))
|
{
|
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
|
using (HttpClient httpClient = new HttpClient())
|
{
|
httpClient.Timeout = TimeSpan.FromSeconds(60);
|
HttpResponseMessage responseMessage = httpClient.PutAsync(postUrl, httpContent).Result;
|
result = responseMessage.Content.ReadAsStringAsync().Result;
|
}
|
|
}
|
|
Newtonsoft.Json.Linq.JObject jobject = (Newtonsoft.Json.Linq.JObject)JsonConvert.DeserializeObject(result);
|
|
if (jobject["error"] == null && jobject["_shards"]["successful"].ToString() == "1")
|
{
|
|
}
|
else
|
{
|
throw new Exception("保存数据库出错!");
|
}
|
|
|
_ccontext.SaveChanges();
|
}
|
}
|
}
|
|
|
if (currPage * pageSize >= sichuan.total)
|
{
|
break;
|
}
|
else
|
{
|
currPage += 1;
|
}
|
Thread.CurrentThread.Join(1000 * 2);//阻止设定时间
|
}
|
|
|
}
|
logg.WriteLog("四川省中标公告 获取完成", "四川");
|
|
//翻页信息
|
currPage = 1;
|
pageSize = 10;
|
//开始访问 采购公告
|
logg.WriteLog("四川省更正公告 开始获取", "四川");
|
while (true)
|
{
|
logg.WriteLog(currPage.ToString(), "四川");
|
string address = "https://zfcg.scsczt.cn/freecms/rest/v1/notice/selectInfoMoreChannel.do?&siteId=94c965cc-c55d-4f92-8469-d5875c68bd04&channel=c5bff13f-21ca-4dac-b158-cb40accd3035&currPage=" + currPage + "&pageSize=" + pageSize + "¬iceType=00103®ionCode=&purchaseManner=&title=&openTenderCode=&purchaser=&agency=&purchaseNature=&operationStartTime=" + operationStartTime + "&operationEndTime=&selectTimeName=noticeTime&cityOrArea=";
|
using (HttpClient client = new HttpClient())
|
{
|
client.Timeout = TimeSpan.FromSeconds(60);
|
HttpResponseMessage response = client.GetAsync(address).Result;
|
var res = response.Content.ReadAsStringAsync().Result;
|
|
sichuanjieshou sichuan = JsonConvert.DeserializeObject<sichuanjieshou>(res);
|
|
//保存项目到sqlserveer和elasticsearch
|
if (sichuan.data != null && sichuan.data.Count > 0)
|
{
|
foreach (var sichuanjieshoudtl in sichuan.data)
|
{
|
var pageurl1 = sichuanpageurll + sichuanjieshoudtl.pageurl;
|
ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.Pageurl == pageurl1).FirstOrDefault();
|
if (zhengfuProject == null)
|
{
|
zhengfuProject = new ZhengfuProject();
|
zhengfuProject.Id = Guid.NewGuid().ToString();
|
zhengfuProject.Gglx = "04";
|
string gglxName = "更正公告";
|
zhengfuProject.NoticeTime = sichuanjieshoudtl.noticeTime;
|
zhengfuProject.OpenTenderTime = sichuanjieshoudtl.openTenderTime;
|
zhengfuProject.RegionCode = sichuanjieshoudtl.regionCode;
|
string regionName = sichuanjieshoudtl.regionName;
|
zhengfuProject.Sheng = "510000";
|
string ShengName = "四川省";
|
string CityName = "";
|
if ("510001" == sichuanjieshoudtl.regionCode)
|
{
|
zhengfuProject.RegionCode = "";
|
regionName = "";
|
zhengfuProject.City = "510001";
|
CityName = "省本级";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5101"))
|
{
|
zhengfuProject.City = "510100";
|
CityName = "成都市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5103"))
|
{
|
zhengfuProject.City = "510300";
|
CityName = "自贡市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5104"))
|
{
|
zhengfuProject.City = "510400";
|
CityName = "攀枝花市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5105"))
|
{
|
zhengfuProject.City = "510500";
|
CityName = "泸州市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5106"))
|
{
|
zhengfuProject.City = "510600";
|
CityName = "德阳市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5107"))
|
{
|
zhengfuProject.City = "510700";
|
CityName = "绵阳市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5108"))
|
{
|
zhengfuProject.City = "510800";
|
CityName = "广元市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5109"))
|
{
|
zhengfuProject.City = "510900";
|
CityName = "遂宁市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5110"))
|
{
|
zhengfuProject.City = "511000";
|
CityName = "内江市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5111"))
|
{
|
zhengfuProject.City = "511100";
|
CityName = "乐山市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5113"))
|
{
|
zhengfuProject.City = "511300";
|
CityName = "南充市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5114"))
|
{
|
zhengfuProject.City = "5114";
|
CityName = "眉山市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5115"))
|
{
|
zhengfuProject.City = "511500";
|
CityName = "宜宾市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5116"))
|
{
|
zhengfuProject.City = "511600";
|
CityName = "广安市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5117"))
|
{
|
zhengfuProject.City = "511700";
|
CityName = "达州市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5118"))
|
{
|
zhengfuProject.City = "511800";
|
CityName = "雅安市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5119"))
|
{
|
zhengfuProject.City = "511900";
|
CityName = "巴中市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5120"))
|
{
|
zhengfuProject.City = "512000";
|
CityName = "资阳市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5132"))
|
{
|
zhengfuProject.City = "513200";
|
CityName = "阿坝州";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5133"))
|
{
|
zhengfuProject.City = "513300";
|
CityName = "甘孜州";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5134"))
|
{
|
zhengfuProject.City = "513400";
|
CityName = "凉山州";
|
}
|
|
|
string cgfsName = "";
|
switch (sichuanjieshoudtl.purchaseManner)
|
{
|
case "1":
|
zhengfuProject.Cgfs = "1";
|
cgfsName = "公开招标";
|
break;
|
case "2":
|
zhengfuProject.Cgfs = "2";
|
cgfsName = "邀请招标";
|
break;
|
case "3":
|
zhengfuProject.Cgfs = "5";
|
cgfsName = "竞争性谈判";
|
break;
|
case "4":
|
zhengfuProject.Cgfs = "4";
|
cgfsName = "询价";
|
break;
|
case "5":
|
zhengfuProject.Cgfs = "7";
|
cgfsName = "单一来源";
|
break;
|
case "6":
|
zhengfuProject.Cgfs = "3";
|
cgfsName = "竞争性磋商";
|
break;
|
case "9":
|
zhengfuProject.Cgfs = "10";
|
cgfsName = "其他";
|
break;
|
}
|
zhengfuProject.OpenTenderCode = sichuanjieshoudtl.openTenderCode;
|
zhengfuProject.Title = sichuanjieshoudtl.title;
|
zhengfuProject.Shorttitle = sichuanjieshoudtl.shorttitle;
|
zhengfuProject.Pageurl = sichuanpageurll + sichuanjieshoudtl.pageurl;
|
zhengfuProject.Purchaser = sichuanjieshoudtl.purchaser;
|
|
if (!string.IsNullOrWhiteSpace(sichuanjieshoudtl.budget))
|
{
|
zhengfuProject.Budget = decimal.Parse(sichuanjieshoudtl.budget);
|
}
|
zhengfuProject.Agency = sichuanjieshoudtl.agency;
|
zhengfuProject.AgencyCode = sichuanjieshoudtl.agencyCode;
|
zhengfuProject.Content = sichuanjieshoudtl.content.Replace("\r", string.Empty).Replace("\n", string.Empty).Replace("\t", string.Empty).Replace(@"\", string.Empty);
|
zhengfuProject.RecStatus = "A";
|
zhengfuProject.Creater = "1";
|
zhengfuProject.Createtime = DateTime.Now;
|
zhengfuProject.Modifier = "1";
|
zhengfuProject.Modifytime = zhengfuProject.Createtime;
|
_ccontext.ZhengfuProjects.Add(zhengfuProject);
|
|
|
string url = $"{api_domain}/webcrawler/_doc/" + zhengfuProject.Id;
|
string result = string.Empty;
|
Uri postUrl = new Uri(url);
|
eswebcrawler eswebcrawler1 = new eswebcrawler();
|
eswebcrawler1.Id = zhengfuProject.Id;
|
eswebcrawler1.noticeTime = zhengfuProject.NoticeTime.ToString("yyyy-MM-dd HH:mm:ss");
|
eswebcrawler1.openTenderTime = zhengfuProject.OpenTenderTime.HasValue ? zhengfuProject.OpenTenderTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : null;
|
eswebcrawler1.sheng = zhengfuProject.Sheng;
|
eswebcrawler1.shengName = ShengName;
|
eswebcrawler1.city = zhengfuProject.City;
|
eswebcrawler1.cityName = CityName;
|
eswebcrawler1.regionCode = zhengfuProject.RegionCode;
|
eswebcrawler1.regionName = regionName;
|
eswebcrawler1.cgfs = zhengfuProject.Cgfs;
|
eswebcrawler1.cgfsName = cgfsName;
|
eswebcrawler1.gglx = zhengfuProject.Gglx;
|
eswebcrawler1.gglxName = gglxName;
|
eswebcrawler1.openTenderCode = zhengfuProject.OpenTenderCode;
|
eswebcrawler1.title = zhengfuProject.Title;
|
eswebcrawler1.shorttitle = zhengfuProject.Shorttitle;
|
eswebcrawler1.pageurl = zhengfuProject.Pageurl;
|
eswebcrawler1.pingmu = zhengfuProject.Pingmu;
|
eswebcrawler1.pingmuName = "";
|
eswebcrawler1.purchaser = zhengfuProject.Purchaser;
|
eswebcrawler1.budget = zhengfuProject.Budget.HasValue ? zhengfuProject.Budget.Value.ToString() : "";
|
eswebcrawler1.agency = zhengfuProject.Agency;
|
eswebcrawler1.agencyCode = zhengfuProject.AgencyCode;
|
eswebcrawler1.modifyTime = zhengfuProject.Modifytime.ToString("yyyy-MM-dd HH:mm:ss");
|
|
string requestJson = JsonConvert.SerializeObject(eswebcrawler1);
|
|
using (HttpContent httpContent = new StringContent(requestJson))
|
{
|
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
|
using (HttpClient httpClient = new HttpClient())
|
{
|
httpClient.Timeout = TimeSpan.FromSeconds(60);
|
HttpResponseMessage responseMessage = httpClient.PutAsync(postUrl, httpContent).Result;
|
result = responseMessage.Content.ReadAsStringAsync().Result;
|
}
|
|
}
|
|
Newtonsoft.Json.Linq.JObject jobject = (Newtonsoft.Json.Linq.JObject)JsonConvert.DeserializeObject(result);
|
|
if (jobject["error"] == null && jobject["_shards"]["successful"].ToString() == "1")
|
{
|
|
}
|
else
|
{
|
throw new Exception("保存数据库出错!");
|
}
|
|
|
_ccontext.SaveChanges();
|
}
|
}
|
}
|
|
|
if (currPage * pageSize >= sichuan.total)
|
{
|
break;
|
}
|
else
|
{
|
currPage += 1;
|
}
|
Thread.CurrentThread.Join(1000 * 2);//阻止设定时间
|
}
|
|
|
}
|
logg.WriteLog("四川省更正公告 获取完成", "四川");
|
|
|
//翻页信息
|
currPage = 1;
|
pageSize = 10;
|
//开始访问 采购公告
|
logg.WriteLog("四川省废标公告 开始获取", "四川");
|
while (true)
|
{
|
logg.WriteLog(currPage.ToString(), "四川");
|
string address = "https://zfcg.scsczt.cn/freecms/rest/v1/notice/selectInfoMoreChannel.do?&siteId=94c965cc-c55d-4f92-8469-d5875c68bd04&channel=c5bff13f-21ca-4dac-b158-cb40accd3035&currPage=" + currPage + "&pageSize=" + pageSize + "¬iceType=001004,001006®ionCode=&purchaseManner=&title=&openTenderCode=&purchaser=&agency=&purchaseNature=&operationStartTime=" + operationStartTime + "&operationEndTime=&selectTimeName=noticeTime&cityOrArea=";
|
using (HttpClient client = new HttpClient())
|
{
|
client.Timeout = TimeSpan.FromSeconds(60);
|
HttpResponseMessage response = client.GetAsync(address).Result;
|
var res = response.Content.ReadAsStringAsync().Result;
|
|
sichuanjieshou sichuan = JsonConvert.DeserializeObject<sichuanjieshou>(res);
|
|
//保存项目到sqlserveer和elasticsearch
|
if (sichuan.data != null && sichuan.data.Count > 0)
|
{
|
foreach (var sichuanjieshoudtl in sichuan.data)
|
{
|
var pageurl1 = sichuanpageurll + sichuanjieshoudtl.pageurl;
|
ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.Pageurl == pageurl1).FirstOrDefault();
|
if (zhengfuProject == null)
|
{
|
zhengfuProject = new ZhengfuProject();
|
zhengfuProject.Id = Guid.NewGuid().ToString();
|
zhengfuProject.Gglx = "11";
|
string gglxName = "废标公告";
|
zhengfuProject.NoticeTime = sichuanjieshoudtl.noticeTime;
|
zhengfuProject.OpenTenderTime = sichuanjieshoudtl.openTenderTime;
|
zhengfuProject.RegionCode = sichuanjieshoudtl.regionCode;
|
string regionName = sichuanjieshoudtl.regionName;
|
zhengfuProject.Sheng = "510000";
|
string ShengName = "四川省";
|
string CityName = "";
|
if ("510001" == sichuanjieshoudtl.regionCode)
|
{
|
zhengfuProject.RegionCode = "";
|
regionName = "";
|
zhengfuProject.City = "510001";
|
CityName = "省本级";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5101"))
|
{
|
zhengfuProject.City = "510100";
|
CityName = "成都市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5103"))
|
{
|
zhengfuProject.City = "510300";
|
CityName = "自贡市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5104"))
|
{
|
zhengfuProject.City = "510400";
|
CityName = "攀枝花市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5105"))
|
{
|
zhengfuProject.City = "510500";
|
CityName = "泸州市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5106"))
|
{
|
zhengfuProject.City = "510600";
|
CityName = "德阳市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5107"))
|
{
|
zhengfuProject.City = "510700";
|
CityName = "绵阳市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5108"))
|
{
|
zhengfuProject.City = "510800";
|
CityName = "广元市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5109"))
|
{
|
zhengfuProject.City = "510900";
|
CityName = "遂宁市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5110"))
|
{
|
zhengfuProject.City = "511000";
|
CityName = "内江市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5111"))
|
{
|
zhengfuProject.City = "511100";
|
CityName = "乐山市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5113"))
|
{
|
zhengfuProject.City = "511300";
|
CityName = "南充市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5114"))
|
{
|
zhengfuProject.City = "5114";
|
CityName = "眉山市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5115"))
|
{
|
zhengfuProject.City = "511500";
|
CityName = "宜宾市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5116"))
|
{
|
zhengfuProject.City = "511600";
|
CityName = "广安市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5117"))
|
{
|
zhengfuProject.City = "511700";
|
CityName = "达州市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5118"))
|
{
|
zhengfuProject.City = "511800";
|
CityName = "雅安市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5119"))
|
{
|
zhengfuProject.City = "511900";
|
CityName = "巴中市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5120"))
|
{
|
zhengfuProject.City = "512000";
|
CityName = "资阳市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5132"))
|
{
|
zhengfuProject.City = "513200";
|
CityName = "阿坝州";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5133"))
|
{
|
zhengfuProject.City = "513300";
|
CityName = "甘孜州";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5134"))
|
{
|
zhengfuProject.City = "513400";
|
CityName = "凉山州";
|
}
|
|
|
string cgfsName = "";
|
switch (sichuanjieshoudtl.purchaseManner)
|
{
|
case "1":
|
zhengfuProject.Cgfs = "1";
|
cgfsName = "公开招标";
|
break;
|
case "2":
|
zhengfuProject.Cgfs = "2";
|
cgfsName = "邀请招标";
|
break;
|
case "3":
|
zhengfuProject.Cgfs = "5";
|
cgfsName = "竞争性谈判";
|
break;
|
case "4":
|
zhengfuProject.Cgfs = "4";
|
cgfsName = "询价";
|
break;
|
case "5":
|
zhengfuProject.Cgfs = "7";
|
cgfsName = "单一来源";
|
break;
|
case "6":
|
zhengfuProject.Cgfs = "3";
|
cgfsName = "竞争性磋商";
|
break;
|
case "9":
|
zhengfuProject.Cgfs = "10";
|
cgfsName = "其他";
|
break;
|
}
|
zhengfuProject.OpenTenderCode = sichuanjieshoudtl.openTenderCode;
|
zhengfuProject.Title = sichuanjieshoudtl.title;
|
zhengfuProject.Shorttitle = sichuanjieshoudtl.shorttitle;
|
zhengfuProject.Pageurl = sichuanpageurll + sichuanjieshoudtl.pageurl;
|
zhengfuProject.Purchaser = sichuanjieshoudtl.purchaser;
|
|
if (!string.IsNullOrWhiteSpace(sichuanjieshoudtl.budget))
|
{
|
zhengfuProject.Budget = decimal.Parse(sichuanjieshoudtl.budget);
|
}
|
zhengfuProject.Agency = sichuanjieshoudtl.agency;
|
zhengfuProject.AgencyCode = sichuanjieshoudtl.agencyCode;
|
zhengfuProject.Content = sichuanjieshoudtl.content.Replace("\r", string.Empty).Replace("\n", string.Empty).Replace("\t", string.Empty).Replace(@"\", string.Empty);
|
zhengfuProject.RecStatus = "A";
|
zhengfuProject.Creater = "1";
|
zhengfuProject.Createtime = DateTime.Now;
|
zhengfuProject.Modifier = "1";
|
zhengfuProject.Modifytime = zhengfuProject.Createtime;
|
_ccontext.ZhengfuProjects.Add(zhengfuProject);
|
|
|
string url = $"{api_domain}/webcrawler/_doc/" + zhengfuProject.Id;
|
string result = string.Empty;
|
Uri postUrl = new Uri(url);
|
eswebcrawler eswebcrawler1 = new eswebcrawler();
|
eswebcrawler1.Id = zhengfuProject.Id;
|
eswebcrawler1.noticeTime = zhengfuProject.NoticeTime.ToString("yyyy-MM-dd HH:mm:ss");
|
eswebcrawler1.openTenderTime = zhengfuProject.OpenTenderTime.HasValue ? zhengfuProject.OpenTenderTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : null;
|
eswebcrawler1.sheng = zhengfuProject.Sheng;
|
eswebcrawler1.shengName = ShengName;
|
eswebcrawler1.city = zhengfuProject.City;
|
eswebcrawler1.cityName = CityName;
|
eswebcrawler1.regionCode = zhengfuProject.RegionCode;
|
eswebcrawler1.regionName = regionName;
|
eswebcrawler1.cgfs = zhengfuProject.Cgfs;
|
eswebcrawler1.cgfsName = cgfsName;
|
eswebcrawler1.gglx = zhengfuProject.Gglx;
|
eswebcrawler1.gglxName = gglxName;
|
eswebcrawler1.openTenderCode = zhengfuProject.OpenTenderCode;
|
eswebcrawler1.title = zhengfuProject.Title;
|
eswebcrawler1.shorttitle = zhengfuProject.Shorttitle;
|
eswebcrawler1.pageurl = zhengfuProject.Pageurl;
|
eswebcrawler1.pingmu = zhengfuProject.Pingmu;
|
eswebcrawler1.pingmuName = "";
|
eswebcrawler1.purchaser = zhengfuProject.Purchaser;
|
eswebcrawler1.budget = zhengfuProject.Budget.HasValue ? zhengfuProject.Budget.Value.ToString() : "";
|
eswebcrawler1.agency = zhengfuProject.Agency;
|
eswebcrawler1.agencyCode = zhengfuProject.AgencyCode;
|
eswebcrawler1.modifyTime = zhengfuProject.Modifytime.ToString("yyyy-MM-dd HH:mm:ss");
|
|
string requestJson = JsonConvert.SerializeObject(eswebcrawler1);
|
|
using (HttpContent httpContent = new StringContent(requestJson))
|
{
|
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
|
using (HttpClient httpClient = new HttpClient())
|
{
|
httpClient.Timeout = TimeSpan.FromSeconds(60);
|
HttpResponseMessage responseMessage = httpClient.PutAsync(postUrl, httpContent).Result;
|
result = responseMessage.Content.ReadAsStringAsync().Result;
|
}
|
|
}
|
|
Newtonsoft.Json.Linq.JObject jobject = (Newtonsoft.Json.Linq.JObject)JsonConvert.DeserializeObject(result);
|
|
if (jobject["error"] == null && jobject["_shards"]["successful"].ToString() == "1")
|
{
|
|
}
|
else
|
{
|
throw new Exception("保存数据库出错!");
|
}
|
|
|
_ccontext.SaveChanges();
|
}
|
}
|
}
|
|
|
if (currPage * pageSize >= sichuan.total)
|
{
|
break;
|
}
|
else
|
{
|
currPage += 1;
|
}
|
Thread.CurrentThread.Join(1000 * 2);//阻止设定时间
|
}
|
|
|
}
|
logg.WriteLog("四川省废标公告 获取完成", "四川");
|
|
//翻页信息
|
currPage = 1;
|
pageSize = 10;
|
//开始访问 采购公告
|
logg.WriteLog("四川省意向公开 开始获取", "四川");
|
while (true)
|
{
|
logg.WriteLog(currPage.ToString(), "四川");
|
string address = "https://zfcg.scsczt.cn/freecms/rest/v1/notice/selectInfoMoreChannel.do?&siteId=94c965cc-c55d-4f92-8469-d5875c68bd04&channel=c5bff13f-21ca-4dac-b158-cb40accd3035&currPage="+ currPage + "&pageSize="+ pageSize + "¬iceType=59®ionCode=&purchaseManner=&title=&openTenderCode=&purchaser=&agency=&purchaseNature=&operationStartTime="+ operationStartTime + "&operationEndTime=&selectTimeName=noticeTime&cityOrArea=";
|
using (HttpClient client = new HttpClient())
|
{
|
client.Timeout = TimeSpan.FromSeconds(60);
|
HttpResponseMessage response = client.GetAsync(address).Result;
|
var res = response.Content.ReadAsStringAsync().Result;
|
|
sichuanjieshou sichuan = JsonConvert.DeserializeObject<sichuanjieshou>(res);
|
|
//保存项目到sqlserveer和elasticsearch
|
if (sichuan.data != null && sichuan.data.Count > 0)
|
{
|
foreach (var sichuanjieshoudtl in sichuan.data)
|
{
|
var pageurl1 = sichuanpageurll + sichuanjieshoudtl.pageurl;
|
ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.Pageurl == pageurl1).FirstOrDefault();
|
if (zhengfuProject == null)
|
{
|
zhengfuProject = new ZhengfuProject();
|
zhengfuProject.Id = Guid.NewGuid().ToString();
|
zhengfuProject.Gglx = "01";
|
string gglxName = "意向公开";
|
zhengfuProject.NoticeTime = sichuanjieshoudtl.noticeTime;
|
zhengfuProject.OpenTenderTime = sichuanjieshoudtl.openTenderTime;
|
zhengfuProject.RegionCode = sichuanjieshoudtl.regionCode;
|
string regionName = sichuanjieshoudtl.regionName;
|
zhengfuProject.Sheng = "510000";
|
string ShengName = "四川省";
|
string CityName = "";
|
if ("510001" == sichuanjieshoudtl.regionCode)
|
{
|
zhengfuProject.RegionCode = "";
|
regionName = "";
|
zhengfuProject.City = "510001";
|
CityName = "省本级";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5101"))
|
{
|
zhengfuProject.City = "510100";
|
CityName = "成都市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5103"))
|
{
|
zhengfuProject.City = "510300";
|
CityName = "自贡市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5104"))
|
{
|
zhengfuProject.City = "510400";
|
CityName = "攀枝花市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5105"))
|
{
|
zhengfuProject.City = "510500";
|
CityName = "泸州市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5106"))
|
{
|
zhengfuProject.City = "510600";
|
CityName = "德阳市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5107"))
|
{
|
zhengfuProject.City = "510700";
|
CityName = "绵阳市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5108"))
|
{
|
zhengfuProject.City = "510800";
|
CityName = "广元市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5109"))
|
{
|
zhengfuProject.City = "510900";
|
CityName = "遂宁市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5110"))
|
{
|
zhengfuProject.City = "511000";
|
CityName = "内江市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5111"))
|
{
|
zhengfuProject.City = "511100";
|
CityName = "乐山市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5113"))
|
{
|
zhengfuProject.City = "511300";
|
CityName = "南充市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5114"))
|
{
|
zhengfuProject.City = "5114";
|
CityName = "眉山市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5115"))
|
{
|
zhengfuProject.City = "511500";
|
CityName = "宜宾市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5116"))
|
{
|
zhengfuProject.City = "511600";
|
CityName = "广安市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5117"))
|
{
|
zhengfuProject.City = "511700";
|
CityName = "达州市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5118"))
|
{
|
zhengfuProject.City = "511800";
|
CityName = "雅安市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5119"))
|
{
|
zhengfuProject.City = "511900";
|
CityName = "巴中市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5120"))
|
{
|
zhengfuProject.City = "512000";
|
CityName = "资阳市";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5132"))
|
{
|
zhengfuProject.City = "513200";
|
CityName = "阿坝州";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5133"))
|
{
|
zhengfuProject.City = "513300";
|
CityName = "甘孜州";
|
}
|
else if (sichuanjieshoudtl.regionCode.StartsWith("5134"))
|
{
|
zhengfuProject.City = "513400";
|
CityName = "凉山州";
|
}
|
|
|
string cgfsName = "";
|
switch (sichuanjieshoudtl.purchaseManner)
|
{
|
case "1":
|
zhengfuProject.Cgfs = "1";
|
cgfsName = "公开招标";
|
break;
|
case "2":
|
zhengfuProject.Cgfs = "2";
|
cgfsName = "邀请招标";
|
break;
|
case "3":
|
zhengfuProject.Cgfs = "5";
|
cgfsName = "竞争性谈判";
|
break;
|
case "4":
|
zhengfuProject.Cgfs = "4";
|
cgfsName = "询价";
|
break;
|
case "5":
|
zhengfuProject.Cgfs = "7";
|
cgfsName = "单一来源";
|
break;
|
case "6":
|
zhengfuProject.Cgfs = "3";
|
cgfsName = "竞争性磋商";
|
break;
|
case "9":
|
zhengfuProject.Cgfs = "10";
|
cgfsName = "其他";
|
break;
|
}
|
zhengfuProject.OpenTenderCode = sichuanjieshoudtl.openTenderCode;
|
zhengfuProject.Title = sichuanjieshoudtl.title;
|
zhengfuProject.Shorttitle = sichuanjieshoudtl.shorttitle;
|
zhengfuProject.Pageurl = sichuanpageurll + sichuanjieshoudtl.pageurl;
|
zhengfuProject.Purchaser = sichuanjieshoudtl.purchaser;
|
|
if (!string.IsNullOrWhiteSpace(sichuanjieshoudtl.budget))
|
{
|
zhengfuProject.Budget = decimal.Parse(sichuanjieshoudtl.budget);
|
}
|
zhengfuProject.Agency = sichuanjieshoudtl.agency;
|
zhengfuProject.AgencyCode = sichuanjieshoudtl.agencyCode;
|
zhengfuProject.Content = sichuanjieshoudtl.content.Replace("\r", string.Empty).Replace("\n", string.Empty).Replace("\t", string.Empty).Replace(@"\", string.Empty);
|
zhengfuProject.RecStatus = "A";
|
zhengfuProject.Creater = "1";
|
zhengfuProject.Createtime = DateTime.Now;
|
zhengfuProject.Modifier = "1";
|
zhengfuProject.Modifytime = zhengfuProject.Createtime;
|
_ccontext.ZhengfuProjects.Add(zhengfuProject);
|
|
|
string url = $"{api_domain}/webcrawler/_doc/" + zhengfuProject.Id;
|
string result = string.Empty;
|
Uri postUrl = new Uri(url);
|
eswebcrawler eswebcrawler1 = new eswebcrawler();
|
eswebcrawler1.Id = zhengfuProject.Id;
|
eswebcrawler1.noticeTime = zhengfuProject.NoticeTime.ToString("yyyy-MM-dd HH:mm:ss");
|
eswebcrawler1.openTenderTime = zhengfuProject.OpenTenderTime.HasValue ? zhengfuProject.OpenTenderTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : null;
|
eswebcrawler1.sheng = zhengfuProject.Sheng;
|
eswebcrawler1.shengName = ShengName;
|
eswebcrawler1.city = zhengfuProject.City;
|
eswebcrawler1.cityName = CityName;
|
eswebcrawler1.regionCode = zhengfuProject.RegionCode;
|
eswebcrawler1.regionName = regionName;
|
eswebcrawler1.cgfs = zhengfuProject.Cgfs;
|
eswebcrawler1.cgfsName = cgfsName;
|
eswebcrawler1.gglx = zhengfuProject.Gglx;
|
eswebcrawler1.gglxName = gglxName;
|
eswebcrawler1.openTenderCode = zhengfuProject.OpenTenderCode;
|
eswebcrawler1.title = zhengfuProject.Title;
|
eswebcrawler1.shorttitle = zhengfuProject.Shorttitle;
|
eswebcrawler1.pageurl = zhengfuProject.Pageurl;
|
eswebcrawler1.pingmu = zhengfuProject.Pingmu;
|
eswebcrawler1.pingmuName = "";
|
eswebcrawler1.purchaser = zhengfuProject.Purchaser;
|
eswebcrawler1.budget = zhengfuProject.Budget.HasValue ? zhengfuProject.Budget.Value.ToString() : "";
|
eswebcrawler1.agency = zhengfuProject.Agency;
|
eswebcrawler1.agencyCode = zhengfuProject.AgencyCode;
|
eswebcrawler1.modifyTime = zhengfuProject.Modifytime.ToString("yyyy-MM-dd HH:mm:ss");
|
|
string requestJson = JsonConvert.SerializeObject(eswebcrawler1);
|
|
using (HttpContent httpContent = new StringContent(requestJson))
|
{
|
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
|
using (HttpClient httpClient = new HttpClient())
|
{
|
httpClient.Timeout = TimeSpan.FromSeconds(60);
|
HttpResponseMessage responseMessage = httpClient.PutAsync(postUrl, httpContent).Result;
|
result = responseMessage.Content.ReadAsStringAsync().Result;
|
}
|
|
}
|
|
Newtonsoft.Json.Linq.JObject jobject = (Newtonsoft.Json.Linq.JObject)JsonConvert.DeserializeObject(result);
|
|
if (jobject["error"] == null && jobject["_shards"]["successful"].ToString() == "1")
|
{
|
|
}
|
else
|
{
|
throw new Exception("保存数据库出错!");
|
}
|
|
|
_ccontext.SaveChanges();
|
}
|
}
|
}
|
|
|
if (currPage * pageSize >= sichuan.total)
|
{
|
break;
|
}
|
else
|
{
|
currPage += 1;
|
}
|
Thread.CurrentThread.Join(1000 * 2);//阻止设定时间
|
}
|
|
|
}
|
logg.WriteLog("四川省意向公开 获取完成", "四川");
|
|
//保存最后更新时间
|
if (updatetime != null)
|
{
|
updatetime.Updatetime1 = DateTime.Now.AddDays(-1);
|
_ccontext.SaveChanges();
|
}
|
else
|
{
|
updatetime = new Updatetime();
|
updatetime.Id = Guid.NewGuid().ToString();
|
updatetime.Sheng = "四川省";
|
updatetime.Updatetime1 = DateTime.Now.AddDays(-1);
|
_ccontext.Updatetimes.Add(updatetime);
|
_ccontext.SaveChanges();
|
}
|
}
|
catch (Exception ex)
|
{
|
logg.WriteLog(ex.Message, "四川");
|
|
logg.WriteLog(ex.StackTrace, "四川");
|
|
logg.WriteLog(ex.ToString(), "四川");
|
}
|
finally
|
{
|
|
}
|
}
|
}
|
}
|