示例#1
0
        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();
            }
        }
示例#2
0
        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);
                }
            }
        }
示例#3
0
        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);
                }
            }
        }