public function actionAdd()
{
$goodsId = (int) Yii::$app->request->post('goodsId');
$output = ['status' => 'no'];
Yii::$app->response->format = Response::FORMAT_JSON;
$goods = Goods::findOne(['id' => $goodsId, 'status' => Goods::STATUS_NORMAL]);
if (!$goods) {
return $output;
}
$model = CartGoods::findOne(['goods_id' => $goodsId, 'user_id' => Yii::$app->user->id]);
if (!$model) {
if (Yii::$app->user->identity->getCartGoodsCount($goods->store_id) >= Yii::$app->params['goods.cartLimit']) {
$output['msg'] = '您的购物车已爆满!最多只能容下' . Yii::$app->params['goods.cartLimit'] . '种商品。';
return $output;
}
$model = new CartGoods();
$model->user_id = Yii::$app->user->id;
$model->goods_id = $goodsId;
$model->store_id = $goods->store_id;
$model->price = $goods->price;
$model->count = 0;
}
$model->count++;
if ($model->count > $goods->surplus) {
$model->count = $goods->surplus;
}
if ($model->count > 0 && !$model->save(false)) {
return $output;
}
$output = ['status' => 'ok', 'name' => $goods->name, 'price' => $goods->price, 'surplus' => $goods->surplus, 'cart' => $model->count];
return $output;
}