username@email.com
2022-12-01 db227144dedfb5fb5b1e94e8c8b14eab9eb7462f
中国政采网的四川数据
发送验证码

新增后台,小程序的来电新增接口,验证验证码
8个文件已修改
3个文件已添加
2031 ■■■■■ 已修改文件
zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/CommonToolsCore/SMSHelper.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Crawler/Program.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Crawler/sichuan/CcgpSichuanoperation.cs 1757 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/DTO/AdmPhoneMessageDTO.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/DTO/DailyManagementDTO .cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/IDailyManagementService.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Model/AdmPhoneMessage.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Model/zhengcaioaContext.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/DailyManagementService.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/AdmManagement/DailyManagementController.cs 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs
@@ -328,6 +328,9 @@
            CreateMap<TChallengeRequestInfo, TChallengeRequestInfoDTO>();
            CreateMap<TChallengeRequestInfoDTO, TChallengeRequestInfo>();
            CreateMap<AdmPhoneMessage, AdmPhoneMessageDTO>();
            CreateMap<AdmPhoneMessageDTO, AdmPhoneMessage>();
        }
    }
}
zhengcaioa/CommonToolsCore/SMSHelper.cs
@@ -100,5 +100,20 @@
            string ssss =   HttpClientRequest.HttpClientPostGB2312(url, "POST", data);
            return ssss;
        }
        /// <summary>
        /// 发送验证码
        /// </summary>
        /// <param name="phone"></param>
        /// <param name="date"></param>
        /// <returns></returns>
        public static string PushWToUserMESYanZhengMa(string phone, string conment)
        {
            string url = "https://mb345.com/ws/BatchSend2.aspx";
            string data = "CorpID=XP010534&Pwd=123321&Mobile=" + phone + "&Content=您好,您的验证码是:" + conment + "【政采咨询网】&SendTime=";
            string ssss = HttpClientRequest.HttpClientPostGB2312(url, "POST", data);
            return ssss;
        }
    }
}
zhengcaioa/Crawler/Program.cs
@@ -147,6 +147,10 @@
            Thread thread1 = new Thread(new ThreadStart(obj.Method2));
            thread1.Start();
            Thread thread2 = new Thread(new ThreadStart(obj.Method3));
            thread2.Start();
            Console.WriteLine("Hello World!");
        }
@@ -186,6 +190,23 @@
        }
        void Method3()
        {
            while (true)
            {
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
                var dbContextOptionBuilder = new DbContextOptionsBuilder<WebCrawlerContext>();
                var cccontext = new WebCrawlerContext(dbContextOptionBuilder.UseSqlServer(connection).Options);
                //var dbContextOptionBuilder1 = new DbContextOptionsBuilder<zhengcaioaContext>();
                //var cccontext1 = new zhengcaioaContext(dbContextOptionBuilder1.UseSqlServer(connection1).Options);
                //获取中国政采网的四川政采数据
                CcgpSichuanoperation.operations(cccontext);
                Thread.CurrentThread.Join(1000 * 60 * 60 * 2);//阻止设定时间
            }
        }
zhengcaioa/Crawler/sichuan/CcgpSichuanoperation.cs
New file
@@ -0,0 +1,1757 @@
using AngleSharp.Html.Parser;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Globalization;
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 CcgpSichuanoperation
    {
        public static void operations(WebCrawlerContext _ccontext)
        {
            try
            {
                //获取更新时间
                string operationStartTime = "";
                string operationEndTime = "";
                Updatetime updatetime = _ccontext.Updatetimes.Where(x => x.Sheng == "中国政采网四川省").FirstOrDefault();
                if (updatetime != null)
                {
                    operationStartTime = updatetime.Updatetime1.ToString("yyyy-MM-dd");
                    operationEndTime = updatetime.Updatetime1.AddDays(1).ToString("yyyy-MM-dd");
                    //updatetime.Updatetime1 = DateTime.Now.AddDays(-1);
                    //_ccontext.SaveChanges();
                }
                else
                {
                    operationStartTime = "2021-12-01"; //DateTime.Now.AddYears(-1).ToString("yyyy-MM-dd");
                    operationEndTime = "2022-12-01";//DateTime.Now.ToString("yyyy-MM-dd");
                }
                var currPage = 1;
                string sichuanpageurll = "";
                #region 意向公开
                currPage = 1;
                sichuanpageurll = "http://search.ccgp.gov.cn/bxsearch?searchtype=1&page_index=1&bidSort=0&buyerName=&projectId=&pinMu=0&bidType=9&dbselect=bidx&kw=%E6%84%8F%E5%90%91&start_time=&end_time=&timeType=6&displayZone=%E5%9B%9B%E5%B7%9D&zoneId=51&pppStatus=&agentName=";
                logg.WriteLog("中国政采网四川省意向公开 开始获取", "中国政采网四川省");
                yixianggonggao(_ccontext, sichuanpageurll, operationStartTime, operationEndTime, currPage);
                logg.WriteLog("中国政采网四川省意向公开 开始获取结束", "中国政采网四川省");
                #endregion
                #region 公开招标
                currPage = 1;
                sichuanpageurll = "http://search.ccgp.gov.cn/bxsearch?searchtype=1&page_index=1&bidSort=0&buyerName=&projectId=&pinMu=0&bidType=1&dbselect=bidx&kw=&start_time=&end_time=&timeType=6&displayZone=%E5%9B%9B%E5%B7%9D&zoneId=51&pppStatus=&agentName=";
                logg.WriteLog("中国政采网四川省采购公告 公开招标 开始获取", "中国政采网四川省");
                caigougonggao(_ccontext, sichuanpageurll, operationStartTime, operationEndTime, currPage, "1", "公开招标");
                logg.WriteLog("中国政采网四川省采购公告 公开招标 开始获取结束", "中国政采网四川省");
                #endregion
                #region 询价
                currPage = 1;
                sichuanpageurll = "http://search.ccgp.gov.cn/bxsearch?searchtype=1&page_index=1&bidSort=0&buyerName=&projectId=&pinMu=0&bidType=2&dbselect=bidx&kw=&start_time=&end_time=&timeType=6&displayZone=%E5%9B%9B%E5%B7%9D&zoneId=51&pppStatus=&agentName=";
                logg.WriteLog("中国政采网四川省采购公告 询价 开始获取", "中国政采网四川省");
                caigougonggao(_ccontext, sichuanpageurll, operationStartTime, operationEndTime, currPage, "4", "询价");
                logg.WriteLog("中国政采网四川省采购公告 询价 开始获取结束", "中国政采网四川省");
                #endregion
                #region 竞争性谈判
                currPage = 1;
                sichuanpageurll = "http://search.ccgp.gov.cn/bxsearch?searchtype=1&page_index=1&bidSort=0&buyerName=&projectId=&pinMu=0&bidType=3&dbselect=bidx&kw=&start_time=&end_time=&timeType=6&displayZone=%E5%9B%9B%E5%B7%9D&zoneId=51&pppStatus=&agentName=";
                logg.WriteLog("中国政采网四川省采购公告 竞争性谈判 开始获取", "中国政采网四川省");
                caigougonggao(_ccontext, sichuanpageurll, operationStartTime, operationEndTime, currPage, "5", "竞争性谈判");
                logg.WriteLog("中国政采网四川省采购公告 竞争性谈判 开始获取结束", "中国政采网四川省");
                #endregion
                #region 单一来源
                currPage = 1;
                sichuanpageurll = "http://search.ccgp.gov.cn/bxsearch?searchtype=1&page_index=1&bidSort=0&buyerName=&projectId=&pinMu=0&bidType=4&dbselect=bidx&kw=&start_time=&end_time=&timeType=6&displayZone=%E5%9B%9B%E5%B7%9D&zoneId=51&pppStatus=&agentName=";
                logg.WriteLog("中国政采网四川省采购公告 单一来源 开始获取", "中国政采网四川省");
                caigougonggao(_ccontext, sichuanpageurll, operationStartTime, operationEndTime, currPage, "7", "单一来源");
                logg.WriteLog("中国政采网四川省采购公告 单一来源 开始获取结束", "中国政采网四川省");
                #endregion
                #region 邀请招标
                currPage = 1;
                sichuanpageurll = "http://search.ccgp.gov.cn/bxsearch?searchtype=1&page_index=1&bidSort=0&buyerName=&projectId=&pinMu=0&bidType=6&dbselect=bidx&kw=&start_time=&end_time=&timeType=6&displayZone=%E5%9B%9B%E5%B7%9D&zoneId=51&pppStatus=&agentName=";
                logg.WriteLog("中国政采网四川省采购公告 邀请招标 开始获取", "中国政采网四川省");
                caigougonggao(_ccontext, sichuanpageurll, operationStartTime, operationEndTime, currPage, "2", "邀请招标");
                logg.WriteLog("中国政采网四川省采购公告 邀请招标 开始获取结束", "中国政采网四川省");
                #endregion
                #region 竞争性磋商
                currPage = 1;
                sichuanpageurll = "http://search.ccgp.gov.cn/bxsearch?searchtype=1&page_index=1&bidSort=0&buyerName=&projectId=&pinMu=0&bidType=10&dbselect=bidx&kw=&start_time=&end_time=&timeType=6&displayZone=%E5%9B%9B%E5%B7%9D&zoneId=51&pppStatus=&agentName=";
                logg.WriteLog("中国政采网四川省采购公告 竞争性磋商 开始获取", "中国政采网四川省");
                caigougonggao(_ccontext, sichuanpageurll, operationStartTime, operationEndTime, currPage, "3", "竞争性磋商");
                logg.WriteLog("中国政采网四川省采购公告 竞争性磋商 开始获取结束", "中国政采网四川省");
                #endregion
                #region 中标公告
                currPage = 1;
                sichuanpageurll = "http://search.ccgp.gov.cn/bxsearch?searchtype=1&page_index=1&bidSort=0&buyerName=&projectId=&pinMu=0&bidType=7&dbselect=bidx&kw=&start_time=&end_time=&timeType=6&displayZone=%E5%9B%9B%E5%B7%9D&zoneId=51&pppStatus=&agentName=";
                logg.WriteLog("中国政采网四川省中标公告 开始获取", "中国政采网四川省");
                zhongbiaogonggao(_ccontext, sichuanpageurll, operationStartTime, operationEndTime, currPage);
                logg.WriteLog("中国政采网四川省中标公告 开始获取结束", "中国政采网四川省");
                #endregion
                #region 成交公告
                currPage = 1;
                sichuanpageurll = "http://search.ccgp.gov.cn/bxsearch?searchtype=1&page_index=1&bidSort=0&buyerName=&projectId=&pinMu=0&bidType=11&dbselect=bidx&kw=&start_time=&end_time=&timeType=6&displayZone=%E5%9B%9B%E5%B7%9D&zoneId=51&pppStatus=&agentName=";
                logg.WriteLog("中国政采网四川省成交公告 开始获取", "中国政采网四川省");
                zhongbiaogonggao(_ccontext, sichuanpageurll, operationStartTime, operationEndTime, currPage);
                logg.WriteLog("中国政采网四川省成交公告 开始获取结束", "中国政采网四川省");
                #endregion
                #region 更正公告
                currPage = 1;
                sichuanpageurll = "http://search.ccgp.gov.cn/bxsearch?searchtype=1&page_index=1&bidSort=0&buyerName=&projectId=&pinMu=0&bidType=8&dbselect=bidx&kw=&start_time=&end_time=&timeType=6&displayZone=%E5%9B%9B%E5%B7%9D&zoneId=51&pppStatus=&agentName=";
                logg.WriteLog("中国政采网四川省更正公告 开始获取", "中国政采网四川省");
                gengzhenggonggao(_ccontext, sichuanpageurll, operationStartTime, operationEndTime, currPage);
                logg.WriteLog("中国政采网四川省更正公告 开始获取结束", "中国政采网四川省");
                #endregion
                #region 废标公告
                currPage = 1;
                sichuanpageurll = "http://search.ccgp.gov.cn/bxsearch?searchtype=1&page_index=1&bidSort=0&buyerName=&projectId=&pinMu=0&bidType=12&dbselect=bidx&kw=&start_time=&end_time=&timeType=6&displayZone=%E5%9B%9B%E5%B7%9D&zoneId=51&pppStatus=&agentName=";
                logg.WriteLog("中国政采网四川省废标公告 开始获取", "中国政采网四川省");
                feibiaogonggao(_ccontext, sichuanpageurll, operationStartTime, operationEndTime , currPage);
                logg.WriteLog("中国政采网四川省废标公告 开始获取结束", "中国政采网四川省");
                #endregion
                //保存最后更新时间
                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
            {
            }
        }
        //采购公告
        public static void caigougonggao(WebCrawlerContext _ccontext, string sichuanpageurll, string startTime, string endTime , int page, string cgfs, string cgfsName)
        {
            sichuanpageurll = sichuanpageurll.Replace("start_time=", "start_time=" + startTime.Replace("-", "%3A"));
            sichuanpageurll = sichuanpageurll.Replace("end_time=", "end_time=" + endTime.Replace("-", "%3A"));
            var parser = new HtmlParser();
            var list11 = new List<AngleSharp.Dom.IElement>();
            while (true)
            {
                Thread.CurrentThread.Join(1000 * 4);//阻止设定时间
                logg.WriteLog(page.ToString(), "中国政采网四川省");
                string sichuanpageurl2 = sichuanpageurll.Replace("page_index=1", "page_index=" + page);
                using (HttpClient client = new HttpClient())
                {
                    //List<sichuanjieshoudtl> data = new List<sichuanjieshoudtl>();
                    HttpResponseMessage response = client.GetAsync(sichuanpageurl2).Result;
                    var res = response.Content.ReadAsStringAsync().Result;
                    var document = parser.ParseDocument(res);
                    var sssdfsdfsd = document.All.Where(m => m.ClassName == "vT-srch-result-list").FirstOrDefault();
                    var contentList = sssdfsdfsd.QuerySelector("ul");
                    if (contentList != null)
                    {
                        var lists = contentList.QuerySelectorAll("li");
                        if (lists == null || lists.Length == 0)
                        {
                            break;
                        }
                        if (page != 1)
                        {
                            var list22 = lists.ToList();
                            var breakable = true;
                            if (list11.Count == list22.Count)
                            {
                                foreach (var list11111 in list11)
                                {
                                var listcount =   list22.Count(x=>x.InnerHtml == list11111.InnerHtml);
                                    if (listcount <= 0)
                                    {
                                        breakable = false;
                                        break;
                                    }
                                }
                                if (breakable)
                                {
                                    break;
                                }
                            }
                            list11 = list22;
                        }
                        else
                        {
                            list11 = lists.ToList();
                        }
                        foreach (var sichuanjieshoudtl1 in lists)
                        {
                            Thread.CurrentThread.Join(1000 * 4);//阻止设定时间
                            try
                            {
                                sichuanjieshoudtl aaaaaaaa = new sichuanjieshoudtl();
                                aaaaaaaa.pageurl = sichuanjieshoudtl1.QuerySelector("a").GetAttribute("href");
                                logg.WriteLog(aaaaaaaa.pageurl, "中国政采网四川省");
                                aaaaaaaa.title = sichuanjieshoudtl1.QuerySelector("a").TextContent.Replace("\n", "").Trim() ;
                                aaaaaaaa.shorttitle = aaaaaaaa.title;
                                string[] sssssss = sichuanjieshoudtl1.QuerySelector("span").TextContent.Replace("|","").Split("\n");
                                string Purchaser = null;
                                string Agency = null;
                                var NoticeTime = sssssss[0].Trim();
                                foreach(var ssss in sssssss)
                                {
                                    if (ssss.IndexOf("采购人")>=0)
                                    {
                                        Purchaser = ssss.Replace("采购人", "").Replace(":", "").Replace("/", "").Trim();
                                    }
                                    if (ssss.IndexOf("代理机构") >= 0)
                                    {
                                        Agency = ssss.Replace("代理机构", "").Replace(":", "").Replace("/", "").Trim();
                                    }
                                }
                                using (HttpClient clientdtl = new HttpClient())
                                {
                                    ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.Pageurl == aaaaaaaa.pageurl).FirstOrDefault();
                                    if (zhengfuProject == null)
                                    {
                                        HttpResponseMessage responsedtl = clientdtl.GetAsync(aaaaaaaa.pageurl).Result;
                                        var resdtl = responsedtl.Content.ReadAsStringAsync().Result;
                                        var documentdtl = parser.ParseDocument(resdtl);
                                        var dtl = documentdtl.All.Where(m => m.ClassName == "vF_detail_content_container").FirstOrDefault();
                                        var content = dtl.OuterHtml;
                                        var fujian = documentdtl.All.Where(m => m.ClassName == "main").FirstOrDefault();
                                        var fujians = documentdtl.All.Where(m => m.ClassName == "bizDownload").ToList() ;
                                        if(fujians!=null&& fujians.Count > 0)
                                        {
                                            var fujianhtml = "<div class=\"bid_attachtab\"><table width=\"700\" border=\"0\" cellspacing=\"1\" bgcolor=\"#efefef\" style=\"text-align: left; width: 100%; margin: 0px auto;\"><tbody>";
                                            foreach (var fujianya in fujians)
                                            {
                                                var ssss = fujianya.Id;
                                                var sssss = fujianya.InnerHtml;
                                                fujianhtml += "<tr><td class=\"bid_attachtab_content\">附件下载:<a class=\"bizDownload\" target=\"_blank\" href =\"http://download.ccgp.gov.cn/oss/download?uuid=" + ssss + "\" id=\"0E1723104D34335C527765FF6CD28A\" title=\"点击下载\">"+ sssss + "</a><br></td></tr>";
                                            }
                                            fujianhtml += "</tbody></table></div>";
                                            content += fujianhtml;
                                        }
                                        string OpenTenderCode = null;
                                        decimal? Budget = null;
                                        DateTime? OpenTenderTime = null;
                                        var td = dtl.QuerySelectorAll("p");
                                        if (td != null && td.Length>0)
                                        {
                                            for (int i = 0; i < td.Length; i++)
                                            {
                                                if (td[i].TextContent.IndexOf("项目编号:") >= 0 && td[i].TextContent.IndexOf("、") < 0)
                                                {
                                                    if (string.IsNullOrEmpty(OpenTenderCode))
                                                    {
                                                        OpenTenderCode = td[i].TextContent.Replace("项目编号:", "").Replace("1.", "").Replace("/", "").Trim();
                                                    }
                                                }
                                                if (td[i].TextContent.IndexOf("预算金额:") >= 0)
                                                {
                                                    if(td[i].TextContent.IndexOf("万元") >= 0)
                                                    {
                                                        var yusuan = td[i].TextContent.Replace("预算金额:", "").Replace("3.", "").Replace("(", "").Replace(")", "").Replace("万元", "").Replace("人民币", "").Trim();
                                                        decimal a = 0;
                                                        if (decimal.TryParse(yusuan, out a))
                                                        {
                                                            Budget = a * 10000;
                                                        }
                                                    }
                                                    else
                                                    {
                                                        var yusuan = td[i].TextContent.Replace("预算金额:", "").Replace("3.", "").Replace("(", "").Replace(")", "").Replace("元", "").Replace("人民币", "").Trim();
                                                        decimal a = 0;
                                                        if (decimal.TryParse(yusuan, out a))
                                                        {
                                                            Budget = a;
                                                        }
                                                    }
                                                }
                                                if (td[i].TextContent.IndexOf("开标时间:") >= 0)
                                                {
                                                            DateTime a;
                                                            var sss = td[i].TextContent.Replace("开标时间:", "").Replace("北京时间)", "").Replace("年", "-").Replace("月", "-").Replace("日", " ").Replace("点", ":").Replace("时", ":").Replace("分(", "").Replace("分", ":").Replace("秒", "").Replace("(", "").Trim();
                                                    if (DateTime.TryParse(sss, out a))
                                                            {
                                                                OpenTenderTime = a;
                                                            }
                                                    }
                                                if (td[i].TextContent.IndexOf("1.时间:") >= 0)
                                                {
                                                    if (!OpenTenderTime.HasValue)
                                                    {
                                                        DateTime a;
                                                        var sss = td[i].TextContent.Replace("1.时间:", "").Replace("北京时间)", "").Replace("年", "-").Replace("月", "-").Replace("日", " ").Replace("点", ":").Replace("时", ":").Replace("分(", "").Replace("分", ":").Replace("秒", "").Replace("(", "").Trim();
                                                        if (DateTime.TryParse(sss, out a))
                                                        {
                                                            OpenTenderTime = a;
                                                        }
                                                    }
                                                }
                                                if (td[i].TextContent.StartsWith("时间:"))
                                                {
                                                    if (!OpenTenderTime.HasValue)
                                                    {
                                                        DateTime a;
                                                        var sss = td[i].TextContent.Replace("时间:", "").Replace("北京时间)", "").Replace("年", "-").Replace("月", "-").Replace("日", " ").Replace("点", ":").Replace("时", ":").Replace("分(", "").Replace("分", ":").Replace("秒", "").Replace("(", "").Trim();
                                                        if (DateTime.TryParse(sss, out a))
                                                        {
                                                            OpenTenderTime = a;
                                                        }
                                                    }
                                                }
                                            }
                                            }
                                        var zhengfuProject1 = _ccontext.ZhengfuProjects.Where(x => x.RecStatus == "A" && x.Title == aaaaaaaa.title && x.Gglx == "02" && x.OpenTenderCode == OpenTenderCode).FirstOrDefault();
                                        if (zhengfuProject1 != null)
                                            continue;
                                        zhengfuProject = new ZhengfuProject();
                                        zhengfuProject.Id = Guid.NewGuid().ToString();
                                        zhengfuProject.Gglx = "02";
                                        string gglxName = "采购公告";
                                        zhengfuProject.NoticeTime = DateTime.Parse(NoticeTime);
                                        zhengfuProject.OpenTenderTime = OpenTenderTime;
                                        zhengfuProject.RegionCode = null;
                                        //regionName = regionName;
                                        zhengfuProject.Sheng = "510000";
                                        string ShengName = "四川省";
                                        zhengfuProject.City = null ;
                                        //CityName = CityName;
                                        zhengfuProject.Cgfs = cgfs;
                                        zhengfuProject.OpenTenderCode = OpenTenderCode;
                                        zhengfuProject.Budget = Budget;
                                        zhengfuProject.Title = aaaaaaaa.title;
                                        zhengfuProject.Shorttitle = aaaaaaaa.shorttitle;
                                        zhengfuProject.Pageurl = aaaaaaaa.pageurl;
                                        zhengfuProject.Purchaser = Purchaser;
                                        zhengfuProject.Agency = Agency;
                                        zhengfuProject.AgencyCode = null;
                                        zhengfuProject.Content = content;
                                        zhengfuProject.RecStatus = "A";
                                        zhengfuProject.Creater = "1";
                                        zhengfuProject.Createtime = DateTime.Now;
                                        zhengfuProject.Modifier = "1";
                                        zhengfuProject.Modifytime = zhengfuProject.Createtime;
                                        _ccontext.ZhengfuProjects.Add(zhengfuProject);
                                        string url = $"{Program.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 = null;
                                        eswebcrawler1.regionCode = zhengfuProject.RegionCode;
                                        eswebcrawler1.regionName = null;
                                        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();
                                        Thread.CurrentThread.Join(1000 * 4);//阻止设定时间
                                    }
                                }
                            }
                            catch (Exception ex)
                            {
                                logg.WriteLog(ex.Message, "中国政采网四川省");
                                logg.WriteLog(ex.StackTrace, "中国政采网四川省");
                                logg.WriteLog(ex.ToString(), "中国政采网四川省");
                            }
                        }
                    }
                }
                page += 1;
            }
        }
        //意向公开
        public static void yixianggonggao(WebCrawlerContext _ccontext, string sichuanpageurll, string startTime,string endTime, int page)
        {
            sichuanpageurll = sichuanpageurll.Replace("start_time=", "start_time=" + startTime.Replace("-", "%3A"));
            sichuanpageurll = sichuanpageurll.Replace("end_time=", "end_time=" + endTime.Replace("-", "%3A"));
            var parser = new HtmlParser();
            var list11 = new List<AngleSharp.Dom.IElement>();
            while (true)
            {
                Thread.CurrentThread.Join(1000 * 4);//阻止设定时间
                logg.WriteLog(page.ToString(), "中国政采网四川省");
                string sichuanpageurl2 = sichuanpageurll.Replace("page_index=1", "page_index=" + page);
                using (HttpClient client = new HttpClient())
                {
                    //List<sichuanjieshoudtl> data = new List<sichuanjieshoudtl>();
                    HttpResponseMessage response = client.GetAsync(sichuanpageurl2).Result;
                    var res = response.Content.ReadAsStringAsync().Result;
                    var document = parser.ParseDocument(res);
                    var sssdfsdfsd = document.All.Where(m => m.ClassName == "vT-srch-result-list").FirstOrDefault();
                    var contentList = sssdfsdfsd.QuerySelector("ul");
                    if (contentList != null)
                    {
                        var lists = contentList.QuerySelectorAll("li");
                        if (lists == null || lists.Length == 0)
                        {
                            break;
                        }
                        if (page != 1)
                        {
                            var list22 = lists.ToList();
                            var breakable = true;
                            if (list11.Count == list22.Count)
                            {
                                foreach (var list11111 in list11)
                                {
                                    var listcount = list22.Count(x => x.InnerHtml == list11111.InnerHtml);
                                    if (listcount <= 0)
                                    {
                                        breakable = false;
                                        break;
                                    }
                                }
                                if (breakable)
                                {
                                    break;
                                }
                            }
                            list11 = list22;
                        }
                        else
                        {
                            list11 = lists.ToList();
                        }
                        foreach (var sichuanjieshoudtl1 in lists)
                        {
                            Thread.CurrentThread.Join(1000 * 4);//阻止设定时间
                            try
                            {
                                sichuanjieshoudtl aaaaaaaa = new sichuanjieshoudtl();
                                aaaaaaaa.pageurl = sichuanjieshoudtl1.QuerySelector("a").GetAttribute("href");
                                logg.WriteLog(aaaaaaaa.pageurl, "中国政采网四川省");
                                aaaaaaaa.title = sichuanjieshoudtl1.QuerySelector("a").TextContent.Replace("\n", "").Trim();
                                aaaaaaaa.shorttitle = aaaaaaaa.title;
                                string[] sssssss = sichuanjieshoudtl1.QuerySelector("span").TextContent.Replace("|", "").Split("\n");
                                string Purchaser = null;
                                string Agency = null;
                                var NoticeTime = sssssss[0].Trim();
                                foreach (var ssss in sssssss)
                                {
                                    if (ssss.IndexOf("采购人") >= 0)
                                    {
                                        Purchaser = ssss.Replace("采购人", "").Replace(":", "").Replace("/", "").Trim();
                                    }
                                    if (ssss.IndexOf("代理机构") >= 0)
                                    {
                                        Agency = ssss.Replace("代理机构", "").Replace(":", "").Replace("/", "").Trim();
                                    }
                                }
                                using (HttpClient clientdtl = new HttpClient())
                                {
                                    ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.Pageurl == aaaaaaaa.pageurl).FirstOrDefault();
                                    if (zhengfuProject == null)
                                    {
                                        HttpResponseMessage responsedtl = clientdtl.GetAsync(aaaaaaaa.pageurl).Result;
                                        var resdtl = responsedtl.Content.ReadAsStringAsync().Result;
                                        var documentdtl = parser.ParseDocument(resdtl);
                                        var dtl = documentdtl.All.Where(m => m.ClassName == "vF_detail_content_container").FirstOrDefault();
                                        var content = dtl.OuterHtml;
                                        var fujian = documentdtl.All.Where(m => m.ClassName == "main").FirstOrDefault();
                                        var fujians = documentdtl.All.Where(m => m.ClassName == "bizDownload").ToList();
                                        if (fujians != null && fujians.Count > 0)
                                        {
                                            var fujianhtml = "<div class=\"bid_attachtab\"><table width=\"700\" border=\"0\" cellspacing=\"1\" bgcolor=\"#efefef\" style=\"text-align: left; width: 100%; margin: 0px auto;\"><tbody>";
                                            foreach (var fujianya in fujians)
                                            {
                                                var ssss = fujianya.Id;
                                                var sssss = fujianya.InnerHtml;
                                                fujianhtml += "<tr><td class=\"bid_attachtab_content\">附件下载:<a class=\"bizDownload\" target=\"_blank\" href =\"http://download.ccgp.gov.cn/oss/download?uuid=" + ssss + "\" id=\"0E1723104D34335C527765FF6CD28A\" title=\"点击下载\">" + sssss + "</a><br></td></tr>";
                                            }
                                            fujianhtml += "</tbody></table></div>";
                                            content += fujianhtml;
                                        }
                                        string OpenTenderCode = null;
                                        decimal? Budget = null;
                                        DateTime? OpenTenderTime = null;
                                        var td = dtl.QuerySelectorAll("p");
                                        if (td != null && td.Length > 0)
                                        {
                                            for (int i = 0; i < td.Length; i++)
                                            {
                                                if (td[i].TextContent.IndexOf("项目编号:") >= 0)
                                                {
                                                    OpenTenderCode = td[i].TextContent.Replace("项目编号:", "").Replace("/","").Trim();
                                                }
                                                if (td[i].TextContent.IndexOf("预算金额:") >= 0)
                                                {
                                                    var yusuan = td[i].TextContent.Replace("预算金额:", "").Replace("(", "").Replace(")", "").Replace("万元", "").Replace("人民币", "").Trim();
                                                    decimal a = 0;
                                                    if (decimal.TryParse(yusuan, out a))
                                                    {
                                                        Budget = a * 10000;
                                                    }
                                                }
                                                if (td[i].TextContent.IndexOf("开标时间:") >= 0)
                                                {
                                                    DateTime a;
                                                    var sss = td[i].TextContent.Replace("开标时间:", "").Replace("(北京时间)", "").Replace("年", "-").Replace("月", "-").Replace("日", " ").Replace("点", ":").Replace("分", "").Trim();
                                                    if (DateTime.TryParse(sss, out a))
                                                    {
                                                        OpenTenderTime = a;
                                                    }
                                                }
                                            }
                                        }
                                        var zhengfuProject1 = _ccontext.ZhengfuProjects.Where(x => x.RecStatus == "A" && x.Title == aaaaaaaa.title && x.Gglx == "01" && x.OpenTenderCode == OpenTenderCode).FirstOrDefault();
                                        if (zhengfuProject1 != null)
                                            continue;
                                        zhengfuProject = new ZhengfuProject();
                                        zhengfuProject.Id = Guid.NewGuid().ToString();
                                        zhengfuProject.Gglx = "01";
                                        string gglxName = "意向公开";
                                        zhengfuProject.NoticeTime = DateTime.Parse(NoticeTime);
                                        zhengfuProject.OpenTenderTime = OpenTenderTime;
                                        zhengfuProject.RegionCode = null;
                                        //regionName = regionName;
                                        zhengfuProject.Sheng = "510000";
                                        string ShengName = "四川省";
                                        zhengfuProject.City = null;
                                        //CityName = CityName;
                                        zhengfuProject.Cgfs = null;
                                        zhengfuProject.OpenTenderCode = OpenTenderCode;
                                        zhengfuProject.Budget = Budget;
                                        zhengfuProject.Title = aaaaaaaa.title;
                                        zhengfuProject.Shorttitle = aaaaaaaa.shorttitle;
                                        zhengfuProject.Pageurl = aaaaaaaa.pageurl;
                                        zhengfuProject.Purchaser = Purchaser;
                                        zhengfuProject.Agency = Agency;
                                        zhengfuProject.AgencyCode = null;
                                        zhengfuProject.Content = content;
                                        zhengfuProject.RecStatus = "A";
                                        zhengfuProject.Creater = "1";
                                        zhengfuProject.Createtime = DateTime.Now;
                                        zhengfuProject.Modifier = "1";
                                        zhengfuProject.Modifytime = zhengfuProject.Createtime;
                                        _ccontext.ZhengfuProjects.Add(zhengfuProject);
                                        string url = $"{Program.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 = null;
                                        eswebcrawler1.regionCode = zhengfuProject.RegionCode;
                                        eswebcrawler1.regionName = null;
                                        eswebcrawler1.cgfs = zhengfuProject.Cgfs;
                                        eswebcrawler1.cgfsName = null;
                                        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();
                                        Thread.CurrentThread.Join(1000 * 4);//阻止设定时间
                                    }
                                }
                            }
                            catch (Exception ex)
                            {
                                logg.WriteLog(ex.Message, "中国政采网四川省");
                                logg.WriteLog(ex.StackTrace, "中国政采网四川省");
                                logg.WriteLog(ex.ToString(), "中国政采网四川省");
                            }
                        }
                    }
                }
                page += 1;
            }
        }
        //结果公告
        public static void zhongbiaogonggao(WebCrawlerContext _ccontext, string sichuanpageurll, string startTime, string endTime , int page)
        {
            sichuanpageurll = sichuanpageurll.Replace("start_time=", "start_time=" + startTime.Replace("-", "%3A"));
            sichuanpageurll = sichuanpageurll.Replace("end_time=", "end_time=" + endTime.Replace("-", "%3A"));
            var parser = new HtmlParser();
            var list11 = new List<AngleSharp.Dom.IElement>();
            while (true)
            {
                Thread.CurrentThread.Join(1000 * 4);//阻止设定时间
                logg.WriteLog(page.ToString(), "中国政采网四川省");
                string sichuanpageurl2 = sichuanpageurll.Replace("page_index=1", "page_index=" + page);
                using (HttpClient client = new HttpClient())
                {
                    //List<sichuanjieshoudtl> data = new List<sichuanjieshoudtl>();
                    HttpResponseMessage response = client.GetAsync(sichuanpageurl2).Result;
                    var res = response.Content.ReadAsStringAsync().Result;
                    var document = parser.ParseDocument(res);
                    var sssdfsdfsd = document.All.Where(m => m.ClassName == "vT-srch-result-list").FirstOrDefault();
                    var contentList = sssdfsdfsd.QuerySelector("ul");
                    if (contentList != null)
                    {
                        var lists = contentList.QuerySelectorAll("li");
                        if (lists == null || lists.Length == 0)
                        {
                            break;
                        }
                        if (page != 1)
                        {
                            var list22 = lists.ToList();
                            var breakable = true;
                            if (list11.Count == list22.Count)
                            {
                                foreach (var list11111 in list11)
                                {
                                    var listcount = list22.Count(x => x.InnerHtml == list11111.InnerHtml);
                                    if (listcount <= 0)
                                    {
                                        breakable = false;
                                        break;
                                    }
                                }
                                if (breakable)
                                {
                                    break;
                                }
                            }
                            list11 = list22;
                        }
                        else
                        {
                            list11 = lists.ToList();
                        }
                        foreach (var sichuanjieshoudtl1 in lists)
                        {
                            Thread.CurrentThread.Join(1000 * 4);//阻止设定时间
                            try
                            {
                                sichuanjieshoudtl aaaaaaaa = new sichuanjieshoudtl();
                                aaaaaaaa.pageurl = sichuanjieshoudtl1.QuerySelector("a").GetAttribute("href");
                                logg.WriteLog(aaaaaaaa.pageurl, "中国政采网四川省");
                                aaaaaaaa.title = sichuanjieshoudtl1.QuerySelector("a").TextContent.Replace("\n", "").Trim();
                                aaaaaaaa.shorttitle = aaaaaaaa.title;
                                string[] sssssss = sichuanjieshoudtl1.QuerySelector("span").TextContent.Replace("|", "").Split("\n");
                                string Purchaser = null;
                                string Agency = null;
                                var NoticeTime = sssssss[0].Trim();
                                foreach (var ssss in sssssss)
                                {
                                    if (ssss.IndexOf("采购人") >= 0)
                                    {
                                        Purchaser = ssss.Replace("采购人", "").Replace(":", "").Replace("/", "").Trim();
                                    }
                                    if (ssss.IndexOf("代理机构") >= 0)
                                    {
                                        Agency = ssss.Replace("代理机构", "").Replace(":", "").Replace("/", "").Trim();
                                    }
                                }
                                using (HttpClient clientdtl = new HttpClient())
                                {
                                    ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.Pageurl == aaaaaaaa.pageurl).FirstOrDefault();
                                    if (zhengfuProject == null)
                                    {
                                        HttpResponseMessage responsedtl = clientdtl.GetAsync(aaaaaaaa.pageurl).Result;
                                        var resdtl = responsedtl.Content.ReadAsStringAsync().Result;
                                        var documentdtl = parser.ParseDocument(resdtl);
                                        var dtl = documentdtl.All.Where(m => m.ClassName == "vF_detail_content_container").FirstOrDefault();
                                        var content = dtl.OuterHtml;
                                        var fujian = documentdtl.All.Where(m => m.ClassName == "main").FirstOrDefault();
                                        var fujians = documentdtl.All.Where(m => m.ClassName == "bizDownload").ToList();
                                        if (fujians != null && fujians.Count > 0)
                                        {
                                            var fujianhtml = "<div class=\"bid_attachtab\"><table width=\"700\" border=\"0\" cellspacing=\"1\" bgcolor=\"#efefef\" style=\"text-align: left; width: 100%; margin: 0px auto;\"><tbody>";
                                            foreach (var fujianya in fujians)
                                            {
                                                var ssss = fujianya.Id;
                                                var sssss = fujianya.InnerHtml;
                                                fujianhtml += "<tr><td class=\"bid_attachtab_content\">附件下载:<a class=\"bizDownload\" target=\"_blank\" href =\"http://download.ccgp.gov.cn/oss/download?uuid=" + ssss + "\" id=\"0E1723104D34335C527765FF6CD28A\" title=\"点击下载\">" + sssss + "</a><br></td></tr>";
                                            }
                                            fujianhtml += "</tbody></table></div>";
                                            content += fujianhtml;
                                        }
                                        string OpenTenderCode = null;
                                        decimal? Budget = null;
                                        DateTime? OpenTenderTime = null;
                                        var td = dtl.QuerySelectorAll("p");
                                        if (td != null && td.Length > 0)
                                        {
                                            for (int i = 0; i < td.Length; i++)
                                            {
                                                if (td[i].TextContent.IndexOf("项目编号:") >= 0)
                                                {
                                                    OpenTenderCode = td[i].TextContent.Replace("项目编号:", "").Replace("一、", "").Trim();
                                                    if (OpenTenderCode.IndexOf("(招标文件编号")>=0)
                                                    {
                                                        OpenTenderCode.Substring(0, OpenTenderCode.IndexOf("(招标文件编号")+1).Replace("(", "");
                                                    }
                                                }
                                                if (td[i].TextContent.IndexOf("预算金额:") >= 0)
                                                {
                                                    var yusuan = td[i].TextContent.Replace("预算金额:", "").Replace("(", "").Replace(")", "").Replace("万元", "").Replace("人民币", "").Trim();
                                                    decimal a = 0;
                                                    if (decimal.TryParse(yusuan, out a))
                                                    {
                                                        Budget = a * 10000;
                                                    }
                                                }
                                                if (td[i].TextContent.IndexOf("开标时间:") >= 0)
                                                {
                                                    DateTime a;
                                                    var sss = td[i].TextContent.Replace("开标时间:", "").Replace("(北京时间)", "").Replace("年", "-").Replace("月", "-").Replace("日", " ").Replace("点", ":").Replace("分", "").Trim();
                                                    if (DateTime.TryParse(sss, out a))
                                                    {
                                                        OpenTenderTime = a;
                                                    }
                                                }
                                            }
                                        }
                                         td = dtl.QuerySelectorAll("h4");
                                        if (td != null && td.Length > 0)
                                        {
                                            for (int i = 0; i < td.Length; i++)
                                            {
                                                if (td[i].TextContent.IndexOf("项目编号:") >= 0)
                                                {
                                                    OpenTenderCode = td[i].TextContent.Replace("项目编号:", "").Replace("一、", "").Trim();
                                                    if (OpenTenderCode.IndexOf("(招标文件编号") >= 0)
                                                    {
                                                        OpenTenderCode.Substring(0, OpenTenderCode.IndexOf("(招标文件编号") + 1).Replace("(", "");
                                                    }
                                                }
                                                if (td[i].TextContent.IndexOf("预算金额:") >= 0)
                                                {
                                                    var yusuan = td[i].TextContent.Replace("预算金额:", "").Replace("(", "").Replace(")", "").Replace("万元", "").Replace("人民币", "").Trim();
                                                    decimal a = 0;
                                                    if (decimal.TryParse(yusuan, out a))
                                                    {
                                                        Budget = a * 10000;
                                                    }
                                                }
                                                if (td[i].TextContent.IndexOf("开标时间:") >= 0)
                                                {
                                                    DateTime a;
                                                    var sss = td[i].TextContent.Replace("开标时间:", "").Replace("(北京时间)", "").Replace("年", "-").Replace("月", "-").Replace("日", " ").Replace("点", ":").Replace("分", "").Trim();
                                                    if (DateTime.TryParse(sss, out a))
                                                    {
                                                        OpenTenderTime = a;
                                                    }
                                                }
                                            }
                                        }
                                        var zhengfuProject1 = _ccontext.ZhengfuProjects.Where(x => x.RecStatus == "A" && x.Title == aaaaaaaa.title && x.Gglx == "03" && x.OpenTenderCode == OpenTenderCode).FirstOrDefault();
                                        if (zhengfuProject1 != null)
                                            continue;
                                        zhengfuProject = new ZhengfuProject();
                                        zhengfuProject.Id = Guid.NewGuid().ToString();
                                        zhengfuProject.Gglx = "03";
                                        string gglxName = "结果公告";
                                        zhengfuProject.NoticeTime = DateTime.Parse(NoticeTime);
                                        zhengfuProject.OpenTenderTime = OpenTenderTime;
                                        zhengfuProject.RegionCode = null;
                                        //regionName = regionName;
                                        zhengfuProject.Sheng = "510000";
                                        string ShengName = "四川省";
                                        zhengfuProject.City = null;
                                        //CityName = CityName;
                                        zhengfuProject.Cgfs = null;
                                        zhengfuProject.OpenTenderCode = OpenTenderCode;
                                        zhengfuProject.Budget = Budget;
                                        zhengfuProject.Title = aaaaaaaa.title;
                                        zhengfuProject.Shorttitle = aaaaaaaa.shorttitle;
                                        zhengfuProject.Pageurl = aaaaaaaa.pageurl;
                                        zhengfuProject.Purchaser = Purchaser;
                                        zhengfuProject.Agency = Agency;
                                        zhengfuProject.AgencyCode = null;
                                        zhengfuProject.Content = content;
                                        zhengfuProject.RecStatus = "A";
                                        zhengfuProject.Creater = "1";
                                        zhengfuProject.Createtime = DateTime.Now;
                                        zhengfuProject.Modifier = "1";
                                        zhengfuProject.Modifytime = zhengfuProject.Createtime;
                                        _ccontext.ZhengfuProjects.Add(zhengfuProject);
                                        string url = $"{Program.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 = null;
                                        eswebcrawler1.regionCode = zhengfuProject.RegionCode;
                                        eswebcrawler1.regionName = null;
                                        eswebcrawler1.cgfs = zhengfuProject.Cgfs;
                                        eswebcrawler1.cgfsName = null;
                                        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();
                                        Thread.CurrentThread.Join(1000 * 4);//阻止设定时间
                                    }
                                }
                            }
                            catch (Exception ex)
                            {
                                logg.WriteLog(ex.Message, "中国政采网四川省");
                                logg.WriteLog(ex.StackTrace, "中国政采网四川省");
                                logg.WriteLog(ex.ToString(), "中国政采网四川省");
                            }
                        }
                    }
                }
                page += 1;
            }
        }
        //更正公告
        public static void gengzhenggonggao(WebCrawlerContext _ccontext, string sichuanpageurll, string startTime, string endTime , int page)
        {
            sichuanpageurll = sichuanpageurll.Replace("start_time=", "start_time=" + startTime.Replace("-", "%3A"));
            sichuanpageurll = sichuanpageurll.Replace("end_time=", "end_time=" + endTime.Replace("-", "%3A"));
            var parser = new HtmlParser();
            var list11 = new List<AngleSharp.Dom.IElement>();
            while (true)
            {
                Thread.CurrentThread.Join(1000 * 4);//阻止设定时间
                logg.WriteLog(page.ToString(), "中国政采网四川省");
                string sichuanpageurl2 = sichuanpageurll.Replace("page_index=1", "page_index=" + page);
                using (HttpClient client = new HttpClient())
                {
                    //List<sichuanjieshoudtl> data = new List<sichuanjieshoudtl>();
                    HttpResponseMessage response = client.GetAsync(sichuanpageurl2).Result;
                    var res = response.Content.ReadAsStringAsync().Result;
                    var document = parser.ParseDocument(res);
                    var sssdfsdfsd = document.All.Where(m => m.ClassName == "vT-srch-result-list").FirstOrDefault();
                    var contentList = sssdfsdfsd.QuerySelector("ul");
                    if (contentList != null)
                    {
                        var lists = contentList.QuerySelectorAll("li");
                        if (lists == null || lists.Length == 0)
                        {
                            break;
                        }
                        if (page != 1)
                        {
                            var list22 = lists.ToList();
                            var breakable = true;
                            if (list11.Count == list22.Count)
                            {
                                foreach (var list11111 in list11)
                                {
                                    var listcount = list22.Count(x => x.InnerHtml == list11111.InnerHtml);
                                    if (listcount <= 0)
                                    {
                                        breakable = false;
                                        break;
                                    }
                                }
                                if (breakable)
                                {
                                    break;
                                }
                            }
                            list11 = list22;
                        }
                        else
                        {
                            list11 = lists.ToList();
                        }
                        foreach (var sichuanjieshoudtl1 in lists)
                        {
                            Thread.CurrentThread.Join(1000 * 4);//阻止设定时间
                            try
                            {
                                sichuanjieshoudtl aaaaaaaa = new sichuanjieshoudtl();
                                aaaaaaaa.pageurl = sichuanjieshoudtl1.QuerySelector("a").GetAttribute("href");
                                logg.WriteLog(aaaaaaaa.pageurl, "中国政采网四川省");
                                aaaaaaaa.title = sichuanjieshoudtl1.QuerySelector("a").TextContent.Replace("\n", "").Trim();
                                aaaaaaaa.shorttitle = aaaaaaaa.title;
                                string[] sssssss = sichuanjieshoudtl1.QuerySelector("span").TextContent.Replace("|", "").Split("\n");
                                string Purchaser = null;
                                string Agency = null;
                                var NoticeTime = sssssss[0].Trim();
                                foreach (var ssss in sssssss)
                                {
                                    if (ssss.IndexOf("采购人") >= 0)
                                    {
                                        Purchaser = ssss.Replace("采购人", "").Replace(":", "").Replace("/", "").Trim();
                                    }
                                    if (ssss.IndexOf("代理机构") >= 0)
                                    {
                                        Agency = ssss.Replace("代理机构", "").Replace(":", "").Replace("/", "").Trim();
                                    }
                                }
                                using (HttpClient clientdtl = new HttpClient())
                                {
                                    ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.Pageurl == aaaaaaaa.pageurl).FirstOrDefault();
                                    if (zhengfuProject == null)
                                    {
                                        HttpResponseMessage responsedtl = clientdtl.GetAsync(aaaaaaaa.pageurl).Result;
                                        var resdtl = responsedtl.Content.ReadAsStringAsync().Result;
                                        var documentdtl = parser.ParseDocument(resdtl);
                                        var dtl = documentdtl.All.Where(m => m.ClassName == "vF_detail_content_container").FirstOrDefault();
                                        var content = dtl.OuterHtml;
                                        var fujian = documentdtl.All.Where(m => m.ClassName == "main").FirstOrDefault();
                                        var fujians = documentdtl.All.Where(m => m.ClassName == "bizDownload").ToList();
                                        if (fujians != null && fujians.Count > 0)
                                        {
                                            var fujianhtml = "<div class=\"bid_attachtab\"><table width=\"700\" border=\"0\" cellspacing=\"1\" bgcolor=\"#efefef\" style=\"text-align: left; width: 100%; margin: 0px auto;\"><tbody>";
                                            foreach (var fujianya in fujians)
                                            {
                                                var ssss = fujianya.Id;
                                                var sssss = fujianya.InnerHtml;
                                                fujianhtml += "<tr><td class=\"bid_attachtab_content\">附件下载:<a class=\"bizDownload\" target=\"_blank\" href =\"http://download.ccgp.gov.cn/oss/download?uuid=" + ssss + "\" id=\"0E1723104D34335C527765FF6CD28A\" title=\"点击下载\">" + sssss + "</a><br></td></tr>";
                                            }
                                            fujianhtml += "</tbody></table></div>";
                                            content += fujianhtml;
                                        }
                                        string OpenTenderCode = null;
                                        decimal? Budget = null;
                                        DateTime? OpenTenderTime = null;
                                        var td = dtl.QuerySelectorAll("p");
                                        if (td != null && td.Length > 0)
                                        {
                                            for (int i = 0; i < td.Length; i++)
                                            {
                                                if (td[i].TextContent.IndexOf("原公告的采购项目编号:") >= 0)
                                                {
                                                    OpenTenderCode = td[i].TextContent.Replace("原公告的采购项目编号:", "").Trim();
                                                }
                                                if (td[i].TextContent.IndexOf("预算金额:") >= 0)
                                                {
                                                    var yusuan = td[i].TextContent.Replace("预算金额:", "").Replace("(", "").Replace(")", "").Replace("万元", "").Replace("人民币", "").Trim();
                                                    decimal a = 0;
                                                    if (decimal.TryParse(yusuan, out a))
                                                    {
                                                        Budget = a * 10000;
                                                    }
                                                }
                                                if (td[i].TextContent.IndexOf("开标时间:") >= 0)
                                                {
                                                    DateTime a;
                                                    var sss = td[i].TextContent.Replace("开标时间:", "").Replace("(北京时间)", "").Replace("年", "-").Replace("月", "-").Replace("日", " ").Replace("点", ":").Replace("分", "").Trim();
                                                    if (DateTime.TryParse(sss, out a))
                                                    {
                                                        OpenTenderTime = a;
                                                    }
                                                }
                                            }
                                        }
                                        var zhengfuProject1 = _ccontext.ZhengfuProjects.Where(x => x.RecStatus == "A" && x.Title == aaaaaaaa.title && x.Gglx == "04" && x.OpenTenderCode == OpenTenderCode).FirstOrDefault();
                                        if (zhengfuProject1 != null)
                                            continue;
                                        zhengfuProject = new ZhengfuProject();
                                        zhengfuProject.Id = Guid.NewGuid().ToString();
                                        zhengfuProject.Gglx = "04";
                                        string gglxName = "更正公告";
                                        zhengfuProject.NoticeTime = DateTime.Parse(NoticeTime);
                                        zhengfuProject.OpenTenderTime = OpenTenderTime;
                                        zhengfuProject.RegionCode = null;
                                        //regionName = regionName;
                                        zhengfuProject.Sheng = "510000";
                                        string ShengName = "四川省";
                                        zhengfuProject.City = null;
                                        //CityName = CityName;
                                        zhengfuProject.Cgfs = null;
                                        zhengfuProject.OpenTenderCode = OpenTenderCode;
                                        zhengfuProject.Budget = Budget;
                                        zhengfuProject.Title = aaaaaaaa.title;
                                        zhengfuProject.Shorttitle = aaaaaaaa.shorttitle;
                                        zhengfuProject.Pageurl = aaaaaaaa.pageurl;
                                        zhengfuProject.Purchaser = Purchaser;
                                        zhengfuProject.Agency = Agency;
                                        zhengfuProject.AgencyCode = null;
                                        zhengfuProject.Content = content;
                                        zhengfuProject.RecStatus = "A";
                                        zhengfuProject.Creater = "1";
                                        zhengfuProject.Createtime = DateTime.Now;
                                        zhengfuProject.Modifier = "1";
                                        zhengfuProject.Modifytime = zhengfuProject.Createtime;
                                        _ccontext.ZhengfuProjects.Add(zhengfuProject);
                                        string url = $"{Program.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 = null;
                                        eswebcrawler1.regionCode = zhengfuProject.RegionCode;
                                        eswebcrawler1.regionName = null;
                                        eswebcrawler1.cgfs = zhengfuProject.Cgfs;
                                        eswebcrawler1.cgfsName = null;
                                        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();
                                        Thread.CurrentThread.Join(1000 * 4);//阻止设定时间
                                    }
                                }
                            }
                            catch (Exception ex)
                            {
                                logg.WriteLog(ex.Message, "中国政采网四川省");
                                logg.WriteLog(ex.StackTrace, "中国政采网四川省");
                                logg.WriteLog(ex.ToString(), "中国政采网四川省");
                            }
                        }
                    }
                }
                page += 1;
            }
        }
        //废标公告
        public static void feibiaogonggao(WebCrawlerContext _ccontext, string sichuanpageurll, string startTime, string endTime , int page)
        {
            sichuanpageurll = sichuanpageurll.Replace("start_time=", "start_time=" + startTime.Replace("-", "%3A"));
            sichuanpageurll = sichuanpageurll.Replace("end_time=", "end_time=" + endTime.Replace("-", "%3A"));
            var parser = new HtmlParser();
            var list11 = new List<AngleSharp.Dom.IElement>();
            while (true)
            {
                Thread.CurrentThread.Join(1000 * 4);//阻止设定时间
                logg.WriteLog(page.ToString(), "中国政采网四川省");
                string sichuanpageurl2 = sichuanpageurll.Replace("page_index=1", "page_index=" + page);
                using (HttpClient client = new HttpClient())
                {
                    //List<sichuanjieshoudtl> data = new List<sichuanjieshoudtl>();
                    HttpResponseMessage response = client.GetAsync(sichuanpageurl2).Result;
                    var res = response.Content.ReadAsStringAsync().Result;
                    var document = parser.ParseDocument(res);
                    var sssdfsdfsd = document.All.Where(m => m.ClassName == "vT-srch-result-list").FirstOrDefault();
                    var contentList = sssdfsdfsd.QuerySelector("ul");
                    if (contentList != null)
                    {
                        var lists = contentList.QuerySelectorAll("li");
                        if (lists == null || lists.Length == 0)
                        {
                            break;
                        }
                        if (page != 1)
                        {
                            var list22 = lists.ToList();
                            var breakable = true;
                            if (list11.Count == list22.Count)
                            {
                                foreach (var list11111 in list11)
                                {
                                    var listcount = list22.Count(x => x.InnerHtml == list11111.InnerHtml);
                                    if (listcount <= 0)
                                    {
                                        breakable = false;
                                        break;
                                    }
                                }
                                if (breakable)
                                {
                                    break;
                                }
                            }
                            list11 = list22;
                        }
                        else
                        {
                            list11 = lists.ToList();
                        }
                        foreach (var sichuanjieshoudtl1 in lists)
                        {
                            Thread.CurrentThread.Join(1000 * 4);//阻止设定时间
                            try
                            {
                                sichuanjieshoudtl aaaaaaaa = new sichuanjieshoudtl();
                                aaaaaaaa.pageurl = sichuanjieshoudtl1.QuerySelector("a").GetAttribute("href");
                                logg.WriteLog(aaaaaaaa.pageurl, "中国政采网四川省");
                                aaaaaaaa.title = sichuanjieshoudtl1.QuerySelector("a").TextContent.Replace("\n", "").Trim();
                                aaaaaaaa.shorttitle = aaaaaaaa.title;
                                string[] sssssss = sichuanjieshoudtl1.QuerySelector("span").TextContent.Replace("|", "").Split("\n");
                                string Purchaser = null;
                                string Agency = null;
                                var NoticeTime = sssssss[0].Trim();
                                foreach (var ssss in sssssss)
                                {
                                    if (ssss.IndexOf("采购人") >= 0)
                                    {
                                        Purchaser = ssss.Replace("采购人", "").Replace(":", "").Replace("/", "").Trim();
                                    }
                                    if (ssss.IndexOf("代理机构") >= 0)
                                    {
                                        Agency = ssss.Replace("代理机构", "").Replace(":", "").Replace("/", "").Trim();
                                    }
                                }
                                using (HttpClient clientdtl = new HttpClient())
                                {
                                    ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.Pageurl == aaaaaaaa.pageurl).FirstOrDefault();
                                    if (zhengfuProject == null)
                                    {
                                        HttpResponseMessage responsedtl = clientdtl.GetAsync(aaaaaaaa.pageurl).Result;
                                        var resdtl = responsedtl.Content.ReadAsStringAsync().Result;
                                        var documentdtl = parser.ParseDocument(resdtl);
                                        var dtl = documentdtl.All.Where(m => m.ClassName == "vF_detail_content_container").FirstOrDefault();
                                        var content = dtl.OuterHtml;
                                        var fujian = documentdtl.All.Where(m => m.ClassName == "main").FirstOrDefault();
                                        var fujians = documentdtl.All.Where(m => m.ClassName == "bizDownload").ToList();
                                        if (fujians != null && fujians.Count > 0)
                                        {
                                            var fujianhtml = "<div class=\"bid_attachtab\"><table width=\"700\" border=\"0\" cellspacing=\"1\" bgcolor=\"#efefef\" style=\"text-align: left; width: 100%; margin: 0px auto;\"><tbody>";
                                            foreach (var fujianya in fujians)
                                            {
                                                var ssss = fujianya.Id;
                                                var sssss = fujianya.InnerHtml;
                                                fujianhtml += "<tr><td class=\"bid_attachtab_content\">附件下载:<a class=\"bizDownload\" target=\"_blank\" href =\"http://download.ccgp.gov.cn/oss/download?uuid=" + ssss + "\" id=\"0E1723104D34335C527765FF6CD28A\" title=\"点击下载\">" + sssss + "</a><br></td></tr>";
                                            }
                                            fujianhtml += "</tbody></table></div>";
                                            content += fujianhtml;
                                        }
                                        string OpenTenderCode = null;
                                        decimal? Budget = null;
                                        DateTime? OpenTenderTime = null;
                                        var td = dtl.QuerySelectorAll("p");
                                        if (td != null && td.Length > 0)
                                        {
                                            for (int i = 0; i < td.Length; i++)
                                            {
                                                if (td[i].TextContent.IndexOf("采购项目编号:") >= 0)
                                                {
                                                    OpenTenderCode = td[i].TextContent.Replace("采购项目编号:", "").Trim();
                                                }
                                                if (td[i].TextContent.IndexOf("预算金额:") >= 0)
                                                {
                                                    var yusuan = td[i].TextContent.Replace("预算金额:", "").Replace("(", "").Replace(")", "").Replace("万元", "").Replace("人民币", "").Trim();
                                                    decimal a = 0;
                                                    if (decimal.TryParse(yusuan, out a))
                                                    {
                                                        Budget = a * 10000;
                                                    }
                                                }
                                                if (td[i].TextContent.IndexOf("开标时间:") >= 0)
                                                {
                                                    DateTime a;
                                                    var sss = td[i].TextContent.Replace("开标时间:", "").Replace("(北京时间)", "").Replace("年", "-").Replace("月", "-").Replace("日", " ").Replace("点", ":").Replace("分", "").Trim();
                                                    if (DateTime.TryParse(sss, out a))
                                                    {
                                                        OpenTenderTime = a;
                                                    }
                                                }
                                            }
                                        }
                                        var zhengfuProject1 = _ccontext.ZhengfuProjects.Where(x => x.RecStatus == "A" && x.Title == aaaaaaaa.title && x.Gglx == "11" && x.OpenTenderCode == OpenTenderCode).FirstOrDefault();
                                        if (zhengfuProject1 != null)
                                            continue;
                                        zhengfuProject = new ZhengfuProject();
                                        zhengfuProject.Id = Guid.NewGuid().ToString();
                                        zhengfuProject.Gglx = "11";
                                        string gglxName = "废标公告";
                                        zhengfuProject.NoticeTime = DateTime.Parse(NoticeTime);
                                        zhengfuProject.OpenTenderTime = OpenTenderTime;
                                        zhengfuProject.RegionCode = null;
                                        //regionName = regionName;
                                        zhengfuProject.Sheng = "510000";
                                        string ShengName = "四川省";
                                        zhengfuProject.City = null;
                                        //CityName = CityName;
                                        zhengfuProject.Cgfs = null;
                                        zhengfuProject.OpenTenderCode = OpenTenderCode;
                                        zhengfuProject.Budget = Budget;
                                        zhengfuProject.Title = aaaaaaaa.title;
                                        zhengfuProject.Shorttitle = aaaaaaaa.shorttitle;
                                        zhengfuProject.Pageurl = aaaaaaaa.pageurl;
                                        zhengfuProject.Purchaser = Purchaser;
                                        zhengfuProject.Agency = Agency;
                                        zhengfuProject.AgencyCode = null;
                                        zhengfuProject.Content = content;
                                        zhengfuProject.RecStatus = "A";
                                        zhengfuProject.Creater = "1";
                                        zhengfuProject.Createtime = DateTime.Now;
                                        zhengfuProject.Modifier = "1";
                                        zhengfuProject.Modifytime = zhengfuProject.Createtime;
                                        _ccontext.ZhengfuProjects.Add(zhengfuProject);
                                        string url = $"{Program.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 = null;
                                        eswebcrawler1.regionCode = zhengfuProject.RegionCode;
                                        eswebcrawler1.regionName = null;
                                        eswebcrawler1.cgfs = zhengfuProject.Cgfs;
                                        eswebcrawler1.cgfsName = null;
                                        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();
                                        Thread.CurrentThread.Join(1000 * 4);//阻止设定时间
                                    }
                                }
                            }
                            catch (Exception ex)
                            {
                                logg.WriteLog(ex.Message, "中国政采网四川省");
                                logg.WriteLog(ex.StackTrace, "中国政采网四川省");
                                logg.WriteLog(ex.ToString(), "中国政采网四川省");
                            }
                        }
                    }
                }
                page += 1;
            }
        }
    }
}
zhengcaioa/DTO/AdmPhoneMessageDTO.cs
New file
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace DTO
{
    public class AdmPhoneMessageDTO
    {
        public string Id { get; set; }
        public string Phone { get; set; }
        public string Message { get; set; }
        public DateTime Createtime { get; set; }
    }
}
zhengcaioa/DTO/DailyManagementDTO .cs
@@ -26,6 +26,7 @@
        public DateTime Createtime { get; set; }
        public string Modifier { get; set; }
        public DateTime Modifytime { get; set; }
        public string Message { get; set; }
    }
    public partial class AdmHoldPhoneDTOSearch:SearchEntity
zhengcaioa/IServices/IDailyManagementService.cs
@@ -24,5 +24,10 @@
        List<AdmMemoBookDTO> GetRemindsalary(string userid, DateTime datemin, DateTime datemax,string KaoHe);
        ResultEntity SavePhoneMessage(AdmPhoneMessageDTO admPhoneMessageDTO);
        AdmPhoneMessageDTO GetPhoneMessageZuijin(string phone);
    }
}
zhengcaioa/Model/AdmPhoneMessage.cs
New file
@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
#nullable disable
namespace zhengcaioa.Models
{
    public partial class AdmPhoneMessage
    {
        public string Id { get; set; }
        public string Phone { get; set; }
        public string Message { get; set; }
        public DateTime Createtime { get; set; }
    }
}
zhengcaioa/Model/zhengcaioaContext.cs
@@ -49,6 +49,7 @@
        public virtual DbSet<AdmDocBase> AdmDocBases { get; set; }
        public virtual DbSet<AdmDocDoc> AdmDocDocs { get; set; }
        public virtual DbSet<AdmEvaluate> AdmEvaluates { get; set; }
        public virtual DbSet<AdmPhoneMessage> AdmPhoneMessages { get; set; }
        public virtual DbSet<AdmGoodsClassify> AdmGoodsClassifies { get; set; }
        public virtual DbSet<AdmGoodsManage> AdmGoodsManages { get; set; }
        public virtual DbSet<AdmPieceCheck> AdmPieceChecks { get; set; }
@@ -1778,6 +1779,22 @@
                    .HasComment("人员id");
            });
            modelBuilder.Entity<AdmPhoneMessage>(entity =>
            {
                entity.ToTable("ADM_PhoneMessage");
                entity.Property(e => e.Id).HasMaxLength(50);
                entity.Property(e => e.Createtime)
                    .HasColumnType("datetime")
                    .HasColumnName("createtime")
                    .HasDefaultValueSql("(getdate())");
                entity.Property(e => e.Phone).HasMaxLength(50);
                entity.Property(e => e.Message).HasColumnName("message").HasMaxLength(100);
            });
            modelBuilder.Entity<AdmGoodsClassify>(entity =>
            {
                entity.ToTable("adm_goods_classify");
zhengcaioa/Services/DailyManagementService.cs
@@ -502,5 +502,64 @@
        }
        #endregion
        /// <summary>
        /// 保存验证码
        /// </summary>
        /// <param name="holdPhone"></param>
        /// <returns></returns>
        public ResultEntity SavePhoneMessage(AdmPhoneMessageDTO admPhoneMessageDTO)
        {
            ResultEntity resultEntity = new ResultEntity();
            try
            {
                AdmPhoneMessage hold = _mapper.Map<AdmPhoneMessage>(admPhoneMessageDTO);
                if (string.IsNullOrEmpty(hold.Id))
                {
                    hold.Id = Guid.NewGuid().ToString();
                    admPhoneMessageDTO.Id = hold.Id;
                    _context.AdmPhoneMessages.Add(hold);
                }
                else
                {
                    var entity = _context.AdmPhoneMessages.Find(hold.Id);
                    entity.Phone = hold.Phone;
                    entity.Message = hold.Message;
                    entity.Createtime = hold.Createtime;
                }
                _context.SaveChanges();
                resultEntity.ReturnID = hold.Id;
                resultEntity.Result = true;
            }
            catch (Exception ex)
            {
                resultEntity.Result = false;
                resultEntity.Message = "保存失败,请联系管理员";
                ex.Message.ToString();
            }
            return resultEntity;
        }
        /// <summary>
        /// 获取最近的验证码
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public AdmPhoneMessageDTO GetPhoneMessageZuijin(string phone)
        {
            AdmPhoneMessage entity = _context.AdmPhoneMessages.Where(e => e.Phone == phone ).OrderByDescending(x=>x.Createtime).FirstOrDefault();
            if (entity == null)
            {
                entity = new AdmPhoneMessage();
            }
            AdmPhoneMessageDTO admPhoneMessageDTO = _mapper.Map<AdmPhoneMessageDTO>(entity);
            return admPhoneMessageDTO;
        }
    }
}
zhengcaioa/zhengcaioa/Controllers/AdmManagement/DailyManagementController.cs
@@ -10,6 +10,7 @@
using DTO;
using Microsoft.AspNetCore.Http;
using zhengcaioa.IService;
using CommonToolsCore;
namespace zhengcaioa.Controllers.AdmManagement
{
@@ -738,5 +739,126 @@
        }
        #endregion
        //发送验证码
        public IActionResult PushYanZhengMa(String Phone)
        {
            ReturnMsg<AdmPhoneMessageDTO> returnMsg = new ReturnMsg<AdmPhoneMessageDTO>();
            returnMsg.code = 2;
            try
            {
                Random rd = new Random();
                int end = 999999;
                int begin = 100000;
               int xxxx =  rd.Next(begin, end);
                string sss = SMSHelper.PushWToUserMESYanZhengMa(Phone, xxxx.ToString());
                if (int.Parse(sss) <= 0)
                {
                    returnMsg.code = 2;
                    returnMsg.error = "短信发送失败";
                    returnMsg.returnObj = null;
                    return new JsonResult(returnMsg);
                }
                AdmPhoneMessageDTO admPhoneMessageDTO = new AdmPhoneMessageDTO();
                admPhoneMessageDTO.Phone = Phone;
                admPhoneMessageDTO.Createtime = DateTime.Now;
                admPhoneMessageDTO.Message = xxxx.ToString();
                ResultEntity rs =  _DailyManageService.SavePhoneMessage(admPhoneMessageDTO);
                if (!rs.Result)
                {
                    returnMsg.code = 2;
                    returnMsg.error = "短信发送失败";
                    returnMsg.returnObj = null;
                    return new JsonResult(returnMsg);
                }
                returnMsg.code = 1;
                returnMsg.count = 0;
                returnMsg.returnObj = admPhoneMessageDTO;
            }
            catch (Exception ex)
            {
                returnMsg.code = 2;
                returnMsg.error = "没有获取到token";
                returnMsg.count = 0;
            }
            return new JsonResult(returnMsg);
        }
        //保存通话记录
        [HttpPost]
        public IActionResult SaveHoldPhone([FromBody]AdmHoldPhoneDTO admHoldPhone)
        {
            ReturnMsg<AdmHoldPhoneDTO> returnMsg = new ReturnMsg<AdmHoldPhoneDTO>();
            returnMsg.code = 2;
            try
            {
                //判断验证码是否正确
             var phoneMessageDTO =   _DailyManageService.GetPhoneMessageZuijin(admHoldPhone.Phone);
                //double minu = (DateTime.Now - phoneMessageDTO.Createtime).TotalMinutes;
                if (phoneMessageDTO==null|| string.IsNullOrEmpty(phoneMessageDTO.Message))
                {
                    returnMsg.code = 2;
                    returnMsg.error = "验证码错误";
                    returnMsg.returnObj = null;
                    return new JsonResult(returnMsg);
                }
                else if (phoneMessageDTO.Message != admHoldPhone.Message)
                {
                    returnMsg.code = 2;
                    returnMsg.error = "验证码错误";
                    returnMsg.returnObj = null;
                    return new JsonResult(returnMsg);
                }else if ((DateTime.Now - phoneMessageDTO.Createtime).TotalMinutes>5 )
                {
                    returnMsg.code = 2;
                    returnMsg.error = "验证码超过5分钟,验证码失效";
                    returnMsg.returnObj = null;
                    return new JsonResult(returnMsg);
                }
                admHoldPhone.RecStatus = "A";
                admHoldPhone.InTime = DateTime.Now;
                admHoldPhone.LineType = "1";
                admHoldPhone.Intention = "3";
                admHoldPhone.Creater = "e4c93811-b9b1-4998-89f5-c416ebab0c07";
                admHoldPhone.Createtime = DateTime.Now;
                admHoldPhone.Modifier = "e4c93811-b9b1-4998-89f5-c416ebab0c07";
                admHoldPhone.Modifytime = DateTime.Now;
                admHoldPhone.UserId = "e4c93811-b9b1-4998-89f5-c416ebab0c07";
                admHoldPhone.Handling = null;
                admHoldPhone.Id = null;
                ResultEntity resultEntity = _DailyManageService.SaveHoldPhone(admHoldPhone);
                returnMsg.code = 1;
                returnMsg.count = 0;
                returnMsg.returnObj = admHoldPhone;
            }
            catch (Exception ex)
            {
                returnMsg.code = 2;
                returnMsg.error = "没有获取到token";
                returnMsg.count = 0;
            }
            return new JsonResult(returnMsg);
        }
    }
}