diff --git a/backend/modules/shop/controllers/ExpressTemplateController.php b/backend/modules/shop/controllers/ExpressTemplateController.php index 3ee18a9..223faf5 100755 --- a/backend/modules/shop/controllers/ExpressTemplateController.php +++ b/backend/modules/shop/controllers/ExpressTemplateController.php @@ -4,6 +4,7 @@ namespace backend\modules\shop\controllers; use backend\modules\shop\logic\ShopManager; use backend\modules\shop\models\searchs\ExpressAreaSearch; +use http\Url; use Throwable; use Yii; use backend\modules\shop\models\ars\ExpressTemplate; @@ -205,14 +206,11 @@ class ExpressTemplateController extends Controller $data['status'] = 2; return $data; } - if (Yii::$app->request->post('area') == null) { - return $this->redirect(Yii::$app->request->referrer . '?status=1'); + $area = Yii::$app->request->post('area'); + if ($area == null) { + return $this->redirect(Yii::$app->request->referrer . '&status=1'); } - $cityIds = array_keys(Yii::$app->request->post('area')); - $data['city'] = implode(',', $cityIds); - $model->load($data, ''); - ShopManager::expressAreaScaleDate($model, $expressTemplateModel); //按比例转换数据 - $model->save(); + ShopManager::dealAreaInExpressArea($area, $model, $expressTemplateModel); return $this->redirect('express-area-list?id='.$model->express_template); } @@ -247,14 +245,11 @@ class ExpressTemplateController extends Controller $data = Yii::$app->request->post('ExpressArea'); if ($data) { - if (Yii::$app->request->post('area') == null) { + $area = Yii::$app->request->post('area'); + if ($area == null) { return $this->redirect(Yii::$app->request->referrer . '&status=1'); } - $cityIds = array_keys(Yii::$app->request->post('area')); - $data['city'] = implode(',', $cityIds); - $model->load($data, ''); - ShopManager::expressAreaScaleDate($model, $expressTemplateModel); //按比例转换数据 - $model->save(); + ShopManager::dealAreaInExpressArea($area, $model, $expressTemplateModel); return $this->redirect('express-area-list?id='.$model->express_template); } diff --git a/backend/modules/shop/logic/ShopManager.php b/backend/modules/shop/logic/ShopManager.php index d81c36f..bde5b00 100644 --- a/backend/modules/shop/logic/ShopManager.php +++ b/backend/modules/shop/logic/ShopManager.php @@ -119,4 +119,21 @@ class ShopManager } return array_values($data); } + + /** + * 处理所选区域数据 + * @param $area + * @param ExpressArea|$expressAreaModel + * @param ExpressTemplate|$expressTemplateModel + * @return bool + */ + public static function dealAreaInExpressArea($area, $expressAreaModel, $expressTemplateModel) + { + $cityIds = array_keys($area); + $data['city'] = implode(',', $cityIds); + $expressAreaModel->load($data, ''); + self::expressAreaScaleDate($expressAreaModel, $expressTemplateModel); //按比例转换数据 + $expressAreaModel->save(); + return true; + } } \ No newline at end of file