public void Insert() { var client = new RestClient(); var request = new RestRequest(fundcode_url); var response = client.Get(request); var content = response.Content; content = content.Replace("var r = ", "").Replace(";", "").Replace("\"", ""); content = content.Substring(2, content.Length - 3); var arr1 = content.Split("],["); if (dapperHelper.Get <FundCode>(@"SELECT * FROM fund_code") == null) { foreach (var item in arr1) { var arr2 = item.Split(','); var fundCode = new FundCode { Code = arr2[0], PinYin = arr2[1], Name = arr2[2], Type = arr2[3], Extend1 = arr2[4] }; dapperHelper.Insert(fundCode); } dapperHelper.CloseDbConnection(); } }
public void GetDataTask(string fundCode = "257070") { //string fundCode = "257070"; string url = "http://api.fund.eastmoney.com/f10/lsjz"; var client = new RestClient(); var request = new RestRequest(url, Method.GET); request.AddHeader("Host", "api.fund.eastmoney.com"); request.AddHeader("Referer", $"http://fundf10.eastmoney.com/jjjz_{fundCode}.html"); request.AddQueryParameter("fundCode", fundCode); request.AddQueryParameter("callback", "jQuery183010134522908519239_1572851114406"); request.AddQueryParameter("_", "1572851448663"); request.AddQueryParameter("pageIndex", "1"); request.AddQueryParameter("pageSize", "100"); request.AddQueryParameter("startDate", ""); request.AddQueryParameter("endDate", ""); IRestResponse response = client.Execute(request); var content = response.Content; Regex regex = new Regex(@"\[\{.*\}\]"); var str = regex.Match(content).Value; var list = JsonConvert.DeserializeObject <List <DayJZDto> >(str); if (list?.Count > 0) { var fc = dapperHelper.Get <FundCode>(@"SELECT * FROM fund_code WHERE code=@code;", new { code = fundCode }); var listEntity = new List <FundDataDay>(); foreach (var item in list) { var fundDataDay = new FundDataDay { Code = fundCode, Name = fc.Name, Jzrq = item.FSRQ, Jz = item.DWJZ, Ljjz = item.LJJZ, JZZZL = item.JZZZL, }; var fdd = dapperHelper.Get <FundDataDay>(@"SELECT * FROM fund_data_day WHERE code=@code AND jzrq=@jzrq;", new { code = fundCode, jzrq = item.FSRQ }); if (fdd == null) { listEntity.Add(fundDataDay); } } if (listEntity.Count > 0) { dapperHelper.Insert(listEntity); } } }
public void GetDataTask(string fundCode = "257070") { //string fundCode = "257070"; string url = $"http://fundgz.1234567.com.cn/js/{fundCode}.js"; var client = new RestClient(); var request = new RestRequest(url, Method.GET); request.AddHeader("Host", "fundgz.1234567.com.cn"); request.AddHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"); IRestResponse response = client.Execute(request); var content = response.Content; Regex regex = new Regex(@"\{.*\}"); var str = regex.Match(content).Value; var jobj = JsonConvert.DeserializeObject <JObject>(str); if (jobj != null) { //jsonpgz({"fundcode":"257070","name":"国联安优选行业混合","jzrq":"2019-11-04","dwjz":"1.8290","gsz":"1.8297","gszzl":"0.04","gztime":"2019-11-05 09:45"}); var fundDataDay = new FundDataMin { Code = fundCode, Name = jobj["name"].ToString(), Jzsj = Convert.ToDateTime(jobj["gztime"].ToString()), Gsz = Convert.ToDecimal(jobj["gsz"].ToString()), Zrjz = Convert.ToDecimal(jobj["dwjz"].ToString()), Gssy = Convert.ToDecimal(jobj["gszzl"].ToString()), }; var fdm = dapperHelper.Get <FundDataMin>(@"SELECT * FROM fund_data_min WHERE code=@code AND jzsj=@jzsj", new { code = fundCode, jzsj = fundDataDay.Jzsj }); if (fdm == null) { dapperHelper.Insert(fundDataDay); } } }