コード例 #1
0
ファイル: InfoService.php プロジェクト: tianyunchong/php
 /**
  * 根据分组获取产品id
  * @param  integer  $cid     企业id
  * @param  integer  $groupid   分组id
  * @param  integer $offset  起始值
  * @param  integer $limit   分页
  */
 public function getGRoupGoods($condition, $bind, $offset = 0, $limit = 20)
 {
     $data = \Gcproinfo\Models\PdPidgid::find(array($condition, 'bind' => $bind, 'order' => 'pid DESC', 'limit' => $limit, 'offset' => $offset))->toArray();
     $data['count'] = \Gcproinfo\Models\PdPidgid::count(array($condition, 'bind' => $bind));
     return $this->outputData($data);
 }
コード例 #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);
 }