コード例 #1
0
ファイル: Pdinfo.php プロジェクト: tianyunchong/php
 public function last()
 {
     $sql = 'select oneproxy_seq_nextval("pd_info")';
     $robot = new PdInfo();
     $info = new Resultset(null, $robot, $robot->getReadConnection()->query($sql));
     if ($info) {
         $last = $info->toArray();
         if (!empty($last) && is_array($last) && isset($last[0]['oneproxy_seq_nextval("pd_info")'])) {
             $pidArr = explode(',', $last[0]['oneproxy_seq_nextval("pd_info")']);
             if (is_array($pidArr) && isset($pidArr['0']) && !empty($pidArr['0'])) {
                 $pid = (int) $pidArr['0'];
                 if (is_int($pid) and $pid > 0) {
                     return $pid;
                 }
             }
         }
     }
     return 0;
 }
コード例 #2
0
ファイル: ProductService.php プロジェクト: tianyunchong/php
 /**
  * 获得普通商品列表
  * @param  int  $cid    企业id
  * @param  string  $groupid    分组字符串
  * @param  int $offset 分页起始值
  * @param  int $limit  分页
  * @param  string $column  字段  默认为全部
  * @param  string  $order  排序
  */
 public function getProductList($cid, $groupid = 0, $offset = 0, $limit = 20, $column = '*', $order = ' uptime desc')
 {
     $cid = $this->di['filter']->sanitize($cid, 'int', 0);
     if ($cid > 50000000) {
         //采集企业商品列表
         $data = $this->getCaijiProductList($cid, $groupid, $offset, $limit, $column, $order);
     } else {
         $groupid = $this->di['filter']->sanitize($groupid, 'string', 0);
         $offset = $this->di['filter']->sanitize($offset, 'int', 0);
         $limit = $this->di['filter']->sanitize($limit, 'int', 20);
         if (!empty($groupid)) {
             $pidgid = explode('-', $groupid);
             $gid = isset($pidgid[0]) ? $pidgid[0] : 0;
             $cgid = isset($pidgid[1]) ? $pidgid[1] : 0;
             if (empty($cgid)) {
                 $condition = 'cid = :cid: and gid=:gid: and state =1';
                 $bind = array('cid' => $cid, 'gid' => $gid);
             } else {
                 $condition = 'cid = :cid: and gid=:gid: and cgid=:cgid: and state =1';
                 $bind = array('cid' => $cid, 'gid' => $gid, 'cgid' => $cgid);
             }
             //修改保法的接口: 查询时候改为查询不同的pid因为可能存在重复id的情况
             //@author Jea
             $pidgid = PdPidgid::find(array('columns' => 'distinct(pid) as pid', $condition, 'bind' => $bind, 'order' => 'pid DESC', 'limit' => $limit, 'offset' => $offset));
             $pidArr = array();
             if (is_object($pidgid)) {
                 $pidgid = $pidgid->toArray();
                 foreach ($pidgid as $v) {
                     if (isset($v['pid'])) {
                         $pidArr[] = $v['pid'];
                     }
                 }
                 if (is_array($pidArr)) {
                     $pidArr = implode(',', $pidArr);
                 }
                 if (!empty($pidArr)) {
                     $data = PdInfo::find(array('cid = :cid: and pid in (' . $pidArr . ')', 'bind' => array('cid' => $cid), 'columns' => $column));
                     if ($data) {
                         $data = $data->toArray();
                     } else {
                         $data = array();
                     }
                 }
             }
             $count = PdPidgid::findFirst(array('columns' => 'count(distinct(pid)) as num', $condition, 'bind' => $bind));
             $data['count'] = $count->num;
         } else {
             $condition = 'cid = :cid: and state = 1';
             $bind = array('cid' => $cid);
             $data = Pdinfo::find(array($condition, 'bind' => $bind, 'limit' => $limit, 'offset' => $offset, 'order' => $order, 'columns' => $column));
             if ($data) {
                 $data = $data->toArray();
             } else {
                 $data = array();
             }
             $data['count'] = Pdinfo::count(array($condition, 'bind' => $bind));
         }
     }
     return $this->outputData($data);
 }