wanggangtao hace 5 años
padre
commit
89cd8ff003

+ 7 - 0
api/lib/api.class.php

@@ -16,6 +16,13 @@ class API {
     const SUCCESS_MSG= "success";
 
 
+    const EMPTY = 201;
+    const EMPTY_MSG= "股票代码不存在/错误";
+
+    const STOCK = 202;
+    const STOCK_MSG= "股票数据为空";
+
+
     //API编号,数字
     public $code;
 

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 1
api/v1.0/api_boniu_get_info_by_code.php


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 1
api/v1.0/api_boniu_get_stock_info.php


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 0
api/v1.0/api_boniu_index_recent_days.php


+ 106 - 0
api/v1.0/demo/api_boniu_index_recent_days.html

@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <title>指数历史数据接口</title>
+    <script type="text/javascript" src="js/jquery.1.9.1.min.js"></script>
+    <script type="text/javascript" src="js/func.common.js"></script>
+    <script type="text/javascript" src="js/func.js"></script>
+    <script type="text/javascript" src="js/jquery.md5.js">//$.md5()</script>
+    <script type="text/javascript" src="js/jquery.base64.js">//$.base64.encode()</script>
+    <script src="js/c.js" type="text/javascript"></script>
+    <script src="js/urchin.js" type="text/javascript"></script>
+    <link href="css/s.css" type="text/css" rel="stylesheet">
+    <link href="css/base.css" type="text/css" rel="stylesheet">
+    <script type="text/javascript">
+        $(function(){
+            $('#btn').click(function(){
+                var method = $('input[name="method"]').val();
+                var timestamp = $('input[name="timestamp"]').val();
+                var sign = $.md5(method+timestamp);
+                var code = $('input[name="code"]').val();
+                var start_date = $('input[name="start_date"]').val();
+                var order = $('input[name="order"]').val();
+                var traceback_days = $('input[name="traceback_days"]').val();
+
+
+
+                $('#sign').val(sign);
+                $.ajax({
+                    type : 'POST',
+                    data : {
+                        'method'     : method,
+                        'code'       : code,
+                        'start_date' : start_date,
+                        'traceback_days' : traceback_days,
+                        'order'      : order,
+                        'timestamp'  : timestamp,
+                        'sign'       : sign
+                    },
+                    url : "../api.php",
+                    beforeSend :  function(data){
+
+                        $('#Canvas').html('<p>请求处理中...</p>');
+                    },
+                    success :     function(data){
+//                        alert(data);
+                        Process(data);
+                    },
+                    error :       function(request, errtext, e){
+                        $('#Canvas').html('<p><b>发生错误</b></p><p>'+request.status+'<br/>'+errtext+'</p>');
+                    }
+                });
+            });
+        });
+    </script>
+</head>
+<body>
+<div id="head"><p>股票最近n天的历史数据</p></div>
+<div id="content">
+    <div id="left">
+        <div class ="message"><p>接口返回:</p></div>
+        <div id="Canvas" class="Canvas"></div>
+    </div>
+    <div id="right">
+        <div class ="message"><p>请求数据:</p></div>
+        <form>
+            <p>
+                <span>method:</span>
+                <input type="text" class="input-text"  name="method" value="api_boniu_index_recent_days"/>
+            </p>
+
+            <p>
+                <span>timestamp:</span>
+                <input type="text" class="input-text"  name="timestamp" value="11111111"/>
+            </p>
+
+            <p>
+                <span>code:</span>
+                <input type="text" class="input-text"  name="code" value="600004"/>
+            </p>
+
+            <p>
+                <span>start_date:</span>
+                <input type="text" class="input-text"  name="start_date" value="2020/11/01"/>
+            </p>
+
+            <p>
+                <span>traceback_days:最近多少天</span>
+                <input type="text" class="input-text"  name="traceback_days" value=20 />
+            </p>
+
+            <p>
+                <span>order:降序-1,升序-0</span>
+                <input type="text" class="input-text"  name="order" value=1 />
+            </p>
+
+            <p>
+                <span>校验码:</span><input type="text" class="input-text" id="sign" readonly/></p>
+            <p><button class="button success small" id="btn" type="button">发送请求</button></p>
+        </form>
+    </div>
+</div>
+
+
+</body>
+</html>

+ 1 - 1
api/v1.0/demo/api_boniu_get_info_by_code.html

@@ -56,7 +56,7 @@
         <form>
             <p>
                 <span>method:</span>
-                <input type="text" class="input-text"  name="method" value="api_boniu_get_info_by_code"/>
+                <input type="text" class="input-text"  name="method" value="get_info"/>
             </p>
 
             <p>

+ 6 - 9
api/v1.0/demo/api_boniu_get_stock_info.html

@@ -18,7 +18,7 @@
                 var method = $('input[name="method"]').val();
                 var pagesize = $('input[name="pagesize"]').val();
                 var page = $('input[name="page"]').val();
-                var count = $('input[name="count"]').val();
+                var sector = $('input[name="sector"]').val();
                 var timestamp = $('input[name="timestamp"]').val();
                 var sign = $.md5(method+timestamp);
                 $('#sign').val(sign);
@@ -28,7 +28,7 @@
                         'method' :method,
                         'pagesize' :pagesize,
                         'page'   : page,
-                        'count'   : count,
+                        'sector'   : sector,
                         'timestamp' :timestamp,
                         'sign'   : sign
                     },
@@ -49,7 +49,7 @@
     </script>
 </head>
 <body>
-<div id="head"><p>数据中心向决策决策系统股票信息</p></div>
+<div id="head"><p>股票列表信息</p></div>
 <div id="content">
     <div id="left">
         <div class ="message"><p>接口返回:</p></div>
@@ -60,7 +60,7 @@
         <form>
             <p>
                 <span>method:</span>
-                <input type="text" class="input-text"  name="method" value="api_boniu_get_stock_info"/>
+                <input type="text" class="input-text"  name="method" value="get_list"/>
             </p>
 
             <p>
@@ -78,14 +78,11 @@
                 <input type="text" class="input-text"  name="page" value="1"/>
             </p>
             <p>
-                <span>count:(0返回数据,非0返回数据总数)</span>
-                <input type="text" class="input-text"  name="count" value="0"/>
+                <span>sector:(10-上证主板,11-科创板,20-深证主板,21-中小板,22-创业板,30-香港联交所)</span>
+                <input type="text" class="input-text"  name="sector" value=22 />
             </p>
 
 
-            <p>
-
-            </p>
             <p><span>校验码:</span><input type="text" class="input-text" id="sign" readonly/></p>
             <p><button class="button success small" id="btn" type="button">发送请求</button></p>
         </form>

+ 8 - 8
api/v1.0/demo/index.html

@@ -28,16 +28,16 @@
 
 	<tr>
 		<td class="n1">1.1</td>
-		<td class="n2"><a href="api_boniu_get_stock_info.html" target="_blank">获取股票列表信息</a></td>
-		<td class="n3"><a href="api_boniu_get_stock_info.html" target="_blank">查看Demo</a></td>
+		<td class="n2"><a href="get_list.html" target="_blank">获取股票列表信息</a></td>
+		<td class="n3"><a href="get_list.html" target="_blank">查看Demo</a></td>
 		<td class="n4"><a href="#" target="_blank">下载文档</a></td>
 	</tr>
 
 
 	<tr>
 		<td class="n1">1.2</td>
-		<td class="n2"><a href="api_boniu_get_info_by_code.html" target="_blank">获取股基本票信息</a></td>
-		<td class="n3"><a href="api_boniu_get_info_by_code.html" target="_blank">查看Demo</a></td>
+		<td class="n2"><a href="get_info.html" target="_blank">根据股票代码获取股基本票信息</a></td>
+		<td class="n3"><a href="get_info.html" target="_blank">查看Demo</a></td>
 		<td class="n4"><a href="#" target="_blank">下载文档</a></td>
 	</tr>
 
@@ -73,8 +73,8 @@
 
 	<tr>
 		<td class="n1">1.7</td>
-		<td class="n2"><a href="api_boniu_index_list.html" target="_blank">指数列表</a></td>
-		<td class="n3"><a href="api_boniu_index_list.html" target="_blank">查看Demo</a></td>
+		<td class="n2"><a href="index_list.html" target="_blank">指数列表</a></td>
+		<td class="n3"><a href="index_list.html" target="_blank">查看Demo</a></td>
 		<td class="n4"><a href="#" target="_blank">下载文档</a></td>
 	</tr>
 
@@ -110,8 +110,8 @@
 
 	<tr>
 		<td class="n1">1.12</td>
-		<td class="n2"><a href="api_boniu_index_day_k.html" target="_blank">指数的时间段数据</a></td>
-		<td class="n3"><a href="api_boniu_index_day_k.html" target="_blank">查看Demo</a></td>
+		<td class="n2"><a href="index_day_k.html" target="_blank">指数的时间段数据</a></td>
+		<td class="n3"><a href="index_day_k.html" target="_blank">查看Demo</a></td>
 		<td class="n4"><a href="#" target="_blank">下载文档</a></td>
 	</tr>
 

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 0
api/v1.0/get_info.php


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 0
api/v1.0/get_list.php


+ 32 - 4
lib/function_common.inc.php

@@ -13,10 +13,9 @@
  * @copyright	芝麻开发(http://www.zhimawork.com)
  */
 
-
 function action_msg_data($msg, $code,$data=array(), $json = true){
     $r = array(
-        'code' => $code,
+        'message_code' => $code,
         'message'  => $msg,
         'data'=>$data
     );
@@ -26,6 +25,35 @@ function action_msg_data($msg, $code,$data=array(), $json = true){
         return $r;
 }
 
+/***
+ * @param $msg
+ * @param $code
+ * @param array $data
+ * @param bool $json
+ * @return array|mixed|string
+ * 单纯的解析数组
+ */
+function action_array($data=array(), $json = true){
+    if($json)
+        return json_encode_cn($data);
+    else
+        return $data;
+}
+
+function action_msg_list($msg, $code,$data=array(), $json = true){
+    $r = array(
+        'message_code' => $code,
+        'message'  => $msg,
+        'list'=>$data
+    );
+    if($json)
+        return json_encode_cn($r);
+    else
+        return $r;
+}
+
+
+
 /**
  * safeCheck() 参数检查,并防XSS 和 SQL注入
  * 
@@ -186,8 +214,8 @@ function json_encode_cn($array){
  */
 function action_msg($msg, $code, $json = true){
 	$r = array(
-		'code' => $code,
-		'msg'  => $msg
+		'message_code' => $code,
+		'message'  => $msg
 	);
 	if($json) 
 		return json_encode_cn($r);

+ 9 - 2
lib/stock.class.php

@@ -28,12 +28,19 @@ class Stock {
     }
 
 
-    static public function getList($filter = array(), $count=0, $page=0, $pageSize=0)
+    static public function getList($filter = array(), $sector=0, $page=0, $pageSize=0)
     {
         $Table_stock = new Table_stock();
-        return $Table_stock->getList($filter, $count, $page, $pageSize);
+        return $Table_stock->getList($filter, $sector, $page, $pageSize);
     }
 
+    static public function getStockList($filter = array(), $count, $page, $pagesize)
+    {
+        $Table_stock = new Table_stock();
+        return $Table_stock->getStockList($filter, $count,$page, $pagesize);
+    }
+
+
     static public function addOrUpdateByCode($attrs)
     {
         if (empty($attrs)) throw new Exception('参数不能为空', 101);

+ 34 - 0
lib/table/table_stock.class.php

@@ -64,6 +64,40 @@ class Table_stock extends Table {
     }
 
 
+    public function getStockList($filter = array(), $count = 0, $page = 0, $pagesize = 0){
+
+        $where = $this->filterToWhere($filter);
+        if($count == 0){//列表
+            $sql = "select * from ". $this->table_fullname ." $where order by ".$this->table_id." desc";
+
+            if($page > 0){//分页
+                $startrow = ($page - 1) * $pagesize;
+                $sql_limit = " limit $startrow, $pagesize";
+                $sql .= $sql_limit;
+            }
+            $rs  = $this->pdo->sqlQuery($sql);
+            $r   = array();
+            if($rs){
+                foreach($rs as $key => $val){
+                    $r[$key] = $this->dataToAttr($val);
+                }
+                return $r;
+            }else{
+                return $r;
+            }
+
+        }else{//统计
+            $sql = "select count(*) as c from ". $this->table_fullname . " $where ";
+            $rs  = $this->pdo->sqlQuery($sql);
+            if($rs){
+                return $rs[0]['c'];
+            }else{
+                return 0;
+            }
+        }
+    }
+
+
     /***
      * @param $code
      * @return array|mixed