コード例 #1
0
        public HttpResponseMessage GetDividendResult([FromBody] Dictionary <string, object> dic)
        {
            int           apiID      = Convert.ToInt32(dic["apiID"]);
            APIInputParam inputParam = CreateInputStr(apiID, new Dictionary <string, string>());
            ReturnData    result     = new ReturnData();

            try
            {
                DataTable     dt = bll.GetTsCode(dic["ts_code"].ToString()).Tables[0];
                TuShareResult apiResultInsert = new TuShareResult();
                apiResultInsert.data       = new TuShareResultData();
                apiResultInsert.data.items = new List <List <string> >();
                if (dt.Rows.Count > 0)
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        HttpHelper hh = new HttpHelper();
                        inputParam.@params["ts_code"] = dr["ts_code"].ToString();
                        //postData.
                        TuShareResult apiResult = JSONUtil.ParseFromJson <TuShareResult>(hh.Post(apiUrl, inputParam.ToJson <APIInputParam>()));
                        if (apiResult.data == null)//API接口无返回数据
                        {
                            result.S = false;
                            result.M = "API接口无数据返回!";
                        }
                        else
                        {
                            if (apiResultInsert.data.items.Count > 3000)
                            {
                                //foreach (List<string> item in apiResult.data.items)
                                //{
                                //    apiResultInsert.data.items[0].AddRange(item);
                                //}
                                apiResultInsert.data.items.AddRange(apiResult.data.items);
                                result = bll.GetApiResult(apiResultInsert, apiID);
                                apiResultInsert.data.items = new List <List <string> >();
                            }
                            else
                            {
                                apiResultInsert.data.items.AddRange(apiResult.data.items);
                            }
                        }
                    }
                    if (apiResultInsert.data.items.Count > 0)
                    {
                        result = bll.GetApiResult(apiResultInsert, apiID);
                    }
                }
                else
                {
                    result.SetErrorMsg("找不到股票代码数据!");
                }
            }
            catch (Exception ex)
            {
                result.SetErrorMsg(ex.Message);
            }
            return(MyResponseMessage.SuccessJson(result));
        }
コード例 #2
0
        /// <summary>
        /// 删除列
        /// </summary>
        /// <param name="jsonStr">Json字符串格式:{DBName:"db1",TableName:"tb1",Columns["col1","col2","col3"]}</param>
        /// <returns></returns>
        public HttpResponseMessage DeleteColumns([FromBody] string jsonStr)
        {
            ReturnData result = new ReturnData();
            Dictionary <string, object> dic = new Dictionary <string, object>();

            dic = JSONUtil.ParseFromJson <Dictionary <string, object> >(jsonStr);

            return(MyResponseMessage.SuccessJson <ReturnData>(result));
        }
コード例 #3
0
ファイル: Holiday.cs プロジェクト: 6009000134/MyPlatform
        private void GetHolidays()
        {
            string        data   = HttpMethod.PostMethod("https://www.mxnzp.com/api/holiday/list/year/2020?app_id=akotsopmynpyvepi&app_secret=bUc0YThNcXZZUTVCVjN0OFp0Z1UyUT09", "");
            data1         dd     = JSONUtil.ParseFromJson <data1>(data);
            List <string> sqls   = new List <string>();
            List <string> dates  = new List <string>();
            List <string> dates2 = new List <string>();

            dates2.Add("2020-06-13");
            dates2.Add("2020-06-14");
            if (dd.data.Count > 0)
            {
                for (int i = 0; i < dd.data.Count; i++)
                {
                    if (dd.data[i].days.Count > 0)
                    {
                        for (int j = 0; j < dd.data[i].days.Count; j++)
                        {
                            if (dd.data[i].days[j].type > 0)
                            {
                                dates.Add(dd.data[i].days[j].date);
                            }
                        }
                    }
                }
            }
            if (dates.Count > 0)
            {
                for (int i = 0; i < dates.Count; i++)
                {
                    string sql = "insert into auctus_temp values ('" + dates[i] + "');";
                    sqls.Add(sql);
                }
            }
            List <string> r  = dates.Where(a => !dates2.Exists(t => t == a)).ToList();
            List <string> rs = dates.Where(a => a == "2020-06-13").ToList();

            //SqlConnection con = new SqlConnection("Data Source=192.168.1.81;Initial Catalog=AuctusERP;User ID=sa;Password=db@auctus998.;");
            //SqlCommand cmd = new SqlCommand();
            //cmd.Connection = con;
            //con.Open();
            //for (int i = 0; i < sqls.Count; i++)
            //{
            //    cmd.CommandText = sqls[i];
            //    cmd.ExecuteNonQuery();
            //    cmd.Parameters.Clear();
            //}
            //con.Close();
            Console.ReadLine();
        }
コード例 #4
0
        public HttpResponseMessage GetDetail([FromBody] Dictionary <string, object> dic)
        {
            ReturnData result = new ReturnData();

            try
            {
                //Pagination page=JSONUtil.ParseFromJson<>
                int        tableID = Convert.ToInt32(dic["tableID"]);
                string     s       = dic["page"].ToJson();
                Pagination page    = JSONUtil.ParseFromJson <Pagination>(dic["page"].ToJson());
                result = tableBLL.GetDetail(Convert.ToInt32(dic["tableID"]), page);
            }
            catch (Exception ex)
            {
                result.S = false;
                result.SetErrorMsg("错误信息:" + ex.Message);
            }
            return(MyResponseMessage.SuccessJson <ReturnData>(result));
        }
コード例 #5
0
        public HttpResponseMessage GetApiResult([FromBody] JObject postData)
        {
            ReturnData result = new ReturnData();

            try
            {
                HttpHelper    hh        = new HttpHelper();
                TuShareResult apiResult = JSONUtil.ParseFromJson <TuShareResult>(hh.Post(postData.GetValue("url").ToString(), postData.GetValue("postData").ToJson()));
                if (apiResult.data == null)//API接口无返回数据
                {
                    result.S = false;
                    result.M = "API接口无数据返回!";
                }
                else
                {
                    result = bll.GetApiResult(apiResult, int.Parse(postData.GetValue("apiID").ToString()));
                }
            }
            catch (Exception ex)
            {
                result.SetErrorMsg(ex.Message);
            }
            return(MyResponseMessage.SuccessJson(result));
        }
コード例 #6
0
        public void GetDividend(object obj)
        {
            Dictionary <string, object> dic = (Dictionary <string, object>)obj;
            int           apiID             = (int)dic["apiID"];
            APIInputParam inputParam        = (APIInputParam)dic["inputParam"];
            DataTable     dt = (DataTable)dic["dt"];
            TuShareResult apiResultInsert = new TuShareResult();

            apiResultInsert.data       = new TuShareResultData();
            apiResultInsert.data.items = new List <List <string> >();
            int index = 1;
            int min   = DateTime.Now.Minute;
            int sec   = DateTime.Now.Second;

            foreach (DataRow dr in dt.Rows)
            {
                if (index % 60 == 0)
                {
                    int min2 = DateTime.Now.Minute;
                    int sec2 = DateTime.Now.Second;

                    if (min2 - min == 1)
                    {
                        if (60 - sec + sec2 < 60)
                        {
                            Thread.Sleep((Math.Abs(sec2 - sec)) * 1000);
                        }
                    }
                    else if (min2 - min == 0)
                    {
                        Thread.Sleep(Math.Abs(60 - sec2 + sec) * 1000);
                    }
                    min = min2;
                    sec = sec2;
                }
                index += 1;
                HttpHelper hh = new HttpHelper();
                inputParam.@params["ts_code"] = dr["ts_code"].ToString();
                //postData.
                TuShareResult apiResult;
                string        inputStr = "";
                lock (this)
                {
                    inputStr = inputParam.ToJson <APIInputParam>();
                }
                string responStr = hh.Post(apiUrl, inputStr);
                apiResult = JSONUtil.ParseFromJson <TuShareResult>(responStr);
                if (apiResult.data != null)//API接口无返回数据
                {
                    if (apiResultInsert.data.items.Count > 3000)
                    {
                        apiResultInsert.data.items.AddRange(apiResult.data.items);
                        bll.GetApiResult(apiResultInsert, apiID);
                        apiResultInsert.data.items = new List <List <string> >();
                    }
                    else
                    {
                        apiResultInsert.data.items.AddRange(apiResult.data.items);
                    }
                }
            }
            if (apiResultInsert.data.items.Count > 0)
            {
                bll.GetApiResult(apiResultInsert, apiID);
            }
        }