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

问题修改

Signed-off-by: 侯贺政's avatarhouhezheng <houhezheng@romens.cn>
parent bf9186ce
<?php
namespace backend\controllers\v1\common;
use Yii;
use backend\controllers\v1\BaseController;
use yii\web\HttpException;
use yii\data\ActiveDataProvider;
class ShopTransportAreaController extends BaseController
{
public $modelClass = 'app\models\v1\common\ShopTransportArea';
......@@ -24,21 +26,21 @@ class ShopTransportAreaController extends BaseController
$model = new $this->modelClass();
$model->setAttributes(Yii::$app->request->get());
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)){
$whereArr=['PARENT_GUID'=>$model->PARENT_GUID];
}else{
$whereArr=['like','GUID','P'];
if (!empty($model->PARENT_GUID) && isset($model->PARENT_GUID)) {
$whereArr = ['PARENT_GUID' => $model->PARENT_GUID];
} else {
$whereArr = ['like', 'GUID', 'P'];
}
$areas = $model::find()
->select(['GUID','NAME'])
->select(['GUID', 'NAME'])
->filterWhere(
$whereArr
);
return new ActiveDataProvider(
array(
'query'=>$areas,
'query' => $areas,
'pagination' => [
'pageSize' => 0,
]
......@@ -64,17 +66,18 @@ class ShopTransportAreaController extends BaseController
$model = new $this->modelClass();
$areaArr = $model::find()
->select('GUID,NAME,PARENT_GUID')
->where(['or',['like','PARENT_GUID','P'],['PARENT_GUID'=>'']])
->andWhere(['!=','GUID','P0'])
->where(['or', ['like', 'PARENT_GUID', 'P'], ['PARENT_GUID' => '']])
->andWhere(['!=', 'GUID', 'P0'])
->orderBy('PARENT_GUID ASC')
->asArray()->all();
$areaInfo = [];
foreach ($areaArr as $key => $value) {
if (empty(trim($value['PARENT_GUID']))) {
$areaInfo[$value['GUID']]=$value;
$areaInfo[$value['GUID']] = $value;
continue;
}
$areaInfo[$value['PARENT_GUID']]['CITY'][]=$value;
$areaInfo[$value['PARENT_GUID']]['CITY'][] = $value;
}
return $areaInfo;
}
......
......@@ -78,7 +78,6 @@ class TransportSettingController extends BaseController
* INCREASE_WEIGHT_FEE:续重费用,
* IS_USED:是否启用,
* SELECT_AREA:配送城市,
* PROVINCES:城市所属省份,
* DESCRIPTION:简介,
* LIMIT_MEMBER_GROUP_GUID:限制人群,
* GROUP_GUID:权限,
......@@ -102,9 +101,9 @@ class TransportSettingController extends BaseController
if (!$info) {
throw new BadRequestHttpException('请求信息不存在');
}
$info['SELECT_AREA'] = trim($info['SELECT_AREA']) ? explode(',', $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['SELECT_AREA'] = trim($info['SELECT_AREA']) ? explode(',', $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']) : [];
$transportBranches = (new ShopPackagingcostsBranches)->transportBranches($model->GUID);
$info['BRANCHES_INFO'] = $transportBranches; //指定省级
......@@ -177,6 +176,10 @@ class TransportSettingController extends BaseController
//验证权限
$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'])) {
throw new BadRequestHttpException('没有修改权限!');
......@@ -225,7 +228,7 @@ class TransportSettingController extends BaseController
}
//如果是总部创建的模板下级不能修改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()) {
Yii::$app->response->statusCode = 422;
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