SystemSettingController.php 3.5 KB
<?php

namespace app\ht\modules\setting\controllers;

use Yii;
use yii\base\Exception;
use yii\data\Pagination;
use app\ht\controllers\BaseController;
use common\helpers\MinaHelper;
use common\helpers\MinaDDBHelper;
use common\helpers\UserMPHelper;
use common\helpers\WxHelper;
use common\models\RegionFeeSetting  as RegionFeeSettingModel;
use common\models\SysSetting        as SysSettingModel;
use common\models\WxMchSetting      as WxMchSettingModel;
use stdClass;
use function trim;

/**
 * 系统设置
 * Class SystemSettingController
 * @package app\ht\modules\setting\controllers
 */
class SystemSettingController extends BaseController
{
    public function actionDefault()
    {
        $settings = SysSettingModel::findOne(1);

        return $this->render('default', [
            'settings' => $settings
        ]);
    }

    /**
     * AJAX
     * 功能保存
     */
    public function actionSave()
    {
        $result = new stdClass();
        $result->success = false;
        $result->code = null;
        $result->datas = [];

        if (false == $this->request->isPost) {
            return $this->renderJson($result);
        }

        $post = $this->request->post();

        $settings = SysSettingModel::findOne(1);
        $settings->is_withdraw_auto_review              = isset($post['is_withdraw_auto_review']) ? 1 : 0;
        $settings->qrcode_domain                        = trim($post['qrcode_domain']);
        $settings->jiwo_qrcode_domain                   = trim($post['jiwo_qrcode_domain']);
        $settings->commission_ratio                     = (float)$post['commission_ratio'];
        $settings->parts_commission_ratio               = (float)$post['parts_commission_ratio'];
        $settings->order_polling_interval               = (int)$post['order_polling_interval'];
        $settings->user_order_limit_per_day             = (int)$post['user_order_limit_per_day'];
        $settings->user_cancel_order_limit_per_day      = (int)$post['user_cancel_order_limit_per_day'];
        $settings->gurantee_time                        = (int)$post['gurantee_time'];
        $settings->appeal_door_hours                    = (int)$post['appeal_door_hours'];
        $settings->appeal_deal_hours                    = (int)$post['appeal_deal_hours'];
        $settings->standard_door_hours                  = (int)$post['standard_door_hours'];
        $settings->disclaim_cancel_time                 = (int)$post['disclaim_cancel_time'];
        $settings->is_pay_test_mode                     = isset($post['is_pay_test_mode']) ? 1 : 0;
        $settings->service_phone                        = trim($post['service_phone']);
        $settings->is_more_device_enable                = isset($post['is_more_device_enable']) ? 1 : 0;
        $settings->is_notice_enable                     = isset($post['is_notice_enable']) ? 1 : 0;
        $settings->can_close_notice                     = isset($post['can_close_notice']) ? 1 : 0;
        $settings->is_user_select_limit_device_enable   = isset($post['is_user_select_limit_device_enable']) ? 1 : 0;
        $settings->realname_auth_album_enable           = isset($post['realname_auth_album_enable']) ? 1 : 0;
        $settings->refund_door_fee                      = isset($post['refund_door_fee']) ? 1 : 0;
        $settings->is_save_dispatch_order_record        = isset($post['is_save_dispatch_order_record']) ? 1 : 0;

        if ($settings->save()) {
            $result->success = true;
            SysSettingModel::removeCache();
        }

        return $this->renderJson($result);
    }
}