新的代码
来源:互联网 发布:巫师3优化好 编辑:程序博客网 时间:2024/05/21 17:57
<?phpclass api extends base{ function __construct() { $GLOBALS['sid'] = 'demo'; } function index($apistr = ''){ $q = load('m/entity_m'); $q->filter = ' 1 '; //start filter,start security var_dump($q); die(); //test code $p = _decode($apistr); var_dump($p); $type= $p['type']?$p['type']:'deal'; $order_by = $p['order_by']?$p['order_by']:'investDate'; $desc = $p['desc']?$p['desc']:'desc'; $field = $p['field']?$p['field']:false; $val = $p['val']?$p['val']:false; $page = $p['page']?$p['page']:1; $page_size = $p['page_size']?$p['page_size']:20; //$this->data = $data = load('m/config_m')->key($this->mod); $q = load('m/entity_m'); $q->filter = ' 1 '; if($field){ $query = " select e.* from entity e inner join entity_index i on e.uuid = i.eid where i.type= '$type' and i.field = '$field' and i.val = '$val'"; } else{ $query = " select e.* from entity e inner join entity_index i on e.uuid = i.eid where i.type= '$type' and i.field = '$order_by' order by i.val $desc limit $page,$page_size"; } $ret = $q->db->query($query); var_dump($ret); $this->display('v/api/index',$param); die(); } //在数据库中得到列表 function glist($data_type,$page){ switch ($data_type) { case 'value': # code... break; default: # code... break; } //deal } //得到单个的信息 function ginfo(){ switch ($variable) { case 'value': # code... break; default: # code... break; } //company } function get( $apistr = '') { $p = _decode($apistr); $type= $p['type']?$p['type']:'deal'; $order_by = $p['order_by']?$p['order_by']:'investDate'; $desc = $p['desc']?$p['desc']:'desc'; $field = $p['field']?$p['field']:false; $val = $p['val']?$p['val']:false; $page = $p['page']?$p['page']:1; $page_size = $p['page_size']?$p['page_size']:20; //$this->data = $data = load('m/config_m')->key($this->mod); $q = load('m/entity_m'); $q->filter = ' 1 '; if($field){ $query = " select e.* from entity e inner join entity_index i on e.uuid = i.eid where i.type= '$type' and i.field = '$field' and i.val = '$val'"; } else{ $query = " select e.* from entity e inner join entity_index i on e.uuid = i.eid where i.type= '$type' and i.field = '$order_by' order by i.val $desc limit $page,$page_size"; } $this->display('v/api/get',$param); die(); $ret = $q->db->query($query); var_dump($ret); die(_encode($ret)); } function data($data_type,$page) { return $this->$data_type($page); } function deal( $page = 1) { $p = _decode($apistr); $type= $p['type']?$p['type']:'deal'; $order_by = $p['order_by']?$p['order_by']:'investDate'; $desc = $p['desc']?$p['desc']:'desc'; $field = $p['field']?$p['field']:false; $val = $p['val']?$p['val']:false; // $page = $p['page']?$p['page']:1; $page_size = $p['page_size']?$p['page_size']:20; //$this->data = $data = load('m/config_m')->key($this->mod); $q = load('m/entity_m'); $q->filter = ' 1 '; $starid = ($page-1)*$page_size; $query = " select e.* from entity e inner join entity_index i on e.uuid = i.eid where i.type= '$type' and i.field = '$order_by' order by i.val $desc limit $starid,$page_size"; $ret = $q->db->query($query); die(_encode($ret)); } function announcement( $page = 1) { //todo: 小亮子 获取 公告数据 $p = _decode($apistr); $type= $p['type']?$p['type']:'announcement'; $order_by = $p['order_by']?$p['order_by']:'atype'; $desc = $p['desc']?$p['desc']:'desc'; $field = $p['field']?$p['field']:false; $val = $p['val']?$p['val']:false; // $page = $p['page']?$p['page']:1; $page_size = $p['page_size']?$p['page_size']:20; //$this->data = $data = load('m/config_m')->key($this->mod); $q = load('m/entity_m'); $q->filter = ' 1 '; $starid = ($page-1)*$page_size; //$query = "select e.* from entity e where type ='announcement'"; $query = " select count(*) as a from entity_index i where i.type= '$type' and i.field = '$order_by' and i.val = '定增'"; //" $desc limit $starid,$page_size"; $count = $q->db->query($query); $query = " select e.* from entity e inner join entity_index i on e.uuid = i.eid where i.type= '$type' and i.field = '$order_by' and i.val = '定增' order by e.id desc limit $starid,$page_size"; //print_r($query);die; //select e.* from entity e inner join entity_index i on e.uuid = i.eid //where i.type= 'announcement' and i.field = 'atype' order by i.val desc limit 0,20 $ret = $q->db->query($query); $ret['total'] = $count[0][a]; die(_encode($ret)); } function company( $page = 1) { $p = _decode($apistr); $type= $p['type']?$p['type']:'company'; $order_by = $p['order_by']?$p['order_by']:'id'; $desc = $p['desc']?$p['desc']:'desc'; $field = $p['field']?$p['field']:false; $val = $p['val']?$p['val']:false; // $page = $p['page']?$p['page']:1; $page_size = $p['page_size']?$p['page_size']:20; //$this->data = $data = load('m/config_m')->key($this->mod); $q = load('m/entity_m'); $q->filter = ' 1 '; $starid = ($page-1)*$page_size; $query = " select e.* from entity e inner join entity_index i on e.uuid = i.eid where i.type= '$type' and i.field = '$order_by' order by i.val $desc limit $starid,$page_size"; $ret = $q->db->query($query); die(_encode($ret)); } function name($type='company',$name = 'Homer') { $q = load('m/entity_m'); $query = "SELECT *FROM `entity`WHERE `type`='company' and `name` = 'Homer'LIMIT 0 , 30"; $param = $q->db->query($query); //get(" and `name`='$name' "); print_r($q); print_r($param); //die(_encode($param)); } function b2data() { foreach($this->structure as $k => $s){ if($s['listed'] && $s['id']!=$u['field'] && $s['id']!= $filter['field'] )$param['structure'][$k] = $s; } //$filtersql = "and uuid in( select eid from entity_index where field = '$filter[field]' and val = '$filter[val]')"; foreach($_POST['filter'] as $k=>$v){ $filtersql = "and uuid in( select eid from entity_index where field = '$k' and val = '$v')"; } $param['divid'] = $_POST['divid']; $param['data'] = load('m/entity_m')->get(" and type = '$this->mod' $filtersql and del=0 "); $this->display('v/entity/data',$param); } function about($uuid) { $r = load('m/entity_m')->get($uuid); $data = _decode($r['data']); $param['uuid'] = $uuid; $param['title'] = $r['name']; $param['fields'] = $this->build_view( $this->structure, $data); $this->display('v/entity/view',$param); } function update_deal() { //set_time_limit(0); //$subdir = array('deal'); //$dir = '../36kr/';// $config = $c = load('m/config_m'); $c->filter = " 1 "; $config = $c->get(" and sid='demo' and `key`='deal' "); $data = _decode($config[0]['data']); $structure = $data['item']; //print_r($structure);// for($i=1;$i<2;$i++){ $file =file_get_contents('https://rong.36kr.com/n/api/index/fund-express?pageSize=60');//.$i); $json = _decode($file); $data = $json['data']; echo '<ol>'; foreach($data as $d){ echo '<li>'.$d['name']; $d['type'] = 'deal'; $d['data'] = $d; // print_r($d); $investDate = $d['investDate']; echo date('Y-m-d',substr($investDate,0,10)); $id = $d['id']; // 判断是否存在 //$dates = load('m/entity_m')->db->query("select eid from entity_index where type='deal' and field = 'investDate' and val='$investDate'"); $query = " select e.* from entity e inner join entity_index i on e.uuid = i.eid where i.type= 'deal' and i.field = 'ID' and i.val = '$id'"; $deals = load('m/entity_m')->db->query($query); //"select eid from entity_index where type='deal' and field = 'ID' and val='$id'"); //print_r($dates); $this->getCompanyById($id); $addflag = true; foreach($deals as $de){ $deal = _decode($de['data']); if($deal['investDate'] == $investDate){ $addflag =false; break; } } if($addflag)load('m/entity_m')->add($d,'deal', $structure , $script = false ); } echo '</ol>'; } function update_announcement() { // for($i=0;$i<1000;$i++){ $i = 0; $file = 'http://data.eastmoney.com/notices/getdata.ashx?=&FirstNodeType=2&CodeType=1&SecNodeType=3&PageIndex='.$i.'&PageSize=50'; //print_r($file);die; $content = file_get_contents($file); $content = iconv("GB2312//IGNORE", "utf-8", $content); // print_r($content);die; //$rule = '^[var =].*[;]$'; preg_match('/\{(.*)\}/',$content,$mateches);// /\(\[(.*)\]\)/is //print_r($mateches[0]);die; $data = _decode($mateches[0]); //print_r($data);continue; echo '<ol>'; foreach ($data['data'] as $d) { foreach($d['ANN_RELCOLUMNS'] as $a){ if($a['COLUMNNAME'] == '增发预案'){ echo '<li>'.$d['NOTICETITLE']; $d['name'] = $d['NOTICETITLE']; $d['type'] = 'announcement'; $d+=$d['CDSY_SECUCODES'][0]; $d['data'] = $d; $d['sid'] = 'demo'; // 验证重复并插入数据库 //print_r($d); $id = $d['INFOCODE']; $query = " select e.* from entity e inner join entity_index i on e.uuid = i.eid where i.type= 'announcement' and i.field = 'INFOCODE' and i.val = '$id'"; $olds = load('m/entity_m')->db->query($query); if(empty($olds))load('m/entity_m')->add($d,'announcement'); } } } //} } function getAnnouncementById($uuid) { //to do小亮子 //先找结构 $c = load('m/config_m'); $c->filter = " 1 "; $config = $c->get(" and sid='demo' and `key`='announcement' "); $data = _decode($config[0]['data']); $structure = $data['item']; //上市公司公告数据 $ann_m = load('m/entity_m'); $ann = $ann_m->get($uuid); //print_r($ann); // 上市公司数据 $anndata = _decode($ann['data']); $stockid = $anndata['SECURITYCODE']; $query = " select e.* from entity e inner join entity_index i on e.uuid = i.eid where i.type= 'stock' and i.field = 'stockcode' and i.val = '$stockid'"; $company = $ann_m->db->query($query); $dt = $anndata + _decode($company[0][data]); //应该是个空数据 //die(_encode($ret)); echo _encode($dt); } function getCompanyById($id) { //找结构 $c = load('m/config_m'); $c->filter = " 1 "; $config = $c->get(" and sid='demo' and `key`='company' "); $data = _decode($config[0]['data']); $structure = $data['item']; $query = " select e.* from entity e inner join entity_index i on e.uuid = i.eid where i.type= 'company' and i.field = 'id' and i.val = '$id'"; $company = load('m/entity_m')->db->query($query); //print_r($company);die; if(empty($company)){ //print_r(sdsd);die; $file =file_get_contents('http://rong.36kr.com/n/api/company/'.$id);//.$i); $c = _decode($file); $d = $dt = $c['data']; $d['type'] = 'company'; $d['data'] = $d; load('m/entity_m')->add($d,'company', $structure , $script = false ); } else { $dt = _decode($company[0][data]); } // get deal by ID(companyid) //print_r($dt);die; //空数据 $query = " select e.* from entity e inner join entity_index i on e.uuid = i.eid where i.type= 'deal' and i.field = 'ID' and i.val='$id' limit 20"; $ret = load('m/entity_m')->db->query($query); $dt['deals'] = $ret; //print_r($dt);die; //die(_encode($ret)); //$dt数据是data和外部数据 echo _encode($dt); } //通过id取新闻 function getNewsById($id) { $n = load('m/config_m'); $n->filter = '1'; $config = $n->get("and sid ='demo' and 'key'= 'news'"); // 对json 格式的进行编码,json转化成数组 $data=_decode($config[0]['data']); $structure = $data['item']; //关联entity表uuid和entity_index表的eid相同数据,返回单行数据 $sql = "select e.* from entity e inner join entity_index i on e.uuid = i.eid where i.type= 'news' and i.field = 'cid' and i.val = '$id'"; $news = load('m/entity_m')->db->query($sql); //若news为空,抓取news数据并且解析 if (empty($news)) { # code... $file =file_get_contents('http://rong.36kr.com/n/api/news/'.$id);//.$i); $c = _decode($file); $d = $dt = $c['data']; $d['type'] = 'news'; $d['data'] = $d; //print_r($d); load('m/entity_m')->add($d,'news', $structure , $script = false ); } //若不为空,在转华为数组 else{ $dt = _decode($news[0][data]); } $sql = "select e.* from entity e inner join entity_index i on e.uuid = i.eid where i.type = 'deal' and i.fields = 'cid' and i.val= '$id'limit 20"; $res = load('m/entity_m')->db->query($sql); $dt['deals'] = $res ; //数组或对象转化成json格式,参数2是常量 echo _encode($dt); } //通过id取项目数据 function getProductById($id) { $n = load('m/config_m'); $n->filter = '1'; $config = $n->get("and sid ='demo' and 'key'= 'product'"); $data=_decode($config[0]['data']); $structure = $data['item']; $sql = "select e.* from entity e inner join entity_index i on e.uuid = i.eid where i.type= 'product' and i.field = 'cid' and i.val = '$id'"; $product = load('m/entity_m')->db->query($sql); if (empty($product)) { # code... $file =file_get_contents('http://rong.36kr.com/n/api/product/'.$id);//.$i); $c = _decode($file); $d = $dt = $c['data']; $d['type'] = 'product'; $d['data'] = $d; //print_r($d); load('m/entity_m')->add($d,'product', $structure , $script = false ); }else{ $dt = _decode($product[0][data]); } $sql = "select e.* from entity e inner join entity_index i on e.uuid = i.eid where i.type = 'deal' and i.fields = 'cid' and i.val= '$id'limit 20"; $res = load('m/entity_m')->db->query($sql); $dt['deals'] = $res ; echo _encode($dt); } //通过id取成员 function getMemberById($id) { $n = load('m/config_m'); $n->filter = '1'; $config = $n->get("and sid ='demo' and 'key'= 'member'"); $data=_decode($config[0]['data']); $structure = $data['item']; $sql = "select e.* from entity e inner join entity_index i on e.uuid = i.eid where i.type= 'member' and i.field = 'cid' and i.val = '$id'"; $member = load('m/entity_m')->db->query($sql); if (empty($member)) { # code... $file =file_get_contents('http://rong.36kr.com/n/api/member/'.$id);//.$i); $c = _decode($file); $d = $dt = $c['data']; $d['type'] = 'member'; $d['data'] = $d; //print_r($d); load('m/entity_m')->add($d,'member', $structure , $script = false ); }else{ $dt = _decode($member[0][data]); } $sql = "select e.* from entity e inner join entity_index i on e.uuid = i.eid where i.type = 'deal' and i.fields = 'cid' and i.val= '$id'limit 20"; $res = load('m/entity_m')->db->query($sql); $dt['deals'] = $res ; echo _encode($dt); }}
0 0
- 新的代码生活
- 新的代码
- 新的代码,新的同事,新的挑战!!!
- git跟新gitbub的代码(首次跟新步骤)
- 新的VBS下载者代码
- struts2新条目显示new的代码
- jsp添加新的servlet处理代码
- 代码托管:新一轮的开源热
- 新架构下的html代码
- Android 添加新的联系人代码
- gradle添加新的代码仓库
- 通过代码创建新的窗体
- 检查新同事的代码时发现的问题
- 新写的一个:文章内容分页显示的代码
- 检查新同事的代码时发现的问题
- 检查新同事的代码时发现的问题
- 新的在listctrl中实现复选框变单选框的代码
- 学习新的代码库的6个基本步骤
- 关于HashSet、LinkedHashSet和TreeSet以及Comparable和Comparator
- 蓝桥杯-十六进制转八进制(java)
- JAVA网络程序设计的基本概念
- 做一个学(chou)习(ka)游戏(一)
- MAC 苹果电脑 Xcode文件路径
- 新的代码
- JAVA之MD5加密算法
- 贪心+优先队列
- 1、HTTP监控工具httpry
- 使用 Visual Studio 进行调试
- VIM学习手记1-从命令模式直接进入单词替换修改
- 【C】获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列
- 表格排序——javascript
- CoordinatorLayout源码解析