addCollect($data); } else { $res['status'] = 0; $res['msg'] = '网络错误'; } $this->ajaxReturn($res); } /* * 取消收藏 * */ public function cancelCollect() { if (IS_POST) { $CollectModel = D('RetailCollect'); $data = I("post."); $res = $CollectModel->cancelCollect($data); } else { $res['status'] = 0; $res['msg'] = '网络错误'; } $this->ajaxReturn($res); } /* * 收藏列表 * */ public function myCollectList() { if (IS_POST) { $CollectModel = D('RetailCollect'); $GoodsModel = D('RetailGoods'); $uid = self::$uid; $store_id = self::$store_id; $user_type = self::$user['user_type']; $where['c.' . $CollectModel::UID] = $uid; $where['c.' . $CollectModel::STORE_ID] = $store_id; $where['g.' . $GoodsModel::ONLINE_STATE] = 1; $where['g.' . $GoodsModel::STATUS] = 0; $field = array( 'c.*', 'g.' . $GoodsModel::ONLINE_PRICE, 'g.' . $GoodsModel::RETAIL_PRICE, 'g.' . $GoodsModel::GOODS_NAME, 'g.' . $GoodsModel::GOODS_IMG_ID, 'g.' . $GoodsModel::SHOP_MEM_STATUS, 'g.' . $GoodsModel::SHOP_MEM_PRICE, 'g.' . $GoodsModel::PLUS_MEM_STATUS, 'g.' . $GoodsModel::PLUS_PRICE ); $collect = $CollectModel->getGoods($where, $field, 'c.' . $CollectModel::ADD_TIME . ' desc'); if ($collect) { foreach ($collect as $key => &$val) { if (!$val[$GoodsModel::ONLINE_PRICE] || floatval($val[$GoodsModel::ONLINE_PRICE]) < 0.01) { $val[$GoodsModel::ONLINE_PRICE] = $val[$GoodsModel::RETAIL_PRICE]; } $val['goods_img'] = $this->getGoodsImage($val[$GoodsModel::GOODS_IMG_ID]); } $res['user_type'] = $user_type; $res['status'] = 1; $res['my_collect'] = $collect; } else { $res['status'] = 0; $res['msg'] = '暂无收藏'; } } else { $res['status'] = 0; $res['msg'] = '网络错误'; } $this->ajaxReturn($res); } /* * 2019-11-23收藏列表 * */ public function myCollectList_v1() { if (IS_POST) { $CollectModel = D('RetailCollect'); $GoodsModel = D('RetailGoods'); $uid = self::$uid; $store_id = self::$store_id; $user_type = self::$user['user_type']; $XcxConfigModel = D('RetailStoreXcxConfig'); $page = I('post.page') ? I('post.page') : 1; $limit = 10; $promotion_status = $XcxConfigModel->getFindField(array($XcxConfigModel::STORE_ID => $store_id), $XcxConfigModel::PROMOTION_STATUS); if ($promotion_status == 1) { $map = array( 'c.' . $CollectModel::UID => $uid, 'c.' . $CollectModel::STORE_ID => $store_id, 'g.' . $GoodsModel::ONLINE_STATE => 1, 'g.' . $GoodsModel::STATUS => 0, ); $HostModel = D('RetailHost'); $field = array( 'c.*', 'g.' . $GoodsModel::ONLINE_PRICE, 'g.' . $GoodsModel::RETAIL_PRICE, 'g.' . $GoodsModel::GOODS_NAME, 'g.' . $GoodsModel::GOODS_IMG_ID, 'g.' . $GoodsModel::SHOP_MEM_STATUS, 'g.' . $GoodsModel::SHOP_MEM_PRICE, 'g.' . $GoodsModel::PLUS_MEM_STATUS, 'g.' . $GoodsModel::PLUS_PRICE, 'h.' . $GoodsModel::STATUS, 'h.' . $HostModel::ACT_PRICE, ); $collect = $CollectModel->getPromotionGoods($map, $field, 'c.' . $CollectModel::ID . ' desc', $page . ',' . $limit); } else { $map = array( 'c.' . $CollectModel::UID => $uid, 'c.' . $CollectModel::STORE_ID => $store_id, 'g.' . $GoodsModel::ONLINE_STATE => 1, 'g.' . $GoodsModel::STATUS => 0, ); $field = array( 'c.*', 'g.' . $GoodsModel::ONLINE_PRICE, 'g.' . $GoodsModel::RETAIL_PRICE, 'g.' . $GoodsModel::GOODS_NAME, 'g.' . $GoodsModel::GOODS_IMG_ID, 'g.' . $GoodsModel::SHOP_MEM_STATUS, 'g.' . $GoodsModel::SHOP_MEM_PRICE, 'g.' . $GoodsModel::PLUS_MEM_STATUS, 'g.' . $GoodsModel::PLUS_PRICE, ); $collect = $CollectModel->getGoods($map, $field, 'c.' . $CollectModel::ID . ' desc', $page . ',' . $limit); } if ($collect) { $collect_goods = array(); foreach ($collect as $key => &$val) { switch ($val['type']) { case 1: if (!$val[$GoodsModel::ONLINE_PRICE] || floatval($val[$GoodsModel::ONLINE_PRICE]) < 0.01) { $val[$GoodsModel::ONLINE_PRICE] = $val[$GoodsModel::RETAIL_PRICE]; } break; case 4: //预售活动 $info = D("AdvanceGoods")->getAdvancePrice(array('id' => $val['activity_id'])); if ($info['status'] == 0) { continue; } $val[$GoodsModel::ONLINE_PRICE] = $info['advance_price']; break; } $val['goods_img'] = $this->getGoodsImage($val[$GoodsModel::GOODS_IMG_ID]); array_push($collect_goods, $val); } $res['user_type'] = $user_type; $res['status'] = 1; $res['my_collect'] = $collect_goods; } else { $res['status'] = 1; $res['my_collect'] = []; $res['msg'] = '暂无收藏'; } $res['limit'] = $limit; } else { $res['status'] = 0; $res['msg'] = '网络错误'; } $this->ajaxReturn($res); } /** * 2020-5-22收藏列表(不限门店) */ public function myCollectList_v2() { if (IS_POST) { $CollectModel = new RetailCollectModel(); $GoodsModel = new RetailGoodsModel(); $uid = self::$uid; $store_id = self::$store_id; $user_type = self::$user['user_type']; $XcxConfigModel = new RetailStoreXcxConfigModel(); $page = I('post.page') ? I('post.page') : 1; $limit = 10; $promotion_status = $XcxConfigModel->getFindField(array($XcxConfigModel::STORE_ID => $store_id), $XcxConfigModel::PROMOTION_STATUS); if ($promotion_status == 1) { $map = array( 'c.' . $CollectModel::UID => $uid, 'g.' . $GoodsModel::ONLINE_STATE => 1, 'g.' . $GoodsModel::STATUS => 0, ); $HostModel = new RetailHostModel(); $field = array( 'c.*', 'g.' . $GoodsModel::ONLINE_PRICE, 'g.' . $GoodsModel::RETAIL_PRICE, 'g.' . $GoodsModel::GOODS_NAME, 'g.' . $GoodsModel::GOODS_IMG_ID, 'g.' . $GoodsModel::SHOP_MEM_STATUS, 'g.' . $GoodsModel::SHOP_MEM_PRICE, 'g.' . $GoodsModel::PLUS_MEM_STATUS, 'g.' . $GoodsModel::PLUS_PRICE, 'g.' . $GoodsModel::STORE_ID, 'h.' . $GoodsModel::STATUS, 'h.' . $HostModel::ACT_PRICE, ); $collect = $CollectModel->getPromotionGoods($map, $field, 'c.' . $CollectModel::ID . ' desc', $page . ',' . $limit); } else { $map = array( 'c.' . $CollectModel::UID => $uid, 'g.' . $GoodsModel::ONLINE_STATE => 1, 'g.' . $GoodsModel::STATUS => 0, ); $field = array( 'c.*', 'g.' . $GoodsModel::ONLINE_PRICE, 'g.' . $GoodsModel::RETAIL_PRICE, 'g.' . $GoodsModel::GOODS_NAME, 'g.' . $GoodsModel::GOODS_IMG_ID, 'g.' . $GoodsModel::SHOP_MEM_STATUS, 'g.' . $GoodsModel::SHOP_MEM_PRICE, 'g.' . $GoodsModel::PLUS_MEM_STATUS, 'g.' . $GoodsModel::PLUS_PRICE, 'g.' . $GoodsModel::STORE_ID, ); $collect = $CollectModel->getGoods($map, $field, 'c.' . $CollectModel::ID . ' desc', $page . ',' . $limit); } if ($collect) { $AdvanceGoodsModel = new AdvanceGoodsModel(); $storeList = array(); $StoreModel = new RetailStoreModel(); foreach ($collect as &$val) { switch ($val['type']) { case 1: if (!$val[$GoodsModel::ONLINE_PRICE] || floatval($val[$GoodsModel::ONLINE_PRICE]) < 0.01) { $val[$GoodsModel::ONLINE_PRICE] = $val[$GoodsModel::RETAIL_PRICE]; } break; case 4: //预售活动 $info = $AdvanceGoodsModel->getAdvancePrice(array('id' => $val['activity_id'])); if ($info['status'] == 0) { continue; } $val[$GoodsModel::ONLINE_PRICE] = $info['advance_price']; break; } $val['goods_img'] = $this->getGoodsImage($val[$GoodsModel::GOODS_IMG_ID]); //门店图片 if ($storeList[$val['store_id']]) { $val['store_name'] = $storeList[$val['store_id']]['store_name']; $val['store_image'] = $storeList[$val['store_id']]['store_image']; } else { $store = $StoreModel->getFind(array('id' => $val['store_id']), 'storetag as store_name,shopimg_id'); $store['store_image'] = getImage($store['shopimg_id']); $val['store_name'] = $store['store_name']; $val['store_image'] = $store['store_image']; $storeList[$val['store_id']] = $store; } } $res['user_type'] = $user_type; $res['status'] = 1; $res['my_collect'] = $collect; } else { $res['status'] = 1; $res['my_collect'] = []; $res['msg'] = '暂无收藏'; } $res['limit'] = $limit; } else { $res['status'] = 0; $res['msg'] = '网络错误'; } $this->ajaxReturn($res); } }