frontend\controllers\OrderController::actionRealFee PHP Method

actionRealFee() public method

public actionRealFee ( )
    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];
    }