298 行
12 KiB
PHP
可执行文件
298 行
12 KiB
PHP
可执行文件
<?php
|
|
|
|
namespace SmallProgramApi\Controller;
|
|
|
|
//[1.4.70]
|
|
|
|
use Common\Model\AdvanceGoodsModel;
|
|
use Common\Model\RetailCollectModel;
|
|
use Common\Model\RetailGoodsModel;
|
|
use Common\Model\RetailHostModel;
|
|
use Common\Model\RetailStoreModel;
|
|
use Common\Model\RetailStoreXcxConfigModel;
|
|
|
|
class CollectController extends BaseController
|
|
{
|
|
|
|
/*
|
|
* 加入收藏
|
|
* */
|
|
public function addCollect()
|
|
{
|
|
if (IS_POST) {
|
|
$CollectModel = D('RetailCollect');
|
|
$data = I("post.");
|
|
$res = $CollectModel->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);
|
|
}
|
|
} |