Commit a0be0148 authored by 侯贺政's avatar 侯贺政

问题修改

Signed-off-by: 侯贺政's avatarhouhezheng <houhezheng@romens.cn>
parent bf9186ce
<?php <?php
namespace backend\controllers\v1\common; namespace backend\controllers\v1\common;
use Yii; use Yii;
use backend\controllers\v1\BaseController; use backend\controllers\v1\BaseController;
use yii\web\HttpException; use yii\web\HttpException;
use yii\data\ActiveDataProvider; use yii\data\ActiveDataProvider;
class ShopTransportAreaController extends BaseController class ShopTransportAreaController extends BaseController
{ {
public $modelClass = 'app\models\v1\common\ShopTransportArea'; public $modelClass = 'app\models\v1\common\ShopTransportArea';
...@@ -24,21 +26,21 @@ class ShopTransportAreaController extends BaseController ...@@ -24,21 +26,21 @@ class ShopTransportAreaController extends BaseController
$model = new $this->modelClass(); $model = new $this->modelClass();
$model->setAttributes(Yii::$app->request->get()); $model->setAttributes(Yii::$app->request->get());
if (!$model->validate()) { if (!$model->validate()) {
throw new HttpException(402,json_encode($model->errors)); throw new HttpException(402, json_encode($model->errors));
} }
if(!empty($model->PARENT_GUID)&&isset($model->PARENT_GUID)){ if (!empty($model->PARENT_GUID) && isset($model->PARENT_GUID)) {
$whereArr=['PARENT_GUID'=>$model->PARENT_GUID]; $whereArr = ['PARENT_GUID' => $model->PARENT_GUID];
}else{ } else {
$whereArr=['like','GUID','P']; $whereArr = ['like', 'GUID', 'P'];
} }
$areas = $model::find() $areas = $model::find()
->select(['GUID','NAME']) ->select(['GUID', 'NAME'])
->filterWhere( ->filterWhere(
$whereArr $whereArr
); );
return new ActiveDataProvider( return new ActiveDataProvider(
array( array(
'query'=>$areas, 'query' => $areas,
'pagination' => [ 'pagination' => [
'pageSize' => 0, 'pageSize' => 0,
] ]
...@@ -64,17 +66,18 @@ class ShopTransportAreaController extends BaseController ...@@ -64,17 +66,18 @@ class ShopTransportAreaController extends BaseController
$model = new $this->modelClass(); $model = new $this->modelClass();
$areaArr = $model::find() $areaArr = $model::find()
->select('GUID,NAME,PARENT_GUID') ->select('GUID,NAME,PARENT_GUID')
->where(['or',['like','PARENT_GUID','P'],['PARENT_GUID'=>'']]) ->where(['or', ['like', 'PARENT_GUID', 'P'], ['PARENT_GUID' => '']])
->andWhere(['!=','GUID','P0']) ->andWhere(['!=', 'GUID', 'P0'])
->orderBy('PARENT_GUID ASC') ->orderBy('PARENT_GUID ASC')
->asArray()->all(); ->asArray()->all();
$areaInfo = [];
foreach ($areaArr as $key => $value) { foreach ($areaArr as $key => $value) {
if (empty(trim($value['PARENT_GUID']))) { if (empty(trim($value['PARENT_GUID']))) {
$areaInfo[$value['GUID']]=$value; $areaInfo[$value['GUID']] = $value;
continue; continue;
} }
$areaInfo[$value['PARENT_GUID']]['CITY'][]=$value; $areaInfo[$value['PARENT_GUID']]['CITY'][] = $value;
} }
return $areaInfo; return $areaInfo;
} }
......
...@@ -78,7 +78,6 @@ class TransportSettingController extends BaseController ...@@ -78,7 +78,6 @@ class TransportSettingController extends BaseController
* INCREASE_WEIGHT_FEE:续重费用, * INCREASE_WEIGHT_FEE:续重费用,
* IS_USED:是否启用, * IS_USED:是否启用,
* SELECT_AREA:配送城市, * SELECT_AREA:配送城市,
* PROVINCES:城市所属省份,
* DESCRIPTION:简介, * DESCRIPTION:简介,
* LIMIT_MEMBER_GROUP_GUID:限制人群, * LIMIT_MEMBER_GROUP_GUID:限制人群,
* GROUP_GUID:权限, * GROUP_GUID:权限,
...@@ -102,9 +101,9 @@ class TransportSettingController extends BaseController ...@@ -102,9 +101,9 @@ class TransportSettingController extends BaseController
if (!$info) { if (!$info) {
throw new BadRequestHttpException('请求信息不存在'); throw new BadRequestHttpException('请求信息不存在');
} }
$info['SELECT_AREA'] = trim($info['SELECT_AREA']) ? explode(',', $info['SELECT_AREA']) : []; // $info['SELECT_AREA'] = trim($info['SELECT_AREA']) ? explode(',', $info['SELECT_AREA']) : [];
$info['PROVINCES'] = (new ShopTransportArea)->getProvinces($info['SELECT_AREA']); // $info['PROVINCES'] = (new ShopTransportArea)->getProvinces($info['SELECT_AREA']);
$info['LIMIT_MEMBER_GROUP_GUID'] = trim($info['LIMIT_MEMBER_GROUP_GUID']) ? explode(',', $info['LIMIT_MEMBER_GROUP_GUID']) : []; // $info['LIMIT_MEMBER_GROUP_GUID'] = trim($info['LIMIT_MEMBER_GROUP_GUID']) ? explode(',', $info['LIMIT_MEMBER_GROUP_GUID']) : [];
$transportBranches = (new ShopPackagingcostsBranches)->transportBranches($model->GUID); $transportBranches = (new ShopPackagingcostsBranches)->transportBranches($model->GUID);
$info['BRANCHES_INFO'] = $transportBranches; //指定省级 $info['BRANCHES_INFO'] = $transportBranches; //指定省级
...@@ -177,6 +176,10 @@ class TransportSettingController extends BaseController ...@@ -177,6 +176,10 @@ class TransportSettingController extends BaseController
//验证权限 //验证权限
$userInfo = (new ShopRbacUser)->getRbacUserInfo(Yii::$app->user->identity->GUID); $userInfo = (new ShopRbacUser)->getRbacUserInfo(Yii::$app->user->identity->GUID);
//非总部和省级管理员不可修改
if (!in_array($userInfo['BRANCH_TYPE'], [BRANCH_TYPE_HEADQUARTERS, BRANCH_TYPE_REGION])) {
throw new BadRequestHttpException('没有修改权限!');
}
//分部管理员权限,(当同为省级,非管理员所属省级不可编辑;属于上级创建可编辑) //分部管理员权限,(当同为省级,非管理员所属省级不可编辑;属于上级创建可编辑)
if ($userInfo['BRANCH_TYPE'] == BRANCH_TYPE_REGION && ($userInfo['BRANCH_GUID'] != $_model['GROUP_GUID']) && ($userInfo['PARENT_BRANCH_GUID'] != $_model['GROUP_GUID'])) { if ($userInfo['BRANCH_TYPE'] == BRANCH_TYPE_REGION && ($userInfo['BRANCH_GUID'] != $_model['GROUP_GUID']) && ($userInfo['PARENT_BRANCH_GUID'] != $_model['GROUP_GUID'])) {
throw new BadRequestHttpException('没有修改权限!'); throw new BadRequestHttpException('没有修改权限!');
...@@ -225,7 +228,7 @@ class TransportSettingController extends BaseController ...@@ -225,7 +228,7 @@ class TransportSettingController extends BaseController
} }
//如果是总部创建的模板下级不能修改shop_transport_setting 数据 //如果是总部创建的模板下级不能修改shop_transport_setting 数据
if ($userInfo['BRANCH_TYPE'] != BRANCH_TYPE_REGION && $userInfo['PARENT_BRANCH_GUID'] != $_model['GROUP_GUID']) { if (!($userInfo['BRANCH_TYPE'] == BRANCH_TYPE_REGION && $userInfo['PARENT_BRANCH_GUID'] == $_model['GROUP_GUID'])) {
if (!$_model->save()) { if (!$_model->save()) {
Yii::$app->response->statusCode = 422; Yii::$app->response->statusCode = 422;
return $_model->errors; return $_model->errors;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment