文件
mashangyoujiu/Application/SmallProgramApi/Controller/CollectController.class.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);
}
}