181 lines
6.8 KiB
PHP
181 lines
6.8 KiB
PHP
<?php
|
|
|
|
namespace addon\saas\shop\controller;
|
|
|
|
use app\model\goods\Goods as GoodsModel;
|
|
use app\model\system\Document;
|
|
use addon\saas\model\Config;
|
|
|
|
class Goods extends SaasBase
|
|
{
|
|
/***
|
|
* 商品列表
|
|
* @return mixed
|
|
*/
|
|
public function lists()
|
|
{
|
|
if (request()->isAjax()) {
|
|
return $this->getGoodsPageList();
|
|
}
|
|
$this->forthMenu();
|
|
$this->assign('isp_commission', 1);
|
|
return $this->fetch('goods/lists');
|
|
}
|
|
|
|
public function editgoods()
|
|
{
|
|
if (request()->isAjax()) {
|
|
$isp_commission = input('isp_commission', 0);
|
|
$site_id = input('site_id');
|
|
$goods_id = input('goods_id');
|
|
if ($site_id && $goods_id && $this->site_id == model('site')->getValue(['site_id' => $site_id], 'agent_id')) {
|
|
$where = [
|
|
['goods_id', '=', $goods_id],
|
|
['site_id', '=', $site_id],
|
|
];
|
|
$res = model('goods')->update(['isp_commission' => $isp_commission], $where);
|
|
if ($res) {
|
|
return success(0, '编辑成功');
|
|
} else {
|
|
return error(-1, '无可更新信息');
|
|
}
|
|
} else {
|
|
return error(-1, '无权限');
|
|
}
|
|
}
|
|
}
|
|
|
|
/***
|
|
* 商品审核
|
|
* @return mixed
|
|
*/
|
|
public function applylists()
|
|
{
|
|
if (request()->isAjax()) {
|
|
return $this->getGoodsPageList();
|
|
}
|
|
$this->forthMenu();
|
|
$this->assign('isp_commission', 0);
|
|
return $this->fetch('goods/lists');
|
|
}
|
|
|
|
protected function getGoodsPageList()
|
|
{
|
|
$goods_model = new GoodsModel();
|
|
$page_index = input('page', 1);
|
|
$page_index = intval($page_index);
|
|
$page_size = input('page_size', PAGE_LIST_ROWS);
|
|
$search_text = input('search_text', "");
|
|
$goods_state = input('goods_state', "");
|
|
$start_sale = input('start_sale', 0);
|
|
$end_sale = input('end_sale', 0);
|
|
$start_price = input('start_price', 0);
|
|
$end_price = input('end_price', 0);
|
|
$sku_start_price = input('sku_start_price', 0);
|
|
$sku_end_price = input('sku_end_price', 0);
|
|
$goods_class = input('goods_class', "");
|
|
$label_id = input('label_id', "");
|
|
$brand_id = input('brand_id', "");
|
|
$order = input('order', '');
|
|
$sort = input('sort', 'asc');
|
|
$sku_no = input('sku_no', '');
|
|
$promotion_type = input('promotion_type', "");
|
|
$category_id = input('category_id', "");
|
|
$stockalarm = input('stockalarm', 0);
|
|
$isp_commission = input('isp_commission', 0);
|
|
$site_ids = model('site')->getColumn(['agent_id' => $this->site_id], 'site_id');
|
|
$condition = [
|
|
['site_id', 'in', $site_ids]
|
|
];
|
|
if ($isp_commission) {
|
|
$condition[] = ['isp_commission', '>', 0];
|
|
} else {
|
|
$condition[] = ['isp_commission', '<=', 0];
|
|
}
|
|
if (!empty($search_text)) {
|
|
$condition[] = ['goods_name', 'like', '%' . $search_text . '%'];
|
|
}
|
|
if (!empty($category_id)) {
|
|
$condition[] = ['category_id', 'like', '%,' . $category_id . ',%'];
|
|
}
|
|
if ($goods_class !== "") {
|
|
$condition[] = ['goods_class', '=', $goods_class];
|
|
}
|
|
if (!empty($label_id)) {
|
|
$condition[] = ['label_id', '=', $label_id];
|
|
}
|
|
if (!empty($brand_id)) {
|
|
$condition[] = ['brand_id', '=', $brand_id];
|
|
}
|
|
if (!empty($promotion_type)) {
|
|
$condition[] = ['promotion_addon', 'like', "%{$promotion_type}%"];
|
|
}
|
|
// 上架状态
|
|
if ($goods_state !== '') {
|
|
$condition[] = ['goods_state', '=', $goods_state];
|
|
}
|
|
if (!empty($start_sale)) $condition[] = ['sale_num', '>=', $start_sale];
|
|
if (!empty($end_sale)) $condition[] = ['sale_num', '<=', $end_sale];
|
|
if (!empty($start_price)) $condition[] = ['price', '>=', $start_price];
|
|
if (!empty($end_price)) $condition[] = ['price', '<=', $end_price];
|
|
if (!empty($sku_start_price)) $condition[] = ['sku.price', '>=', $sku_start_price];
|
|
if (!empty($sku_end_price)) $condition[] = ['sku.price', '<=', $sku_end_price];
|
|
// 查询库存预警的商品
|
|
if ($stockalarm) {
|
|
$stock_alarm = $goods_model->getGoodsStockAlarm($this->site_id);
|
|
if (!empty($stock_alarm['data'])) {
|
|
$condition[] = ['goods_id', 'in', $stock_alarm['data']];
|
|
} else {
|
|
return success(0, '', ['page_count' => 1, 'count' => 0, 'list' => []]);
|
|
}
|
|
}
|
|
if (!empty($sku_no)) {
|
|
$goods_sku_list = $goods_model->getGoodsSkuList([['sku_no', 'like', '%' . $sku_no . '%']], 'goods_id')['data'];
|
|
$goods_id_arr = array_unique(array_column($goods_sku_list, 'goods_id'));
|
|
$condition[] = ['goods_id', 'in', $goods_id_arr];
|
|
}
|
|
$order_by = 'create_time desc';
|
|
if ($order != '') {
|
|
if ($order == 'sort') {
|
|
$order_by = $order . ' ' . $sort . ',create_time desc';
|
|
} else {
|
|
$order_by = $order . ' ' . $sort;
|
|
}
|
|
}
|
|
$field = 'goods_id,goods_name,site_id,site_name,goods_image,goods_state,price,goods_stock,goods_stock_alarm,isp_commission,create_time,sale_num,is_virtual,goods_class,goods_class_name,is_fenxiao,fenxiao_type,promotion_addon,sku_id,is_consume_discount,is_zmxx,discount_config,discount_method,sort,label_id,is_delete,label_name,virtual_deliver_type';
|
|
$res = $goods_model->getGoodsPageList($condition, $page_index, $page_size, $order_by, $field);
|
|
return $res;
|
|
}
|
|
|
|
|
|
/***
|
|
* 系统模版
|
|
* @return array|mixed
|
|
*/
|
|
public function template()
|
|
{
|
|
$config = new Config();
|
|
if (request()->isAjax()) {
|
|
$content = input('goods_content', '');
|
|
$goods_title = input('goods_title', '');
|
|
$goods_images = input('goods_images', '');
|
|
$use_rule= input('use_rule', '');
|
|
$data=[
|
|
'goods_title'=>$goods_title,
|
|
'goods_images'=>$goods_images,
|
|
'use_rule'=>$use_rule,
|
|
'goods_content'=>$content,
|
|
];
|
|
$res =$config->setTemplate($data, $this->site_id);
|
|
return $res;
|
|
}
|
|
$this->forthMenu();
|
|
$data=$config->getTemplate($this->site_id);
|
|
$this->assign('goods_title', $data['data']['value']['goods_title']);
|
|
$this->assign('use_rule', $data['data']['value']['use_rule']);
|
|
$this->assign('goods_images', $data['data']['value']['goods_images']);
|
|
$this->assign('goods_content', $data['data']['value']['goods_content']);
|
|
return $this->fetch('goods/template');
|
|
}
|
|
}
|