168 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			168 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			PHP
		
	
	
| 
								 | 
							
								<?php
							 | 
						|||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								// | likeshop开源商城系统
							 | 
						|||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
							 | 
						|||
| 
								 | 
							
								// | gitee下载:https://gitee.com/likeshop_gitee
							 | 
						|||
| 
								 | 
							
								// | github下载:https://github.com/likeshop-github
							 | 
						|||
| 
								 | 
							
								// | 访问官网:https://www.likeshop.cn
							 | 
						|||
| 
								 | 
							
								// | 访问社区:https://home.likeshop.cn
							 | 
						|||
| 
								 | 
							
								// | 访问手册:http://doc.likeshop.cn
							 | 
						|||
| 
								 | 
							
								// | 微信公众号:likeshop技术社区
							 | 
						|||
| 
								 | 
							
								// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
							 | 
						|||
| 
								 | 
							
								// |  likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
							 | 
						|||
| 
								 | 
							
								// | 禁止对系统程序代码以任何目的,任何形式的再发布
							 | 
						|||
| 
								 | 
							
								// | likeshop团队版权所有并拥有最终解释权
							 | 
						|||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								// | author: likeshop.cn.team
							 | 
						|||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace app\admin\controller\goods;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								use app\common\basics\AdminBase;
							 | 
						|||
| 
								 | 
							
								use app\common\enum\GoodsEnum;
							 | 
						|||
| 
								 | 
							
								use app\common\model\goods\GoodsBrand;
							 | 
						|||
| 
								 | 
							
								use app\common\model\goods\GoodsUnit;
							 | 
						|||
| 
								 | 
							
								use app\common\model\Freight;
							 | 
						|||
| 
								 | 
							
								use app\common\model\goods\Supplier;
							 | 
						|||
| 
								 | 
							
								use app\common\model\goods\Goods as GoodsModel;
							 | 
						|||
| 
								 | 
							
								use app\common\server\JsonServer;
							 | 
						|||
| 
								 | 
							
								use app\admin\logic\goods\CategoryLogic as MallCategoryLogic;
							 | 
						|||
| 
								 | 
							
								use app\admin\logic\goods\GoodsLogic;
							 | 
						|||
| 
								 | 
							
								use app\admin\logic\goods\ColumnLogic;
							 | 
						|||
| 
								 | 
							
								use app\shop\logic\goods\CategoryLogic as ShopCategoryLogic;
							 | 
						|||
| 
								 | 
							
								use think\exception\ValidateException;
							 | 
						|||
| 
								 | 
							
								use app\admin\validate\goods\GoodsValidate;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								/**
							 | 
						|||
| 
								 | 
							
								 * 商品管理
							 | 
						|||
| 
								 | 
							
								 * Class Goods
							 | 
						|||
| 
								 | 
							
								 */
							 | 
						|||
| 
								 | 
							
								class Goods extends AdminBase
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * Notes: 列表
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function lists()
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        if ($this->request->isAjax()) {
							 | 
						|||
| 
								 | 
							
								            $get = $this->request->get();
							 | 
						|||
| 
								 | 
							
								            return JsonServer::success('', GoodsLogic::lists($get));
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        $cate_list = MallCategoryLogic::categoryTreeeTree();
							 | 
						|||
| 
								 | 
							
								        $statistics = GoodsLogic::statistics();
							 | 
						|||
| 
								 | 
							
								        $column_list = ColumnLogic::getList();
							 | 
						|||
| 
								 | 
							
								        return view('', [
							 | 
						|||
| 
								 | 
							
								            'statistics' => $statistics,
							 | 
						|||
| 
								 | 
							
								            'cate_list' => $cate_list,
							 | 
						|||
| 
								 | 
							
								            'column_list' => $column_list,
							 | 
						|||
| 
								 | 
							
								            'goods_type'        => GoodsEnum::getTypeDesc()
							 | 
						|||
| 
								 | 
							
								        ]);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 查看
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function view()
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        $goods_id = $this->request->get('goods_id');
							 | 
						|||
| 
								 | 
							
								        $shop_id = GoodsModel::where('id', $goods_id)->value('shop_id');
							 | 
						|||
| 
								 | 
							
								        return view('goods/goods/add', [
							 | 
						|||
| 
								 | 
							
								            'category_lists' => json_encode(MallCategoryLogic::getAllTree(), JSON_UNESCAPED_UNICODE),
							 | 
						|||
| 
								 | 
							
								            'shop_category_lists' => json_encode(ShopCategoryLogic::listAll($shop_id), JSON_UNESCAPED_UNICODE),
							 | 
						|||
| 
								 | 
							
								            'brand_lists' => json_encode(GoodsBrand::getNameColumn(), JSON_UNESCAPED_UNICODE),
							 | 
						|||
| 
								 | 
							
								            'supplier_lists' => json_encode(Supplier::getNameColumn(), JSON_UNESCAPED_UNICODE),
							 | 
						|||
| 
								 | 
							
								            'unit_lists' => json_encode(GoodsUnit::getNameColumn(), JSON_UNESCAPED_UNICODE),
							 | 
						|||
| 
								 | 
							
								            'freight_lists' => json_encode(Freight::getNameColumn($shop_id), JSON_UNESCAPED_UNICODE),
							 | 
						|||
| 
								 | 
							
								            'info' => json_encode(GoodsLogic::info($goods_id), JSON_UNESCAPED_UNICODE)
							 | 
						|||
| 
								 | 
							
								        ]);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 违规重审
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function reAudit()
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        if ($this->request->isAjax()) {
							 | 
						|||
| 
								 | 
							
								            try {
							 | 
						|||
| 
								 | 
							
								                $params = $this->request->post();
							 | 
						|||
| 
								 | 
							
								                validate(GoodsValidate::class)->scene('re_audit')->check($params);
							 | 
						|||
| 
								 | 
							
								            } catch (ValidateException $e) {
							 | 
						|||
| 
								 | 
							
								                return JsonServer::error($e->getMessage());
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            $result = GoodsLogic::reAudit($params);
							 | 
						|||
| 
								 | 
							
								            if ($result) {
							 | 
						|||
| 
								 | 
							
								                return JsonServer::success('保存成功');
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            return JsonServer::error('保存失败');
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        $goods_id = $this->request->get('goods_id', '', 'intval');
							 | 
						|||
| 
								 | 
							
								        return view('re_audit', [
							 | 
						|||
| 
								 | 
							
								            'goods_id' => $goods_id
							 | 
						|||
| 
								 | 
							
								        ]);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 商品设置
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function setInfo()
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        if ($this->request->isAjax()) {
							 | 
						|||
| 
								 | 
							
								            try {
							 | 
						|||
| 
								 | 
							
								                $params = $this->request->post();
							 | 
						|||
| 
								 | 
							
								                validate(GoodsValidate::class)->scene('set_info')->check($params);
							 | 
						|||
| 
								 | 
							
								            } catch (ValidateException $e) {
							 | 
						|||
| 
								 | 
							
								                return JsonServer::error($e->getMessage());
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            $result = GoodsLogic::setInfo($params);
							 | 
						|||
| 
								 | 
							
								            if ($result) {
							 | 
						|||
| 
								 | 
							
								                return JsonServer::success('设置成功');
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            return JsonServer::error('设置失败');
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        $goods_id = $this->request->get('goods_id', '', 'intval');
							 | 
						|||
| 
								 | 
							
								        $goods_detail = GoodsModel::find($goods_id);
							 | 
						|||
| 
								 | 
							
								        $goods_detail['column_ids'] = $goods_detail['column_ids'] ? explode(',', $goods_detail['column_ids']) : [];
							 | 
						|||
| 
								 | 
							
								        $goods_detail['column_ids'] = json_encode($goods_detail['column_ids']);
							 | 
						|||
| 
								 | 
							
								        $column_list = ColumnLogic::getList();
							 | 
						|||
| 
								 | 
							
								        return view('set_info', [
							 | 
						|||
| 
								 | 
							
								            'goods_id' => $goods_id,
							 | 
						|||
| 
								 | 
							
								            'column_list' => json_encode($column_list),
							 | 
						|||
| 
								 | 
							
								            'goods_detail' => $goods_detail
							 | 
						|||
| 
								 | 
							
								        ]);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 审核
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function audit()
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        if ($this->request->isAjax()) {
							 | 
						|||
| 
								 | 
							
								            try {
							 | 
						|||
| 
								 | 
							
								                $params = $this->request->post();
							 | 
						|||
| 
								 | 
							
								                validate(GoodsValidate::class)->scene('audit')->check($params);
							 | 
						|||
| 
								 | 
							
								            } catch (ValidateException $e) {
							 | 
						|||
| 
								 | 
							
								                return JsonServer::error($e->getMessage());
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            $result = GoodsLogic::audit($params);
							 | 
						|||
| 
								 | 
							
								            if ($result) {
							 | 
						|||
| 
								 | 
							
								                return JsonServer::success('操作完成');
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            return JsonServer::error('操作失败');
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        $goods_id = $this->request->get('goods_id', '', 'intval');
							 | 
						|||
| 
								 | 
							
								        return view('audit', [
							 | 
						|||
| 
								 | 
							
								            'goods_id' => $goods_id
							 | 
						|||
| 
								 | 
							
								        ]);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    public function totalCount()
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        if ($this->request->isAjax()) {
							 | 
						|||
| 
								 | 
							
								            return JsonServer::success('获取成功', GoodsLogic::statistics());
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |