415 lines
15 KiB
PHP
415 lines
15 KiB
PHP
<?php
|
|
/**
|
|
* SaaSMall商城系统 - 团队十年电商经验汇集巨献!
|
|
* =========================================================
|
|
* Copy right 2019-2029 成都SAAS云科技有限公司, 保留所有权利。
|
|
* ----------------------------------------------
|
|
* 官方网址: https://www.gobuysaas.com
|
|
* =========================================================
|
|
*/
|
|
|
|
namespace addon\virtualevaluation\shop\controller;
|
|
|
|
use addon\virtualevaluation\model\VirtualEvaluation;
|
|
use addon\virtualevaluation\model\VirtualStock;
|
|
use app\model\express\ExpressTemplate as ExpressTemplateModel;
|
|
use app\model\goods\Goods;
|
|
use app\model\goods\Goods as GoodsModel;
|
|
use app\model\goods\GoodsCategory as GoodsCategoryModel;
|
|
use app\model\goods\GoodsLabel as GoodsLabelModel;
|
|
use app\model\goods\GoodsService as GoodsServiceModel;
|
|
use app\model\upload\Album;
|
|
use app\shop\controller\BaseShop;
|
|
|
|
|
|
/**
|
|
* 虚拟评价
|
|
* Class Virtualgoods
|
|
* @package app\shop\controller
|
|
*/
|
|
class Comment extends BaseShop
|
|
{
|
|
public function goodsLists()
|
|
{
|
|
$stockalarm = input('stockalarm', 0);
|
|
$goods_model = new GoodsModel();
|
|
if (request()->isAjax()) {
|
|
$page_index = input('page', 1);
|
|
$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);
|
|
$goods_class = input('goods_class', "");
|
|
$label_id = input('label_id', "");
|
|
$order = input('order', '');
|
|
$sort = input('sort', 'asc');
|
|
|
|
$order_by = 'create_time desc';
|
|
if ($order != '') {
|
|
if ($order == 'sort') {
|
|
$order_by = $order . ' ' . $sort . ',create_time desc';
|
|
} else {
|
|
$order_by = $order . ' ' . $sort;
|
|
}
|
|
}
|
|
$promotion_type = input('promotion_type', "");
|
|
|
|
$condition = [ [ 'is_delete', '=', 0 ], [ 'site_id', '=', $this->site_id ] ];
|
|
|
|
if (!empty($search_text)) {
|
|
$condition[] = [ 'goods_name', 'like', '%' . $search_text . '%' ];
|
|
}
|
|
$category_id = input('category_id', "");
|
|
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($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 ($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' => [] ]);
|
|
}
|
|
}
|
|
$field = 'goods_id,goods_name,site_id,site_name,goods_image,goods_state,price,goods_stock,goods_stock_alarm,create_time,sale_num,is_virtual,goods_class,is_fenxiao,fenxiao_type,promotion_addon,sku_id,is_consume_discount,discount_config,discount_method,sort,evaluate,evaluate_shaitu,success_evaluate_num,fail_evaluate_num,wait_evaluate_num';
|
|
$res = $goods_model->getGoodsPageList($condition, $page_index, $page_size, $order_by, $field);
|
|
$goods_promotion_type = event('GoodsPromotionType');
|
|
if (!empty($res[ 'data' ][ 'list' ])) {
|
|
foreach ($res[ 'data' ][ 'list' ] as $k => $v) {
|
|
|
|
$res[ 'data' ][ 'list' ][ $k ][ 'goods_stock' ] = numberFormat($res[ 'data' ][ 'list' ][ $k ][ 'goods_stock' ]);
|
|
$res[ 'data' ][ 'list' ][ $k ][ 'sale_num' ] = numberFormat($res[ 'data' ][ 'list' ][ $k ][ 'sale_num' ]);
|
|
|
|
if (!empty($v[ 'promotion_addon' ])) {
|
|
$v[ 'promotion_addon' ] = json_decode($v[ 'promotion_addon' ], true);
|
|
foreach ($v[ 'promotion_addon' ] as $ck => $cv) {
|
|
foreach ($goods_promotion_type as $gk => $gv) {
|
|
if ($gv[ 'type' ] == $ck) {
|
|
$res[ 'data' ][ 'list' ][ $k ][ 'promotion_addon_list' ][] = $gv;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return $res;
|
|
} else {
|
|
$this->forthMenu();
|
|
$goods_state = input('state', '');
|
|
$this->assign('goods_state', $goods_state);
|
|
//获取一级商品分类
|
|
$goods_category_model = new GoodsCategoryModel();
|
|
$condition = [
|
|
[ 'pid', '=', 0 ],
|
|
[ 'site_id', '=', $this->site_id ]
|
|
];
|
|
|
|
$goods_category_list = $goods_category_model->getCategoryList($condition, 'category_id,category_name,level,commission_rate');
|
|
$goods_category_list = $goods_category_list[ 'data' ];
|
|
$this->assign("goods_category_list", $goods_category_list);
|
|
|
|
// 商品分组
|
|
$goods_label_model = new GoodsLabelModel();
|
|
$label_list = $goods_label_model->getLabelList([ [ 'site_id', '=', $this->site_id ] ], 'id,label_name', 'create_time desc')[ 'data' ];
|
|
$this->assign("label_list", $label_list);
|
|
|
|
// 商品服务
|
|
$goods_service_model = new GoodsServiceModel();
|
|
$service_list = $goods_service_model->getServiceList([ [ 'site_id', '=', $this->site_id ] ], 'id,service_name,icon')[ 'data' ];
|
|
$this->assign("service_list", $service_list);
|
|
|
|
//获取运费模板
|
|
$express_template_model = new ExpressTemplateModel();
|
|
$express_template_list = $express_template_model->getExpressTemplateList([ [ 'site_id', "=", $this->site_id ] ], 'template_id,template_name', 'is_default desc');
|
|
$express_template_list = $express_template_list[ 'data' ];
|
|
$this->assign("express_template_list", $express_template_list);
|
|
|
|
//判断会员价插件
|
|
$memberprice_is_exit = addon_is_exit('memberprice', $this->site_id);
|
|
$this->assign('memberprice_is_exit', $memberprice_is_exit);
|
|
|
|
// 判断采集插件
|
|
$goodsgrab_is_exit = addon_is_exit('goodsgrab', $this->site_id);
|
|
$this->assign('goodsgrab_is_exit', $goodsgrab_is_exit);
|
|
|
|
// 营销活动
|
|
$goods_promotion_type = event('GoodsPromotionType');
|
|
$this->assign('promotion_type', $goods_promotion_type);
|
|
|
|
$this->assign('virtualcard_exit', addon_is_exit('virtualcard', $this->site_id));
|
|
|
|
$this->assign('stockalarm', $stockalarm);
|
|
|
|
return $this->fetch("comment/goods_lists");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 创建虚拟评价
|
|
* Class Virtualgoods
|
|
* @package app\shop\controller
|
|
*/
|
|
public function setting()
|
|
{
|
|
$goods_ids = input('goods_ids', 0);
|
|
$goods_model = new Goods();
|
|
$goods_data = $goods_model->getGoodsList([ [ 'goods_id', 'in', $goods_ids ], [ 'site_id', '=', $this->site_id ] ], 'sku_id,goods_id,goods_name,price,goods_image');
|
|
|
|
$data = json_decode(input('field'), true);
|
|
|
|
if (!empty($data[ 'member_headimg' ])) {
|
|
$data[ 'member_headimg' ] = $data[ 'member_headimg' ][ 0 ];
|
|
}
|
|
$pingjia_img = '';
|
|
if (!empty($data[ 'pingjia_img' ])) {
|
|
foreach ($data[ 'pingjia_img' ] as $k => $val) {
|
|
$pingjia_img = $pingjia_img . ',' . $val;
|
|
}
|
|
$pingjia_img = trim($pingjia_img, ',');
|
|
}
|
|
|
|
$data[ 'pingjia_img' ] = $pingjia_img;
|
|
$data[ 'goods_data' ] = '';
|
|
if (!empty($goods_data[ 'data' ])) {
|
|
$data[ 'goods_data' ] = $goods_data[ 'data' ];
|
|
}
|
|
$VirtualEvaluation_model = new VirtualEvaluation();
|
|
$res = $VirtualEvaluation_model->addGoodsComment($data, $this->site_id);
|
|
return $res;
|
|
}
|
|
|
|
/**
|
|
* 虚拟评价库
|
|
* Class Virtualgoods
|
|
* @package app\shop\controller
|
|
*/
|
|
public function stock()
|
|
{
|
|
if (request()->isAjax()) {
|
|
$stock_model = new VirtualStock();
|
|
$page = input('page', 1);
|
|
$page_size = input('page_size', PAGE_LIST_ROWS);
|
|
$condition = [
|
|
'site_id' => $this->site_id
|
|
];
|
|
$stock_data = $stock_model->getStockPageList($condition, $page, $page_size, '', '');
|
|
return $stock_data;
|
|
} else {
|
|
$this->forthMenu();
|
|
return $this->fetch("comment/stock");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 添加虚拟评价库
|
|
* Class Virtualgoods
|
|
* @package app\shop\controller
|
|
*/
|
|
public function addStock()
|
|
{
|
|
$stock_model = new VirtualStock();
|
|
$stock_name = input('stock_name', '');
|
|
$data = [
|
|
'stock_name' => $stock_name,
|
|
'site_id' => $this->site_id,
|
|
'create_time' => time(),
|
|
];
|
|
return $stock_model->addStock($data);
|
|
}
|
|
|
|
/**
|
|
* 删除虚拟评价库
|
|
* Class Virtualgoods
|
|
* @package app\shop\controller
|
|
*/
|
|
public function deleteStock()
|
|
{
|
|
$stock_model = new VirtualStock();
|
|
$stock_id = input('stock_id', '');
|
|
|
|
return $stock_model->deleteStock($stock_id, $this->site_id);
|
|
}
|
|
|
|
/**
|
|
* 获取虚拟评价库信息
|
|
* Class Virtualgoods
|
|
* @package app\shop\controller
|
|
*/
|
|
public function getStockInfo()
|
|
{
|
|
$stock_model = new VirtualStock();
|
|
$stock_id = input('stock_id', '');
|
|
return $stock_model->getStockInfo($stock_id, $this->site_id);
|
|
}
|
|
|
|
/**
|
|
* 编辑虚拟评价库
|
|
* Class Virtualgoods
|
|
* @package app\shop\controller
|
|
*/
|
|
public function editStock()
|
|
{
|
|
$stock_model = new VirtualStock();
|
|
$stock_id = input('stock_id', 0);
|
|
$stock_name = input('stock_name', '');
|
|
$data = [
|
|
'stock_name' => $stock_name,
|
|
'modify_time' => time(),
|
|
'stock_id' => $stock_id
|
|
];
|
|
|
|
return $stock_model->updateStock($data, $this->site_id);
|
|
}
|
|
|
|
/**
|
|
* 获取虚拟评价库里的评论信息
|
|
* Class Virtualgoods
|
|
* @package app\shop\controller
|
|
*/
|
|
public function getContents()
|
|
{
|
|
$stock_id = input('stock_id', 0);
|
|
if (request()->isAjax()) {
|
|
$stock_model = new VirtualStock();
|
|
$page = input('page', 1);
|
|
$page_size = input('page_size', PAGE_LIST_ROWS);
|
|
$condition = [
|
|
'site_id' => $this->site_id,
|
|
'stock_id' => $stock_id,
|
|
];
|
|
$stock_data = $stock_model->getContentsPageList($condition, $page, $page_size, '', '');
|
|
return $stock_data;
|
|
} else {
|
|
$this->assign('stock_id', $stock_id);
|
|
return $this->fetch("comment/contents");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 添加虚拟评价库评论
|
|
* Class Virtualgoods
|
|
* @package app\shop\controller
|
|
*/
|
|
public function addContent()
|
|
{
|
|
$stock_model = new VirtualStock();
|
|
$stock_id = input('stock_id', 0);
|
|
$content = input('content', '');
|
|
$data = [
|
|
'stock_id' => $stock_id,
|
|
'site_id' => $this->site_id,
|
|
'content' => $content,
|
|
'create_time' => time(),
|
|
];
|
|
return $stock_model->addContent($data);
|
|
}
|
|
|
|
/**
|
|
* 删除虚拟评价库评论
|
|
* Class Virtualgoods
|
|
* @package app\shop\controller
|
|
*/
|
|
public function deleteContent()
|
|
{
|
|
$stock_model = new VirtualStock();
|
|
$id = input('id', 0);
|
|
|
|
return $stock_model->deleteContent($id, $this->site_id);
|
|
}
|
|
|
|
/**
|
|
* 获取虚拟评价库评论信息
|
|
* Class Virtualgoods
|
|
* @package app\shop\controller
|
|
*/
|
|
public function getContentInfo()
|
|
{
|
|
$stock_model = new VirtualStock();
|
|
$id = input('id', 0);
|
|
|
|
return $stock_model->getContentInfo($id, $this->site_id);
|
|
}
|
|
|
|
/**
|
|
* 修改虚拟评价库评论信息
|
|
* Class Virtualgoods
|
|
* @package app\shop\controller
|
|
*/
|
|
public function editContent()
|
|
{
|
|
$stock_model = new VirtualStock();
|
|
$id = input('id', 0);
|
|
$content = input('content', '');
|
|
$data = [
|
|
'content' => $content,
|
|
'id' => $id
|
|
];
|
|
return $stock_model->editContentInfo($data, $this->site_id);
|
|
}
|
|
|
|
/**
|
|
* 批量添加单个商品的评论
|
|
* Class Virtualgoods
|
|
* @package app\shop\controller
|
|
*/
|
|
public function batchAdd()
|
|
{
|
|
$album_model = new Album();
|
|
$stock_model = new VirtualStock();
|
|
$goods_id = input('goods_id', 0);
|
|
if (request()->isAjax()) {
|
|
$start_time = date_to_time(input('start_time'));
|
|
$end_time = date_to_time(input('end_time'));
|
|
if ($start_time == '' || $end_time == '' || $end_time < $start_time) return error('-1', '时间格式不正确');
|
|
$virtual_evaluation_model = new VirtualEvaluation();
|
|
$data = [
|
|
'goods_id' => input('goods_id', 0),
|
|
'number' => input('number', 0),
|
|
'pingfen' => input('pingfen', ''),
|
|
'start_time' => $start_time,
|
|
'end_time' => $end_time,
|
|
'album_id' => input('album_id', 0),
|
|
'stock_id' => input('stock_id', 0)
|
|
];
|
|
$res = $virtual_evaluation_model->batghAdd($data, $this->site_id);
|
|
return $res;
|
|
} else {
|
|
//获取相册
|
|
$album_list = $album_model->getAlbumList([ [ 'site_id', '=', $this->site_id ], [ 'num', '>', 0 ] ]);
|
|
$this->assign('album_list', $album_list[ 'data' ]);
|
|
//获取评论库
|
|
$stock_list = $stock_model->getStockList([ [ 'site_id', '=', $this->site_id ], [ 'num', '>', 0 ] ]);
|
|
$this->assign('stock_list', $stock_list[ 'data' ]);
|
|
$this->assign('goods_id', $goods_id);
|
|
return $this->fetch("comment/batchadd");
|
|
}
|
|
}
|
|
|
|
} |