Commit d167f002 authored by 孙磊's avatar 孙磊

O2O起送价 权限优化

Signed-off-by: 孙磊's avatarsunlei <sunlei@romens.cn>
parent 19bdda2e
......@@ -14,6 +14,7 @@ use backend\helpers\Func;
use yii\web\HttpException;
use app\models\v1\rbacuser\ShopRbacUser;
use app\models\v1\branch\ShopBranch;
use app\models\v1\branch\ShopCityDistributionSetting;
class TransportInitialPriceController extends BaseController
{
......@@ -46,18 +47,17 @@ class TransportInitialPriceController extends BaseController
*/
public function actionInitialPriceList()
{
$model = new ShopCityDistributionRegion();
$params = Yii::$app->request->queryParams;
//权限信息
$rbac = new ShopRbacUser();
$userGuid = Yii::$app->user->identity->GUID;
$userinfo = $rbac->getRbacUserInfo($userGuid);
if ($userinfo) {
$params['BRANCH_GUID'] = $userinfo['BRANCH_GUID'];
} else {
$params['BRANCH_GUID'] = '';
}
$params['BRANCH_GUID'] = 003;
$model = new ShopCityDistributionRegion();
$params = Yii::$app->request->queryParams;
//当前权限允许的区域GUID
$guids = $this->getRegionGuid($userinfo);
$params['REGION_GUID'] = $guids;
$model->attributes = $params;
if ($model->validate()) {
//所有输入数据都有效 all inputs are valid
......@@ -72,6 +72,36 @@ class TransportInitialPriceController extends BaseController
return $model->errors;
}
}
/**
* 获取符合权限的优惠券
* @param $userinfo 用户权限信息
*/
public function getRegionGuid($userinfo)
{
$city_dis_setting = new ShopCityDistributionSetting();
//省级管理员的优惠券
if ($userinfo['ROLE_ID']) {
$branch_guid = $userinfo['BRANCH_GUID'];
if ($branch_guid) {
$userbranch = $city_dis_setting->getInitialCoupon($branch_guid, $userinfo['ROLE_ID']);
//去掉重复的
$userbranchcouponguid = array();
if ($userbranch) {
foreach ($userbranch as $k1 => $v1) {
$userbranchcouponguid[] = $v1['GUID'];
}
}
if (!$userbranchcouponguid) {
$userbranchcouponguid = "";
}
return $userbranchcouponguid;
} else {
return '';
}
} else {
return '';
}
}
/**
* @OA\PUT(
* path="/backend/web/v1/transport/transport-initial-prices/revise-initial-price",
......@@ -160,19 +190,18 @@ class TransportInitialPriceController extends BaseController
foreach ($tempArr as $key => $value) {
$CS_BRANCH_GUID = Yii::$app->user->identity->ORG_GUID . '-' . $value[0];
$_citydisregion = $citydisregion->getBranchInitialPrice('', $CS_BRANCH_GUID);
// $_citydisregion = $citydisregion->getBranchInitialPrice('',003);
// $_citydisregion = $citydisregion->getBranchInitialPrice('', 003);
//权限信息
$rbac = new ShopRbacUser();
$userGuid = Yii::$app->user->identity->GUID;
$userinfo = $rbac->getRbacUserInfo($userGuid);
//return $userinfo;
//判断当前账号是省级还是门店还是总部
if ($userinfo['ROLE_ID'] == USER_ROLE_HEADQUARTERS_ADMIN || $userinfo['ROLE_ID'] == USER_ROLE_REGION_ADMIN) {
if ($userinfo['ROLE_ID'] == USER_ROLE_REGION_ADMIN) {
//如果是省级,查询出该门店是否是该省级下的
$branchModel = new ShopBranch();
// $userinfo['BRANCH_GUID'] = 003;
$isbrancharr = $branchModel->GetBranch($CS_BRANCH_GUID, $userinfo['BRANCH_GUID']);
// $isbrancharr = $branchModel->GetBranch(003, 003);
if (!$isbrancharr) {
continue;
}
......
......@@ -98,10 +98,8 @@ class ShopCityDistributionRegion extends BaseModel
$query->andfilterWhere(['or', ['like', 'sb.CODE', $params['CODE']], ['like', 'sb.NAME', $params['CODE']]]);
}
//当前权限允许的门店
if (isset($params['BRANCH_GUID']) && !empty($params['BRANCH_GUID'])) {
$query->andFilterWhere(['or', ['=', 'ifnull(sb.SUPPROVINCE_GUID,cs.BRANCH_GUID)', $params['BRANCH_GUID']], ['=', "ifnull(sb.PARENT_GUID,'')", $params['BRANCH_GUID']]]);
//$query->andWhere(['not', ['sg.GUID' => '']]);
$query->andWhere(['!=', 'sg.GUID', '']);
if (isset($params['REGION_GUID']) && !empty($params['REGION_GUID'])) {
$query->andFilterWhere(['sg.GUID' => $params['REGION_GUID']]);
}
//批量修改 条件
if (isset($guid) && !empty($guid)) {
......
......@@ -296,4 +296,26 @@ class ShopCityDistributionSetting extends BaseModel
$branch_info['B2C'] = $b2c;
return $branch_info;
}
//获取起送价优惠
public function getInitialCoupon($branch_guid, $role_id)
{
$query = static::find()->alias('cs')
->select("sg.GUID,sb.SUPPROVINCE_GUID,sb.PARENT_GUID")
->leftJoin('SHOP_CITY_DISTRIBUTION_REGION sg', 'cs.GUID=sg.CITY_DISTR_GUID')
->leftJoin('SHOP_BRANCH sb', 'sb.GUID=cs.BRANCH_GUID')
->where(['cs.SETTING_TYPE' => 2]);
//当前权限允许的门店
if (isset($branch_guid) && !empty($branch_guid) && $role_id == USER_ROLE_REGION_ADMIN) {
$query->andFilterWhere(['or', ['=', 'ifnull(sb.SUPPROVINCE_GUID,cs.BRANCH_GUID)', $branch_guid], ['=', "ifnull(sb.PARENT_GUID,'')", $branch_guid]]);
$query->andWhere(['!=', 'sg.GUID', '']);
return $query->all();
} elseif (isset($branch_guid) && !empty($branch_guid) && $role_id == USER_ROLE_STORE_ADMIN) {
$query->andFilterWhere(["ifnull(cs.BRANCH_GUID,'')" => $branch_guid]);
$query->andWhere(['!=', 'sg.GUID', '']);
return $query->all();
} else {
return '';
}
}
}
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