文件
mashangyoujiu/Application/SmallProgramApi/Controller/DiyController.class.php

864 行
34 KiB
PHP
可执行文件

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

<?php
namespace SmallProgramApi\Controller;
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: POST");
header('Access-Control-Allow-Headers:x-requested-with,content-type');
use Common\Business\Plug;
use Common\Model\AdvanceGoodsModel;
use Common\Model\AdvanceSkuGoodsModel;
use Common\Model\RetailGiftCardCoverModel;
use Common\Model\RetailGiftCardModel;
use Common\Model\RetailGoodsModel;
use Common\Model\RetailGroupViewModel;
use Common\Model\RetailHostModel;
use Common\Model\RetailSpikeViewModel;
use Common\Model\RetailStoreXcxConfigModel;
use Common\Setting\Diy;
use Think\Controller;
use Common\Model\MerchantConfigModel;//商户基本配置表
use Common\Model\RetailMgoodsModel;//商户商品表
use Common\Model\ImageGalleryModel;//图库表
//[1.8.68]
/**
* 商城首页DIY数据获取
* Class DiyController
* @package SmallProgramApi\Controller
*/
//class DiyController extends BaseController
class DiyController extends Controller
{
static $store_id = 85;
static $merchant_id = 1;
static $uid = null;
public function _initialize()
{
// parent::_initialize(); // TODO: Change the autogenerated stub
if (I('post.merchant_id')) {
self::$merchant_id = I('post.merchant_id');
}
if (I('post.store_id')) {
self::$store_id = I('post.store_id');
}
if (empty(self::$store_id)) {
$res['status'] = 0;
$res['msg'] = '缺少门店ID';
$this->ajaxReturn($res);
}
}
/**
* 获取商城DIY数据(未分包版)
*/
public function getStoreDiy()
{
$Diy = new Diy(self::$store_id, self::$merchant_id);
$data = $Diy->getDiy();
$result = $data['data'];
if ($data['status'] != 1 || empty($result['data'])) {
$result['status'] = 0;
} else {
$result['status'] = 1;
}
//把地址改为未分包时的数据
if ($result['status'] == 1) {
$arr = array(
'\/pages\/lives\/lives' => '\/pages\/index\/lives\/lives',
'\/pages\/Coupon\/Coupon' => '\/pages\/index\/Coupon\/Coupon',
'\/pages\/Group-purchase-details\/Group-purchase-details' => '\/pages\/index\/Group-purchase-details\/Group-purchase-details',
'\/pages\/Group-purchase\/Group-purchase' => '\/pages\/index\/Group-purchase\/Group-purchase',
'\/pages\/Seckill-purchase-details\/Seckill-purchase-details' => '\/pages\/index\/Seckill-purchase-details\/Seckill-purchase-details',
'\/pages\/Seckill-purchase\/Seckill-purchase' => '\/pages\/index\/Seckill-purchase\/Seckill-purchase',
'\/pages\/advanceDetails\/advanceDetails' => '\/pages\/index\/advanceDetails\/advanceDetails',
'\/pages\/advanceSale\/advanceSale' => '\/pages\/index\/advanceSale\/advanceSale',
'\/pages\/MyCollect\/MyCollect' => '\/pages\/mine\/MyCollect\/MyCollect',
'\/pages\/card\/card' => '\/pages\/mine\/card\/card',
'\/pages\/gift_home\/gift_home' => '\/pages\/mine\/gift_home\/gift_home',
'\/pages\/gift_purchase\/gift_purchase' => '\/pages\/mine\/gift_purchase\/gift_purchase',
'\/pages\/recharge\/recharge' => '\/pages\/mine\/recharge\/recharge',
'\/pages\/subCard\/subCard' => '\/pages\/mine\/subCard\/subCard',
'\/pages\/MyAddress\/MyAddress' => '\/pages\/mine\/MyAddress\/MyAddress',
'\/pages\/plusHome\/plusHome' => '\/pages\/mine\/plusHome\/plusHome',
'\/pages\/details\/details' => '\/pages\/product\/details\/details',
'\/pages\/new-goods\/new-goods' => '\/pages\/product\/new-goods\/new-goods',
'\/pages\/plusGoods\/plusGoods' => '\/pages\/product\/plusGoods\/plusGoods',
'\/pages\/productList\/productList' => '\/pages\/product\/productList\/productList',
'\/pages\/promotion\/promotion' => '\/pages\/product\/promotion\/promotion',
);
foreach ($arr as $key => $value) {
$result['data'] = str_replace($value, $key, $result['data']);
}
}
$this->ajaxReturn($result);
}
/**
* 获取商城DIY数据(分包版)
*/
public function getStoreDiy_v1()
{
$Diy = new Diy(self::$store_id, self::$merchant_id);
$data = $Diy->getDiy();
$result = $data['data'];
if ($data['status'] != 1 || empty($result['data'])) {
$result['status'] = 0;
} else {
$result['status'] = 1;
}
$this->ajaxReturn($result);
}
/**
* 获取推荐商品
*/
public function getRecommendGoods()
{
if (IS_POST) {
$store_id = self::$store_id;
$ids = I('post.ids'); //商品ID
$StoreXcxConfigModel = new RetailStoreXcxConfigModel();
$sMap = array(
'storeid' => $store_id,
);
$sFields = array(
'recommend_status',
'promotion_status',
);
$store_config = $StoreXcxConfigModel->getFind($sMap, $sFields);
$GoodsModel = new RetailGoodsModel();
$gMap = [
'store_id' => $store_id,
'online_state' => 1,
'status' => 0,
'online_price' => ['gt', 0],
];
$gFields = [
'id as goods_id',
'goods_img_id',
'goods_name',
'online_price',
'company',
'attribute_state',
'plus_mem_status',//1开启 2关闭 plus会员价
'plus_price',//plus会员价
'shop_mem_status',
'shop_mem_price',
'store_mem_price',//店内会员价格
'store_mem_status',//是否开启店内会员价1.开启2关闭
];
$idsType = I('post.ids_type');//1:商户ids,2:门店ids
if($idsType == 1 && $ids !== ''){
//商户商品ids,替换成门店商品ids
$whereMid = [
'store_id'=>$store_id,//门店id
'status' => 0,//状态:0,正常,1,下架,2,删除。
'online_state' => 1,//是否在商城中出售:0,不在,1,在商城出售。
'online_price' => ['gt',0],//小程序商城价格
'm_goods_id' => ['in', $ids],//调拨商户的商品id
];
$fieldMid = 'id';
$orderMid = 'id desc';
//获取门店商品ids
$mIds = $GoodsModel->getOrderFindField($whereMid,$fieldMid,$orderMid,true);
$ids = implode(',', $mIds);//数组变成字符串
}
if (empty($ids)) {
//自动获取
$page = I('post.page') ? I('post.page') : 1;
$limit = I('post.limit') ? I('post.limit') : 10;
$HostModel = new RetailHostModel();
$map = array(
'h.status' => 1,
'h.type' => 1,
'g.store_id' => $store_id,
'g.online_state' => 1,
'g.status' => 0,
'g.online_price' => array('gt', 0),
);
if ($store_config['promotion_status'] == 1) {
//开启促销
$field = array(
'h.id as h_id',
'h.goods_id',
'h1.status as promotion_status',
'h1.act_price',
'g.goods_img_id',
'g.goods_name',
'g.online_price',
'g.attribute_state',
'g.plus_mem_status',//1开启 2关闭 plus会员价
'g.plus_price',//plus会员价
'g.shop_mem_status',
'g.shop_mem_price',
'g.company',
'g.store_mem_price',//店内会员价格
'g.store_mem_status',//是否开启店内会员价1.开启2关闭
);
$order = 'h.sort asc,h.id desc,g.goods_order asc,h1.act_price asc';
$goodsList = $HostModel->getOtherGoods($map, $field, $order, $page . ',' . $limit);
} else {
//未开启促销
$field = array(
'h.id as h_id',
'h.goods_id',
'g.goods_img_id',
'g.goods_name',
'g.online_price',
'g.attribute_state',
'g.plus_mem_status',//1开启 2关闭 plus会员价
'g.plus_price',//plus会员价
'g.shop_mem_status',
'g.shop_mem_price',
'g.company',
'g.store_mem_price',//店内会员价格
'g.store_mem_status',//是否开启店内会员价1.开启2关闭
);
$order = 'h.sort asc,g.goods_order asc,h.id desc';
$goodsList = $HostModel->getActGoods($map, $field, $order, $page . ',' . $limit);
}
$count = count($goodsList);
if ($count < 20) {
//推荐商品不足20个,补充普通商品
$appendGoods = $GoodsModel->getSelect($gMap, $gFields, 'goods_order asc,id desc', '1,' . bcsub(20, $count));
$goodsList = array_merge($goodsList, $appendGoods);
}
} else {
//根据选择的商品返回
if ($store_config['promotion_status'] == 1) {
//开启促销
$map = array(
'g.store_id' => $store_id,
'g.status' => 0,
'g.online_state' => 1,
'g.online_price' => array('gt', 0),
'g.id' => array('in', $ids)
);
$field = array(
'g.id as goods_id',
'g.goods_img_id',
'g.goods_name',
'g.online_price',
'g.attribute_state',
'g.plus_mem_status',//1开启 2关闭 plus会员价
'g.plus_price',//plus会员价
'g.shop_mem_status',
'g.shop_mem_price',
'g.company',
'h.act_price',
'h.status as promotion_status',
'g.store_mem_price',//店内会员价格
'g.store_mem_status',//是否开启店内会员价1.开启2关闭
);
$goodsList = $GoodsModel->getHostGoods($map, $field, 'g.goods_order asc,g.id desc', '1,20');
} else {
$map = array(
'store_id' => $store_id,
'status' => 0,
'online_state' => 1,
'online_price' => array('gt', 0),
'id' => array('in', $ids)
);
$field = array(
'id as goods_id',
'goods_img_id',
'goods_name',
'online_price',
'attribute_state',
'plus_mem_status',//1开启 2关闭 plus会员价
'plus_price',//plus会员价
'shop_mem_status',
'shop_mem_price',
'company',
'store_mem_price',//店内会员价格
'store_mem_status',//是否开启店内会员价1.开启2关闭
);
$goodsList = $GoodsModel->getSelect($map, $field, 'goods_order asc,id desc');
}
}
$Plug = new Plug();
// 判断商户是否开启分销插件
$PlugData = $Plug->PlugPermissions([
'merchant_id' => self::$merchant_id,
'identification_arr' => ['malldistribution']
]);
if (!empty($PlugData['data']['plug']['malldistribution'])) {
$OpenDistribution = 1;
}
if (!empty($goodsList)) {
foreach ($goodsList as &$val) {
$val['goods_img'] = getGoodsImage($val['goods_img_id'], $store_id);
$val['goods_img'] = $val['goods_img'] ? $val['goods_img'] : '';
$online_price = $val['online_price'];
if ($val['promotion_status'] && $val['act_price']) {
$online_price = $val['act_price'];
}
//首页展示预估佣金 待定
if (self::$uid && $OpenDistribution) {
$MiniDistributorController = new \Distribution\Controller\MiniDistributorController();
try {
$propReturnRes = $MiniDistributorController->disStorePropReturn(self::$uid, $val['id'], $online_price);
} catch (\Exception $e) {
}
if ($propReturnRes['status'] == 1) {
$val['disStoreProp'] = $propReturnRes['disStoreProp'];
}
}
unset($val['goods_img_id']);
}
$res['status'] = 1;
$res["msg"] = "获取成功";
$res['data'] = $goodsList;
} else {
$res['status'] = 1;
$res['data'] = [];
$res['msg'] = '暂无推荐商品';
}
} else {
$res['status'] = 0;
$res['msg'] = '网络错误';
}
$this->ajaxReturn($res);
}
//获取商户商品列表
public function merchantGoods(){
if (IS_POST) {
$merchant_id = self::$merchant_id;
$ids = I('post.ids'); //商品ID
$retailMgoods = new RetailMgoodsModel();
$map = array(
'merchantid' => $merchant_id,//门店id—>商户id
'status' => 0,//状态:0,正常,1,下架,2,删除。
'issellonline' => 1,//是否在商城中出售:0,不在,1,在商城出售。
'online_price' => array('gt', 0),//小程序商城价格
'id' => array('in', $ids)//商品ids
);
$field = array(
'id as goods_id',//门店商品id—>商户商品id
'goods_image_id as goods_img_id',//图片id
'goods_name',//商品名称
'online_price',//小程序商城价格—>线上价
'attribute as attribute_state',//是否开启sku :1不开启,2开启 —> 是否开启sku :1关闭,2开启
'plus_mem_status',//1开启 2关闭 plus会员价
'plus_price',//plus会员价
'shop_mem_status',//是否开启商城会员价1.开启2.关闭
'shop_mem_price',//商城会员价格
'store_mem_price',//店内会员价格
'store_mem_status',//是否开启店内会员价1.开启2关闭
);
$goodsList = $retailMgoods->getSelect($map, $field, 'goods_order asc,id desc');
$Plug = new Plug();
// 判断商户是否开启分销插件
$PlugData = $Plug->PlugPermissions([
'merchant_id' => $merchant_id,
'identification_arr' => ['malldistribution']
]);
if (!empty($PlugData['data']['plug']['malldistribution'])) {
$OpenDistribution = 1;
}
if (!empty($goodsList)) {
foreach ($goodsList as &$val) {
$val['goods_img'] = getGoodsImage($val['goods_img_id']);
$val['goods_img'] = $val['goods_img'] ? $val['goods_img'] : '';
$online_price = $val['online_price'];
if ($val['promotion_status'] && $val['act_price']) {
$online_price = $val['act_price'];
}
//首页展示预估佣金 待定
if (self::$uid && $OpenDistribution) {
$MiniDistributorController = new \Distribution\Controller\MiniDistributorController();
try {
$propReturnRes = $MiniDistributorController->disStorePropReturn(self::$uid, $val['id'], $online_price);
} catch (\Exception $e) {
}
if ($propReturnRes['status'] == 1) {
$val['disStoreProp'] = $propReturnRes['disStoreProp'];
}
}
unset($val['goods_img_id']);
}
$res['status'] = 1;
$res["msg"] = "获取成功";
$res['data'] = $goodsList;
} else {
$res['status'] = 1;
$res['data'] = [];
$res['msg'] = '暂无商品';
}
} else {
$res['status'] = 0;
$res['msg'] = '网络错误';
}
$this->ajaxReturn($res);
}
/**
* 获取秒杀活动
*/
public function getSeckill()
{
if (IS_POST) {
$ids = I('post.ids');
$page = I('post.page') ? I('post.page') : 1;
$limit = I('post.limit') ? I('post.limit') : 10;
// 实例化模型
$SpikeViewModel = new RetailSpikeViewModel();
$map = array(
'RetailSpike.storeid' => self::$store_id,
'RetailSpike.active_status' => 1,
'RetailSpike.active_endtime' => array('gt', time()),
'RetailGoods.status' => 0,
'RetailGoods.online_state' => 1
);
if (!empty($ids)) {
//指定活动
$map['RetailSpike.id'] = array('in', $ids);
$page = '';
$limit = '';
}
$field = array(
'id',
'active_title as act_name',
'spike_price',
'retail_price',
'goods_name',
'goods_brand_id',
'goods_img_id',
'company',
'weight_value',
'start_time',
'end_time'
);
// 查询秒杀活动
$spike_list = $SpikeViewModel->getSelect($map, $field, $page, $limit);
if (!$spike_list) {
$res = array(
'status' => 0,
'msg' => '暂无秒杀活动'
);
$this->ajaxReturn($res);
}
$BrandModel = new \Common\Model\RetailGoodsBrandModel();
// 处理数据
foreach ($spike_list as &$val) {
$val['spike_price'] = $val['spike_price'] ? number_format(floatval($val['spike_price']), 2) : 0;
// 商品图片
$val['goods_img'] = getGoodsImage($val['goods_img_id'], self::$store_id);
$val['goods_img'] = $val['goods_img'] ? $val['goods_img'] : '';
$goods_brand = '';
if (!empty($val['goods_brand_id'])) {
$goods_brand = $BrandModel->getFindField(['id' => $val['goods_brand_id']], 'name');
}
$val['broadcast'] = [
'title' => sprintf('%s %s %skg %s', $goods_brand, $val['goods_name'], (int)$val['weight_value'], $val['company']),
'startTime' => date('Y-m-d H:i:s', $val['start_time']),
'endTime' => date('Y-m-d H:i:s', $val['end_time']),
];
$val['time'] = time();
unset($val['goods_img_id']);
}
$res = array(
'status' => 1,
'msg' => '获取成功',
'data' => $spike_list,
);
$this->ajaxReturn($res);
} else {
$res = array(
'status' => 0,
'msg' => '网络错误'
);
$this->ajaxReturn($res);
}
}
/**
* 获取拼团活动
*/
public function getGroup()
{
if (IS_POST) {
$ids = I('post.ids');
$page = I('post.page') ? I('post.page') : 1;
$limit = I('post.limit') ? I('post.limit') : 10;
// 实例化模型
$GroupViewModel = new RetailGroupViewModel();
// 查询活动
$map = array(
'RetailGroup.storeid' => self::$store_id,
'RetailGroup.acttype' => 1,
'RetailGroup.endtime' => array('gt', time()),
'RetailGoods.status' => 0,
'RetailGoods.online_state' => 1
);
if (!empty($ids)) {
//指定活动
$map['RetailGroup.id'] = array('in', $ids);
$page = '';
$limit = '';
}
$field = array(
'id',
'act_name',
'act_price',
'goods_name',
'goods_img_id',
);
// 查询拼团活动
$group_list = $GroupViewModel->getSelect($map, $field, $page, $limit);
if (!$group_list) {
$res = array(
'status' => 0,
'msg' => '暂无拼团活动'
);
$this->ajaxReturn($res);
}
// 处理数据
foreach ($group_list as &$val) {
$val['act_price'] = $val['act_price'] ? floatval($val['act_price']) : 0;
$val['act_price'] = number_format($val['act_price'], 2);
// 商品图片
$val['goods_img'] = getGoodsImage($val['goods_img_id'], self::$store_id);
$val['goods_img'] = $val['goods_img'] ? $val['goods_img'] : '';
unset($val['goods_img_id']);
}
$res = array(
'status' => 1,
'msg' => '获取成功',
'data' => $group_list,
);
$this->ajaxReturn($res);
} else {
$res = array(
'status' => 0,
'msg' => '网络错误'
);
$this->ajaxReturn($res);
}
}
/**
* 获取促销商品
*/
public function getPromotion()
{
$page = I('post.page') ? I('post.page') : 1;
$limit = I('post.limit') ? I('post.limit') : 10;
$ids = I('post.ids');
$store_id = self::$store_id;
$StoreXcxConfigModel = new RetailStoreXcxConfigModel();
$map = array(
'storeid' => $store_id,
);
$promotion_status = $StoreXcxConfigModel->getFindField($map, 'promotion_status');
if (empty($promotion_status)) {
$res['status'] = 0;
$res['msg'] = '商家未开启促销功能';
$this->ajaxReturn($res);
}
$HostModel = new RetailHostModel();
//促销
$time = time();
$map = array(
'h.type' => 2,
'h.status' => 1,
'h.state' => 1,
'h.starttime' => array('elt', $time),
'h.endtime' => array('egt', $time),
'g.store_id' => $store_id,
'g.online_state' => 1,
'g.status' => 0,
);
$field = array(
'h.id',
'h.goods_id',
'h.act_price',
'g.goods_img_id',
'g.goods_name',
'g.online_price',
);
$order = 'h.id desc,g.id desc,h.act_price asc';
if (!empty($ids)) {
//获取指定促销活动
$map['h.id'] = array('in', $ids);
$promotion = $HostModel->getHostGoods_v1($map, $field, $order, '');
} else {
$promotion = $HostModel->getHostGoods_v1($map, $field, $order, $page . ',' . $limit);
}
foreach ($promotion as &$val) {
$val['goods_img'] = getGoodsImage($val['goods_img_id'], $store_id);
$val['goods_img'] = $val['goods_img'] ? $val['goods_img'] : '';
unset($val['goods_img_id']);
}
$res['status'] = 1;
$res['msg'] = '获取成功';
$res['data'] = $promotion;
$this->ajaxReturn($res);
}
/**
* 获取礼品卡
*/
public function getGiftCard()
{
$page = I('post.page') ? I('post.page') : 1;
$limit = I('post.limit') ? I('post.limit') : 10;
$ids = I('post.ids');
$merchant_id = self::$merchant_id;
$GiftCardModel = new RetailGiftCardModel();
$time = time();
$map = array(
'merchantid' => $merchant_id,
'status' => 1,
'state' => 1,
'start_time' => array('elt', $time),
'end_time' => array('gt', $time),
);
$fields = array(
'id',
'title',
);
if (!empty($ids)) {
//获取指定礼品卡
$map['id'] = array('in', $ids);
$list = $GiftCardModel->getSelect($map, $fields, 'id desc');
} else {
$list = $GiftCardModel->getSelect($map, $fields, 'id desc', $page . ',' . $limit);
}
if (!empty($list)) {
$GiftCardCoverModel = new RetailGiftCardCoverModel();
foreach ($list as &$val) {
$map = array(
'gift_cardid' => $val['id'],
'status' => 1,
'state' => 1,
);
$img_url_id = $GiftCardCoverModel->getOrderFindField($map, 'img_url_id', 'id desc');
$val['img_url'] = getImage($img_url_id);
}
$res['status'] = 1;
$res['msg'] = '获取成功';
$res['data'] = $list;
} else {
$res['status'] = 0;
$res['msg'] = '暂无礼品卡';
}
$this->ajaxReturn($res);
}
/**
* 预售活动列表
*/
public function getAdvanceList()
{
if (IS_POST) {
$data = I("post.");
$advance_model = new AdvanceGoodsModel();
$AdvanceSkuGoodsModel = new AdvanceSkuGoodsModel();
$page = $data['page'] ? $data['page'] : 1;
$limit = $data['limit'] ? $data['limit'] : 10;
$where = array(
'a.store_id' => self::$store_id,
'a.advance_state' => 1,
'a.advance_end_time' => array('gt', time()),
'g.status' => 0,
);
if (!empty($data['ids'])) {
//指定活动
$where['a.id'] = array('in', $data['ids']);
$page = '';
$limit = '';
}
$parameter = array(
'where' => $where,
'page' => $page,
'limit' => $limit,
'field' => array(
'a.id',
'a.goods_id',
'a.attribute_state',
'a.surplus_num',
'a.advance_type',
'a.advance_price',
'g.goods_name',
'g.goods_img_id',
)
);
$info = $advance_model->getList($parameter);
$advance_list = $info['data']['list'];
if ($info['status'] != 1 || !$advance_list) {
$res = array('status' => 0, 'msg' => '暂无预售活动');
$this->ajaxReturn($res);
}
$list = array();
foreach ($advance_list as $key => &$val) {
$frozen_param = array(
'id' => $val['id'],
'goods_id' => $val['goods_id'],
'sku_id' => '',
'attribute_state' => $val['attribute_state']
);
$frozen_num = $advance_model->frozen_num($frozen_param);
$val['surplus_num'] = round($val['surplus_num'] - $frozen_num, 3);
if ($val['surplus_num'] <= 0) {
continue;
}
switch ($val['attribute_state']) {
case 1:
$val['advance_price'] = number_format($val['advance_price'], 2);
break;
case 2:
$sku_info = $AdvanceSkuGoodsModel->where(array('advance_id' => $val['id'], 'goods_id' => $val['goods_id'], 'advance_state' => 1))->order("advance_price asc")->find();
$val['advance_price'] = $sku_info['advance_price'] ? number_format($sku_info['advance_price'], 2) : '';
break;
}
$val['goods_img'] = getGoodsImage($val['goods_img_id'], self::$store_id);
$val['goods_img'] = $val['goods_img'] ? $val['goods_img'] : '';
array_push($list, $val);
}
$res = array(
'status' => 1,
'msg' => '获取成功',
'data' => $list ? $list : array(),
);
} else {
$res = array(
'status' => 0,
'msg' => '请求方式有误'
);
}
$this->ajaxReturn($res);
}
/**
* 商户DIY
*/
//获取商户DIY设置
public function merchantDiy()
{
$merchantId = self::$merchant_id;//商户id
if (!$merchantId) {
$res = callBack(statusCode()['error'], '失败');
$this->ajaxReturn($res);
}
$merchantConfigModel = new MerchantConfigModel();
$where = [
'merchant_id' => $merchantId,
];
$fields = [
'merchant_diy'
];
$data = $merchantConfigModel->getFindField($where, $fields);//获取商户DIY
$plugClass = new Plug();
$result = $plugClass->PlugPermissions([
'merchant_id' => $merchantId,
'identification_arr' => [
'shopcoupon',//微信商家券插件
'wxpaycoupon',//微信支付代金券插件
'malldistribution',//分销插件,distribution_state
'presale',//预售插件,advance_state
'seckill',//秒杀插件,seckill_state
'group',//拼团插件,group_state
'giftcard',//礼品卡插件,gift_state
]
]);
//处理优惠券、商家券、代金券插件
$plug_state['coupon'] = array(
array('name' => '优惠券', 'type' => 1, 'status' => 1),
array('name' => '商家券', 'type' => 2, 'status' => (isset($result['data']['plug']['shopcoupon']) && $result['data']['plug']['shopcoupon'] > 0) ? 1 : 0),
array('name' => '代金券', 'type' => 3, 'status' => (isset($result['data']['plug']['wxpaycoupon']) && $result['data']['plug']['wxpaycoupon'] > 0) ? 1 : 0),
);
//处理分销插件
$plug_state['distribution_state'] = (isset($result['data']['plug']['malldistribution']) && $result['data']['plug']['malldistribution'] > 0) ? 1 : 0;
//处理预售插件
$plug_state['advance_state'] = (isset($result['data']['plug']['presale']) && $result['data']['plug']['presale'] > 0) ? 1 : 0;
//处理秒杀插件
$plug_state['seckill_state'] = (isset($result['data']['plug']['seckill']) && $result['data']['plug']['seckill'] > 0) ? 1 : 0;
//处理拼团插件
$plug_state['group_state'] = (isset($result['data']['plug']['group']) && $result['data']['plug']['group'] > 0) ? 1 : 0;
//礼品卡插件
$plug_state['gift_state'] = (isset($result['data']['plug']['giftcard']) && $result['data']['plug']['giftcard'] > 0) ? 1 : 0;
$plug_state['promotion_state'] = 1;//处理促销状态
if ($data) {
$res = callBack(statusCode()['success'], '成功', $data);
} else {
$res = callBack(statusCode()['error'], '失败');
}
$res['plug_state'] = $plug_state;
$this->ajaxReturn($res);
}
//获取商户商品列表
public function mGoodsList()
{
$keyword = I('post.keyword');
$merchantId = I('post.merchant_id') ? I('post.merchant_id') : 1;
$page = I('post.page') ? I('post.page') : 1;
$limit = I('post.limit') ? I('post.limit') : 10;
$ids = I('post.ids');
$map = array(
'merchantid' => $merchantId,//商户id
'status' => 0,//状态:0,正常,1,下架,2,删除。
'issellonline' => 1,//是否在商城中出售:0,不在,1,在商城出售。
'online_price' => array('gt', 0),//线上价
);
if ($keyword) {
$map['goods_name|goods_code|good_number'] = array('like', '%' . $keyword . '%');
}
if($ids){
$map['id'] = array('not in', $ids);//商品ids
}
$fields = array(
'id',
'goods_name',//零售货物名称。
'goods_code',//商品条码。
'good_number',//货号
'goods_image_id',//商品图片id
'online_price',//线上价
'addtime',//添加时间
);
$order = 'id desc';
$GoodsModel = new RetailMgoodsModel();
$goods = $GoodsModel->getSelect($map, $fields, $order, "{$page},{$limit}");//获取商品列表
$count = $GoodsModel->getCount($map);//获取商品数量
$ImageGalleryModel = new ImageGalleryModel();
foreach ($goods as &$value) {
$value['add_time'] = date('Y-m-d H:i:s', $value['addtime']);
$value['goods_code'] = $value['goods_code'] ? $value['goods_code'] : '---';
$value['goods_number'] = $value['good_number'] ? $value['good_number'] : '---';
$value['goods_img'] = $ImageGalleryModel->getImagePath($value['goods_image_id']);
$value['goods_img'] = $value['goods_img'] ? $value['goods_img'] : '';
unset($value['goods_image_id'],$value['good_number'],$value['addtime']);
}
$res['status'] = 1;
$res['msg'] = empty($goods) ? '暂无数据' : '获取成功';
$res['count'] = $count;
$res['data'] = $goods;
$this->ajaxReturn($res);
}
}