public function actionRealFee()
{
Yii::$app->response->format = Response::FORMAT_JSON;
$storeId = Yii::$app->request->post('storeId', 0);
$preferential = Yii::$app->request->post('preferential');
$newDown = Yii::$app->request->post('newdown');
$payment = Yii::$app->request->post('payment');
/* @var $model Store */
$model = Store::findOne($storeId);
if (!$model) {
return ['status' => 'no'];
}
$realFee = $fee = Yii::$app->user->identity->getCartGoodsRealVolume($storeId);
switch ($preferential) {
case Order::PREFERENTIAL_DOWN:
if ($model->has_down && $fee >= $model->down_upper) {
$realFee = bcsub($realFee, $model->down_val, 2);
}
break;
default:
break;
}
if (Yii::$app->params['enableNewDown'] && $newDown && $fee >= Yii::$app->params['newDownUpper'] && Yii::$app->user->identity->has_new_down) {
$realFee = bcsub($realFee, Yii::$app->params['newDownVal'], 2);
if ($realFee < 0) {
$realFee = '0.00';
}
}
return ['status' => 'ok', 'realFee' => $realFee];
}