Parcourir la source

调试好我的收藏接口

stanley-king il y a 8 ans
Parent
commit
fc59e19f7a

+ 2 - 1
admin/control/message.php

@@ -7,7 +7,8 @@
  **by 好商城V3 www.33hao.com 运营版*/
 
 defined('InShopNC') or exit('Access Invalid!');
-class messageControl extends SystemControl{
+class messageControl extends SystemControl
+{
 	private $links = array(
 		array('url'=>'act=message&op=email','lang'=>'email_set'),
 		//V3-B11

+ 0 - 4
helper/goods_helper.php

@@ -38,11 +38,7 @@ class goods_helper
     public function get_infos($goods_ids)
     {
         $goods_list = Model('goods')->cls()->getGoodsOnlineList(array('goods_id' => array('in', $goods_ids)),self::fieldstr);
-        //perfor_end("get_infos");
-
         $goods_list = $this->goods_list_extend($goods_list);
-        //perfor_end("goods_list_extend");
-
         return $goods_list;
     }
 

+ 13 - 0
helper/model/goods_common.php

@@ -140,6 +140,7 @@ class goods_common extends common_base
     private $goods_list;
     private $goods_ids;
     private $show_gid;
+    private $favored;
 
     public function __construct($common_info,$goods_list,$show_gid)
     {
@@ -152,6 +153,7 @@ class goods_common extends common_base
         } else {
             $this->show_gid = $this->goods_ids[0];
         }
+        $this->favored = $this->has_favored();
     }
 
     public function goods_ids()
@@ -192,7 +194,18 @@ class goods_common extends common_base
         $ret = array_merge($base_info,$spec);
         $ret['images'] = $this->goods_images();
         $ret['show_goods'] = $this->show_gid;
+        $ret['favored'] = $this->favored;
 
         return $ret;
     }
+    private function has_favored()
+    {
+        $mod_fav = Model('favorites');
+        $favorites_info = $mod_fav->getOneFavorites(array('fav_id' => $this->commonid, 'fav_type' => 'goods', 'member_id' => $_SESSION['member_id']));
+        if (empty($favorites_info)) {
+            return false;
+        } else {
+            return true;
+        }
+    }
 }

+ 9 - 0
helper/session_helper.php

@@ -262,4 +262,13 @@ class session_helper
 
         return $ar_contact;
     }
+
+    static public function favored($favor_type,$favor_id)
+    {
+
+    }
+    static public function add_favorite($favor_type,$favor_id)
+    {
+
+    }
 }

+ 73 - 22
mobile/control/member_favorites.php

@@ -12,8 +12,12 @@
 
 defined('InShopNC') or exit('Access Invalid!');
 
+require_once (BASE_ROOT_PATH . '/helper/goods_helper.php');
+require_once (BASE_ROOT_PATH . '/helper/special_helper.php');
+
 class member_favoritesControl extends mbMemberControl
 {
+    static $stTypes = array('goods','brand');
 
     public function __construct()
     {
@@ -22,34 +26,78 @@ class member_favoritesControl extends mbMemberControl
 
     public function indexOp()
     {
-        $model_favorites = Model('favorites');
-        $favorites_list = $model_favorites->getGoodsFavoritesList(array('member_id' => $_SESSION['member_id']), '*', $this->page_size);
-        $page_count = $model_favorites->gettotalpage();
-        $favorites_id = '';
-        foreach ($favorites_list as $value) {
-            $favorites_id .= $value['fav_id'] . ',';
+        $mod_favorites = Model('favorites');
+        $favorites  = $mod_favorites->getGoodsFavoritesList(array('member_id' => $_SESSION['member_id']), '*', $this->page_size);
+        $page_count = $mod_favorites->gettotalpage();
+
+        $gids = [];
+        foreach ($favorites as $item)
+        {
+            if($item['fav_type'] == 'goods') {
+                $gids[] = intval($item['fav_id']);
+            }
+            elseif($item['fav_type'] == 'brand') {
+
+            }
+            else {
+                continue;
+            }
         }
-        $favorites_id = rtrim($favorites_id, ',');
-
-        $model_goods = Model('goods');
-        $field = 'goods_id,goods_name,goods_price,goods_image,store_id';
-        $goods_list = $model_goods->getGoodsList(array('goods_id' => array('in', $favorites_id)), $field);
-        foreach ($goods_list as $key => $value) {
-            $goods_list[$key]['fav_id'] = $value['goods_id'];
-            $goods_list[$key]['goods_image_url'] = cthumb($value['goods_image'], 240, $value['store_id']);
+
+        if(empty($gids))
+        {
+            return self::outsuccess(array('special_list' => null,
+                'summary'  => null,
+                'groupbuy' => null,
+                'limitime' => null,
+                'bundling' => null,
+                'mobile_page' => mobile_page($page_count)));
         }
 
-        output_data(array('favorites_list' => $goods_list), mobile_page($page_count));
+        $helper = new goods_helper();
+        $ret = $helper->cart_summary($gids,$related_goods);
+        $blocks = $this->format($gids,$ret['sort_summary']);
+
+        return self::outsuccess(array('special_list' => $blocks,
+            'summary'  => $ret['summary'],
+            'groupbuy' => $ret['groupbuy'],
+            'limitime' => $ret['limitime'],
+            'bundling' => $ret['bundling'],
+            'mobile_page' => mobile_page($page_count)));
     }
 
-    public function addOp()
+    private function format($goods_ids,$sort_summary)
     {
-        static $stTypes = array('goods','brands');
+        $result = [];
 
+        foreach ($goods_ids as $goods_id)
+        {
+            $block = [];
+            $block['item_title'] = '';
+            $block['item_type'] = 'home1';
+
+            $summary = $sort_summary[$goods_id];
+            $item['image'] = $summary['goods_image_url'];
+            $item['show_type'] = "favorite";
+            $item['show_data'] = strval($goods_id);
+            $item['type'] = "goods";
+            $item['data'] = strval($goods_id);
+            $item['title'] = $summary['goods_mobile_name'];
+
+            $block['items'][] = $item;
+            $result[] = $block;
+            $result[] = special_formater::def_divider();
+        }
+
+        return $result;
+    }
+
+    public function addOp()
+    {
         $fav_type = $_POST['fav_type'];
-        $fav_id   = intval($_POST['data_id']);
+        $fav_id   = intval($_POST['fav_id']);
 
-        if ($fav_id <= 0 || empty($fav_type) || !in_array($fav_type,$stTypes)) {
+        if ($fav_id <= 0 || empty($fav_type) || !in_array($fav_type,self::$stTypes)) {
             return self::outerr(errcode::ErrParamter,"参数错误");
         }
 
@@ -82,20 +130,23 @@ class member_favoritesControl extends mbMemberControl
             }
         }
     }
+
     public function delOp()
     {
         $fav_id = intval($_POST['fav_id']);
-        if ($fav_id <= 0) {
+        $fav_type = $_POST['fav_type'];
+
+        if ($fav_id <= 0 || empty($fav_type) || !in_array($fav_type,self::$stTypes)) {
             return self::outerr(errcode::ErrParamter,"参数错误");
         }
 
         $model_favorites = Model('favorites');
-        $ret = $model_favorites->delFavorites(array('autofv_id' => $fav_id,'member_id' => $_SESSION['member_id']));
+        $ret = $model_favorites->delFavorites(array('fav_id' => $fav_id,'fav_type' => $fav_type, 'member_id' => $_SESSION['member_id']));
         if($ret == false) {
             return self::outerr(errcode::ErrParamter,"该收藏不存在或者已经被删除.");
         }
         else {
-            return self::outsuccess(null);
+            return self::outsuccess(array('fav_id' => $fav_id));
         }
     }
 }