<?php
|
|
namespace app\api\controller\plus\repair;
|
|
use app\api\controller\Controller;
|
use app\api\model\plus\repair\Cart as CartModel;
|
use app\api\model\settings\Setting as SettingModel;
|
use app\api\model\product\Product as ProductModel;
|
|
/**
|
* 购物车控制器
|
*/
|
class Cart extends Controller
|
{
|
private $user;
|
|
// $model
|
private $model;
|
|
/**
|
* 构造方法
|
*/
|
public function initialize()
|
{
|
$this->user = $this->getUser();
|
$this->model = new CartModel();
|
}
|
|
|
/**
|
* 购物车列表
|
*/
|
public function lists()
|
{
|
// 购物车列表
|
$projectList = $this->model->getList($this->user);
|
//是否显示店铺信息
|
$store_open = SettingModel::getStoreOpen();
|
return $this->renderSuccess('', compact('projectList', 'store_open'));
|
}
|
|
/**
|
* 加入购物车
|
* @param int $project_id 项目id
|
* @param int $project_num 数量
|
*/
|
public function add()
|
{
|
$data = $this->request->param();
|
$project_id = $data['project_id'];
|
$project_num = $data['total_num'];
|
$model = $this->model;
|
if (!$model->add($this->user, $project_id, $project_num)) {
|
return $this->renderError($model->getError() ?: '加入购物车失败');
|
}
|
// 购物车商品总数量
|
$totalNum = $model->getProductNum($this->user);
|
return $this->renderSuccess('加入购物车成功', ['cart_total_num' => $totalNum]);
|
}
|
|
/**
|
* 减少购物车商品数量
|
* @param $project_id
|
* @return array
|
*/
|
public function sub($project_id)
|
{
|
$this->model->sub($this->user, $project_id);
|
return $this->renderSuccess('');
|
}
|
|
/**
|
* 删除购物车中指定商品
|
* @return array
|
*/
|
public function delete($cart_id)
|
{
|
$this->model->setDelete($this->user, $cart_id);
|
return $this->renderSuccess('删除成功');
|
}
|
}
|