root il y a 9 ans
Parent
commit
5406a7f858
4 fichiers modifiés avec 82 ajouts et 147 suppressions
  1. 0 5
      mobile/control/efficacy.php
  2. 0 3
      mobile/control/find.php
  3. 79 139
      mobile/control/goods.php
  4. 3 0
      mobile/util/errcode.php

+ 0 - 5
mobile/control/efficacy.php

@@ -12,10 +12,6 @@ class efficacyControl extends mobileHomeControl
         parent::__construct();
     }
 
-    public function indexOp(){
-
-    }
-
     /**
      * 获取功效列表
      */
@@ -28,7 +24,6 @@ class efficacyControl extends mobileHomeControl
 
             $item['efficacy_id'] = $value['efficacy_id'];
             $item['efficacy_name']=$value['efficacy_name'];
-
             array_push($result,$item);
         }
         joutput_data(array("efficacy"=>$result));

+ 0 - 3
mobile/control/find.php

@@ -19,7 +19,6 @@ class findControl extends mobileHomeControl
     public function category_listOp()
     {
         $category_list = Model()->table('category_item')->where(array('enable' => '1'))->order('sort asc')->select();
-
         $result = array();
         foreach ($category_list as $value) {
 
@@ -27,10 +26,8 @@ class findControl extends mobileHomeControl
             $item['name'] = $value['name'];
             $item['type'] = $value['category_type'];
             $item['gc_id'] = $value['gc_id'];
-
             array_push($result, $item);
         }
         joutput_data(array("category" => $result));
     }
-
 }

+ 79 - 139
mobile/control/goods.php

@@ -18,6 +18,9 @@ class goodsControl extends mobileHomeControl
         parent::__construct();
     }
 
+    /**
+     * 初始化分页
+     */
     public function _initpage()
     {
         if (!empty($_GET['page'])) {
@@ -37,50 +40,40 @@ class goodsControl extends mobileHomeControl
     }
 
     /**
-     * 商品列表
+     * 商品列表接口
+     *
+     * 请求参数:
+     * key:
+     * order: 1-升序 2-降序
+     * page: 每页数量
+     * curpage: 当前页码
+     * gc_id: 分类编码
+     * keyword:搜索关键字
+     * brand_id: 品牌
+     * efficacy_id:功效查询
+     *
      */
     public function goods_listOp()
     {
         $model_goods = Model('goods');
-
         $this->_initpage();
-
         $condition = array();
-        if (!empty($_GET['gc_id'])) {
+        if (!empty(trim($_GET['gc_id']))) {
             $condition['gc_id'] = intval($_GET['gc_id']);
         }
-
-        // 关键字git
-        if (!empty($_GET['keyword'])) {
+        // 关键字
+        if (!empty(trim($_GET['keyword']))) {
             $condition['goods_name|goods_jingle'] = array('like', '%' . urldecode($_GET['keyword']) . '%');
         }
-
         // 品牌查询
-        if (!empty($_GET['brand_id'])) {
+        if (!empty(trim($_GET['brand_id']))) {
             $condition['brand_id'] = intval($_GET['brand_id']);
         }
-
         // 功效查询
-        if (!empty($_GET['efficacy_id'])) {
+        if (!empty(trim($_GET['efficacy_id']))) {
             $condition['efficacy_id'] = intval($_GET['efficacy_id']);
         }
 
-        // 彩妆护肤查询
-//        if (!empty($_GET['gc_id']) && !empty($_GET['type_id'])) {
-//
-//            $type_id = intval($_GET['type_id']);
-//            $gc_id = intval($_GET['gc_id']);
-//
-//            $goods_id_list = Model()->table('goods_attr_index')->field('distinct goods_id as goods_id')->where(array('type_id' => $type_id, 'gc_id' => $gc_id))->select();
-//
-//            $array_list = array();
-//            foreach ($goods_id_list as $value) {
-//                array_push($array_list, $value['goods_id']);
-//            }
-//
-//            $condition['goods_id'] = array('in',$array_list);
-//        }
-
         //所需字段
         $fieldstr = "goods_id,goods_commonid,store_id,brand_id,gc_id,goods_name,goods_price,goods_marketprice,goods_image,goods_salenum,evaluation_good_star,evaluation_count,goods_storage,goods_storage_alarm";
 
@@ -152,7 +145,6 @@ class goodsControl extends mobileHomeControl
      */
     private function _goods_list_extend($goods_list)
     {
-        //获取商品列表编号数组
         $commonid_array = array();
         $goodsid_array = array();
         foreach ($goods_list as $key => $value) {
@@ -160,7 +152,7 @@ class goodsControl extends mobileHomeControl
             $goodsid_array[] = $value['goods_id'];
 
             // image 切换为goods_common 表中数据
-            $condition['goods_commonid']=$value['goods_commonid'];
+            $condition['goods_commonid'] = $value['goods_commonid'];
             $goods_image = Model()->table('goods_common')->where($condition)->field('goods_image')->select();
             $goods_list[$key]['goods_image'] = $goods_image[0]['goods_image'];
         }
@@ -189,7 +181,7 @@ class goodsControl extends mobileHomeControl
             $goods_list[$key]['goods_image_url'] = cthumb($value['goods_image'], 360, $value['store_id']);
 
             unset($goods_list[$key]['store_id']);
-//            unset($goods_list[$key]['goods_commonid']);
+            //unset($goods_list[$key]['goods_commonid']);
             unset($goods_list[$key]['nc_distinct']);
             unset($goods_list[$key]['gc_id']);
             unset($goods_list[$key]['goods_marketprice']);
@@ -204,24 +196,22 @@ class goodsControl extends mobileHomeControl
             unset($goods_list[$key]['group_flag']);
             unset($goods_list[$key]['xianshi_flag']);
 
-            // 增加 品牌名
+            // 品牌名
             $brand = Model()->table("brand")->find($value['brand_id']);
             if (!empty($brand)) {
                 $value['brand_name'] = $brand['brand_name'];
             }
 
-            // 增加分类
+            // 分类
             $gc_info = Model()->table('goods_class')->find($value['gc_id']);
             if (!empty($gc_info)) {
                 $value['gc_name'] = $gc_info['gc_name'];
             }
 
-            // 增加功效列表
+            // 功效列表
             $goods_common = Model('goods');
             $goods_common_info = $goods_common->getGoodeCommonInfoByID($value['goods_commonid']);
             if (!empty($goods_common_info)) {
-
-                // 仅获取功效
                 $value['goods_attr'] = $this->_parse_for_efficacy(unserialize($goods_common_info['goods_attr']));
             }
         }
@@ -235,18 +225,16 @@ class goodsControl extends mobileHomeControl
     public function goods_commonOp()
     {
         $goods_id = intval($_GET ['goods_id']);
-        if(empty($_GET ['goods_id']) || $goods_id < 0) {
-            return joutput_error(errcode::ErrParamter,"goods_id = {$goods_id} must be > 0.");
+        if (empty($_GET ['goods_id']) || $goods_id < 0) {
+            return joutput_error(errcode::ErrParamter, "goods_id = {$goods_id} must be > 0.");
         }
-
         // 商品详细信息
         $model_goods = Model('goods')->cls();
         $goods_detail = $model_goods->getGoodsSku($goods_id);
         if (empty($goods_detail)) {
-            Log::record("goods_commonOp return NULL 1",Log::DEBUG);
-            return joutput_error(errcode::ErrGoodsNotExist,'商品不存在');
+            Log::record("goods_commonOp return NULL 1", Log::DEBUG);
+            return joutput_error(errcode::ErrGoodsNotExist);
         }
-
         //推荐商品
         $model_store = Model('store')->cls();
         $store_info = $model_store->getStoreInfoByID($goods_detail['goods_info']['store_id']);
@@ -283,7 +271,7 @@ class goodsControl extends mobileHomeControl
         unset($goods_detail['goods_info']['brand_name']);
         unset($goods_detail['goods_info']['type_id']);
         unset($goods_detail['goods_info']['goods_image']);
-//        unset($goods_detail['goods_info']['goods_body']);
+        //unset($goods_detail['goods_info']['goods_body']);
         unset($goods_detail['goods_info']['mobile_body']);
         unset($goods_detail['goods_info']['goods_state']);
         unset($goods_detail['goods_info']['goods_stateremark']);
@@ -301,7 +289,7 @@ class goodsControl extends mobileHomeControl
         unset($goods_detail['goods_info']['spec_value']);
         unset($goods_detail['goods_info']['spec_name']);
         unset($goods_detail['goods_info']['goods_spec']);
-//        unset($goods_detail['goods_info']['goods_attr']);
+        //unset($goods_detail['goods_info']['goods_attr']);
 
         unset($goods_detail['groupbuy_info']);
         unset($goods_detail['xianshi_info']);
@@ -311,6 +299,10 @@ class goodsControl extends mobileHomeControl
 
     /**
      * 商品详细页
+     *
+     * 输入参数:
+     * goods_id: 商品id
+     * from:目前说明是来自app还是h5
      */
     public function goods_detailOp()
     {
@@ -321,10 +313,10 @@ class goodsControl extends mobileHomeControl
         $model_goods = Model('goods');
         $goods_detail = $model_goods->getGoodsDetail($goods_id);
         if (empty($goods_detail)) {
-            return joutput_error(errcode::ErrGoodsNotExist,'商品不存在');
+            return joutput_error(errcode::ErrGoodsNotExist);
         }
 
-        //推荐商品
+        // 推荐商品
         $model_store = Model('store');
         $hot_sales = $model_store->getHotSalesList($goods_detail['goods_info']['store_id'], 6);
         $goods_commend_list = array();
@@ -357,14 +349,11 @@ class goodsControl extends mobileHomeControl
             $goods_detail['goods_info']['goods_spec_obj'] = $this->_parse_goods_spec($goods_detail['goods_info']['goods_spec']);
             $goods_detail['UPLOAD_SITE_URL'] = $GLOBALS['setting_config']['upload_site_url'];
         }
-
-
         //v3-b11 抢购商品是否开始
         $goods_info = $goods_detail['goods_info'];
         //print_r($goods_info);
         $IsHaveBuy = 0;
-        if (!empty($_COOKIE['username']))
-        {
+        if (!empty($_COOKIE['username'])) {
             $model_member = Model('member');
             $member_info = $model_member->getMemberInfo(array('member_name' => $_COOKIE['username']));
             $buyer_id = $member_info['member_id'];
@@ -396,7 +385,6 @@ class goodsControl extends mobileHomeControl
         }
         $goods_detail['IsHaveBuy'] = $IsHaveBuy;
         //v3-b11 end
-
         joutput_data($goods_detail);
     }
 
@@ -443,11 +431,20 @@ class goodsControl extends mobileHomeControl
         unset($goods_detail['goods_info']['cart']);
         unset($goods_detail['goods_info']['buynow_text']);
         unset($goods_detail['groupbuy_info']);
-//        unset($goods_detail['xianshi_info']);
+        //unset($goods_detail['xianshi_info']);
 
         return $goods_detail;
     }
 
+    /**
+     * 解析spec字段
+     *
+     * @param $spec_name
+     * @param $spec_value
+     * @param array $spec_image
+     * @param array $spec_list
+     * @return array
+     */
     private function _parse_spec($spec_name, $spec_value, $spec_image = [], $spec_list = [])
     {
         $spec = [];
@@ -471,6 +468,12 @@ class goodsControl extends mobileHomeControl
         return $spec;
     }
 
+    /**
+     * 解析商品属性字段
+     *
+     * @param $goods_attr
+     * @return array
+     */
     private function _parse_attributes($goods_attr)
     {
         $attributes = [];
@@ -495,14 +498,17 @@ class goodsControl extends mobileHomeControl
         return $attributes;
     }
 
-    // 从 attribute 中取得功效
+    /**
+     * 解析功效
+     *
+     * @param $goods_attr
+     * @return mixed
+     */
     private function _parse_for_efficacy($goods_attr)
     {
         foreach ($goods_attr as $key => $val) {
-
             $attr_item['goods_attr_id'] = intval($key);
             $attr_item['goods_attr_name'] = $val['name'];
-
             if ($attr_item['goods_attr_name'] === '功效') {
                 $goods_attr_value = array();
                 foreach ($val as $id => $name) {
@@ -513,13 +519,18 @@ class goodsControl extends mobileHomeControl
                     }
                 }
                 $attr_item['goods_attr_value'] = $goods_attr_value;
-
                 break;
             }
         }
         return $attr_item;
     }
 
+    /**
+     * 商品规格序列化解析
+     *
+     * @param $goods_spec
+     * @return array
+     */
     private function _parse_goods_spec($goods_spec)
     {
         $goods_spec_obj = [];
@@ -533,12 +544,13 @@ class goodsControl extends mobileHomeControl
     }
 
     /**
-     * 商品详细页
+     * 商品详细页(未启用)
      */
     public function goods_bodyOp()
     {
-        $goods_id = intval($_GET ['goods_id']);
+        return joutput_error(errcode::ErrProtocolDisabled);
 
+        $goods_id = intval($_GET ['goods_id']);
         $out_type = $_GET ['type'];
         $model_goods = Model('goods');
 
@@ -564,102 +576,30 @@ class goodsControl extends mobileHomeControl
     }
 
     /**
-     * 手机商品详细页
-     *
+     * 获取detail(未启用)
      */
-    public function wap_goods_bodyOp()
-    {
-        $goods_id = intval($_GET ['goods_id']);
-
-        $model_goods = Model('goods');
-
-        $goods_info = $model_goods->getGoodsInfoByID($goods_id, 'goods_id');
-        $goods_common_info = $model_goods->getMobileBodyByCommonID($goods_info['goods_commonid']);
-        Tpl:
-        output('goods_common_info', $goods_common_info);
-        Tpl::showpage('goods_body');
-    }
-
-    // 通过品牌列表获取商品
-    public function goods_list_by_brand()
-    {
-        $model_goods = Model('goods');
-
-        if (!empty($_GET['curpage'])) {
-            pagecmd('setnowpage', $_GET['curpage']);
-        }
-
-        //查询条件
-        $condition = array();
-        if (!empty($_GET['gc_id']) && intval($_GET['gc_id']) > 0) {
-            $condition['gc_id'] = $_GET['gc_id'];
-        } elseif (!empty($_GET['keyword'])) {
-            $condition['goods_name|goods_jingle'] = array('like', '%' . $_GET['keyword'] . '%');
-        }
-
-        //所需字段
-        $fieldstr = "goods_id,goods_commonid,goods_commonid,store_id,brand_id,gc_id,goods_name,goods_price,goods_marketprice,goods_image,goods_salenum,evaluation_good_star,evaluation_count";
-
-        // 添加3个状态字段
-        $fieldstr .= ',is_virtual,is_presell,is_fcode,have_gift';
-
-        //排序方式
-        $order = $this->_goods_list_order($_GET['key'], $_GET['order']);
-
-        //优先从全文索引库里查找
-
-        $goods_list = $model_goods->getGoodsListByColorDistinct($condition, $fieldstr, $order, $this->page);
-        $page_count = $model_goods->gettotalpage();
-
-        //处理商品列表(抢购、限时折扣、商品图片)
-        $goods_list = $this->_goods_list_extend($goods_list);
-
-        joutput_data(array('goods_list' => $goods_list, 'mobile_page' => mobile_page($page_count)));
-    }
-
-
-    public function goods_searchOp()
-    {
-        // 属性ID,类型ID
-        $attr_value_id = intval($_GET['attr_value_id']);
-        $type_id = intval($_GET['type_id']);
-
-        $fields = "distinct goods_commonid as goods_commonid";
-
-        // 功效
-        $goods_attr = Model()->table('goods_attr_index')->field($fields)->where(array('type_id' => $type_id, 'attr_value_id' => $attr_value_id))->select();
-
-        foreach ($goods_attr as $value) {
-
-        }
-    }
-
     public function detailOp()
     {
+        return joutput_error(errcode::ErrProtocolDisabled);
+
         $goods_id = intval($_GET['goods_id']);
-        if(empty($_GET['goods_id']) || $goods_id <= 0)
-        {
-            if(!empty($_GET['goods_commonid'])) {
+        if (empty($_GET['goods_id']) || $goods_id <= 0) {
+            if (!empty($_GET['goods_commonid'])) {
                 $commonid = intval($_GET['goods_commonid']);
             }
-        }
-        else
-        {
+        } else {
             $items = Model()->table('goods')->field('goods_commonid')->where(array('goods_id' => $goods_id))->limit(1)->select();
-            if(!empty($items) && count($items) > 0) {
+            if (!empty($items) && count($items) > 0) {
                 $commonid = intval($items[0]['goods_commonid']);
             }
         }
 
-
-        if(isset($commonid) && $commonid > 0)
-        {
+        if (isset($commonid) && $commonid > 0) {
             $items = Model()->table('goods_common')->field('goods_body')->where(array('goods_commonid' => $commonid))->select();
-            if(!empty($items) && count($items) > 0) {
-                Tpl::output('goods_body',$items[0]['goods_body']);
+            if (!empty($items) && count($items) > 0) {
+                Tpl::output('goods_body', $items[0]['goods_body']);
             }
         }
-
         Tpl::showpage('goods_detail');
     }
 }

+ 3 - 0
mobile/util/errcode.php

@@ -6,6 +6,8 @@ class errcode extends SplEnum
     
     const Success = 200;
 
+    const ErrProtocolDisabled      = 300;
+
     const ErrApptype  = 10000;
     const ErrParamter = 10001;
     const ErrLogin    = 10002;
@@ -50,6 +52,7 @@ class errcode extends SplEnum
     {
         switch ($code) {
             case errcode::Success: return 'Success';
+            case errcode::ErrProtocolDisabled: return 'ErrProtocolDisabled';
             case errcode::ErrApptype : return 'ErrApptype';
             case errcode::ErrLogin : return 'ErrLogin error password or phone';
             case errcode::ErrGenuser : return 'ErrGenuser';