<?php
namespace app\store\controller\apps\sharp;
use app\store\controller\Controller;
use app\store\model\Goods as GoodsModel;
use app\store\service\Goods as GoodsService;
use app\store\model\sharp\Goods as SharpGoodsModel;
class Goods extends Controller
{
public function index($search = '')
{
$model = new SharpGoodsModel;
$list = $model->getList($search);
return $this->fetch('index', compact('list'));
}
public function add($step = 1, $goods_id = null)
{
if ($step == 2) {
return $this->step2($goods_id);
}
return $this->step1();
}
private function step1()
{
return $this->fetch('step1');
}
private function step2($goodsId)
{
$model = new SharpGoodsModel;
if (!$model->validateGoodsId($goodsId)) {
$this->renderError($model->getError());
}
$goods = GoodsModel::detail($goodsId);
$specData = GoodsService::getSpecData($goods);
if (!$this->request->isAjax()) {
return $this->fetch('step2', compact('goods', 'specData'));
}
if ($model->add($goods, $this->postData('goods'))) {
return $this->renderSuccess('添加成功', url('apps.sharp.goods/index'));
}
return $this->renderError($model->getError() ?: '添加失败');
}
public function edit($sharp_goods_id)
{
$model = SharpGoodsModel::detail($sharp_goods_id, ['sku']);
$goods = GoodsModel::detail($model['goods_id']);
$specData = $model->getSpecData($goods);
if (!$this->request->isAjax()) {
return $this->fetch('edit', compact('model', 'goods', 'specData'));
}
if ($model->edit($goods, $this->postData('goods'))) {
return $this->renderSuccess('更新成功', url('apps.sharp.goods/index'));
}
return $this->renderError($model->getError() ?: '更新失败');
}
public function delete($sharp_goods_id)
{
$model = SharpGoodsModel::detail($sharp_goods_id);
if (!$model->setDelete()) {
return $this->renderError($model->getError() ?: '删除失败');
}
return $this->renderSuccess('删除成功');
}
}