Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
newShopBack
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
newshop
newShopBack
Commits
ce00d998
Commit
ce00d998
authored
Dec 05, 2019
by
侯贺政
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
运费模板编辑
Signed-off-by:
houhezheng
<
houhezheng@romens.cn
>
parent
cc25aa8f
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
131 additions
and
10 deletions
+131
-10
urlmanager.php
backend/config/urlmanager.php
+1
-0
TransportSettingController.php
...d/controllers/v1/transport/TransportSettingController.php
+124
-3
ShopPackagingcostsBranches.php
backend/models/v1/transport/ShopPackagingcostsBranches.php
+1
-1
TransportSetting.php
backend/models/v1/transport/TransportSetting.php
+5
-6
No files found.
backend/config/urlmanager.php
View file @
ce00d998
...
...
@@ -227,6 +227,7 @@ return [
'extraPatterns'
=>
[
'GET,OPTIONS transport-templates'
=>
'transport-templates'
,
'GET,OPTIONS transport-fee-details'
=>
'transport-fee-details'
,
'PUT,OPTIONS transport-fee-update'
=>
'transport-fee-update'
,
],
],
//o2o起送价设置
...
...
backend/controllers/v1/transport/TransportSettingController.php
View file @
ce00d998
...
...
@@ -8,8 +8,11 @@ use app\models\v1\transport\ShopPackagingcostsBranches;
use
app\models\v1\shopuser\ShopUserMembergrade
;
use
app\models\v1\transport\ShopTransportType
;
use
backend\controllers\v1\BaseController
;
use
backend\helpers\Func
;
use
Yii
;
use
yii\web\BadRequestHttpException
;
use
yii\web\HttpException
;
use
yii\web\ServerErrorHttpException
;
class
TransportSettingController
extends
BaseController
{
...
...
@@ -78,7 +81,7 @@ class TransportSettingController extends BaseController
* SELECT_AREA:配送城市,
* DESCRIPTION:简介,
* LIMIT_MEMBER_GROUP_GUID:限制人群,
* GROUP_GUID:权限
(所属门店GUID)
,
* GROUP_GUID:权限,
* TRANSPOR_TTYPE_ALL:所有运送方式列表
* GUID:运送方式guid,
* NAME:运送方式名称,
...
...
@@ -107,6 +110,7 @@ class TransportSettingController extends BaseController
}
$info
[
'SELECT_AREA'
]
=
explode
(
','
,
$info
[
'SELECT_AREA'
]);
$info
[
'LIMIT_MEMBER_GROUP_GUID'
]
=
explode
(
','
,
$info
[
'LIMIT_MEMBER_GROUP_GUID'
]);
$transType
=
(
new
ShopTransportType
)
->
BranchTransportInfo
();
$info
[
'TRANSPOR_TTYPE_ALL'
]
=
$transType
;
//所有运送方式
$memberGroup
=
ShopUserMembergrade
::
find
()
->
select
([
'GUID'
,
'NAME'
])
->
all
();
...
...
@@ -118,8 +122,8 @@ class TransportSettingController extends BaseController
$permit
=
1
;
$branchInfo
=
ShopBranch
::
find
()
->
select
([
'BRANCH_TYPE'
,
'SUPPROVINCE_GUID'
])
->
where
([
'GUID'
=>
$info
[
'GROUP_GUID'
]]);
$userInfo
=
(
new
ShopRbacUser
)
->
getRbacUserInfo
(
Yii
::
$app
->
user
->
identity
->
GUID
);
//总部权限管理员1,分部管理员权限2
,门店权限3
。非权限内不可保存编辑
if
(
!
in_array
(
$userInfo
[
'ROLE_ID'
],
[
1
,
2
]))
{
//总部权限管理员1,分部管理员权限2。非权限内不可保存编辑
if
(
!
in_array
(
$userInfo
[
'ROLE_ID'
],
[
USER_ROLE_REGION_ADMIN
,
USER_ROLE_HEADQUARTERS_ADMIN
]))
{
$permit
=
0
;
}
//分部管理员权限2,分部管理员所属上级与运送模板创建所属上级不一致时不准保存编辑
...
...
@@ -129,4 +133,121 @@ class TransportSettingController extends BaseController
$info
[
'IS_PERMIT'
]
=
$permit
;
//是否准许编辑保存,1:准许保存编辑,0:禁止保存编辑
return
$info
;
}
/**
* @OA\Put(
* path="/backend/web/v1/transport/transport-settings/transport-fee-update",
* tags={"配送管理"},
* summary="更新运费模板信息详情(侯贺政)",
* description="更新(运费模板信息详情",
* @OA\RequestBody(
* required=true,
* description="注:模板GUID、配送方式、是否启用必填,其他根据需要选填;限制人群、配送城市、指定省级多项使用英文逗号隔开。",
* @OA\MediaType(
* mediaType="application/x-www-form-urlencoded",
* @OA\Schema(
* type="object",
* required={"GUID","TRANSPOR_TTYPE","IS_USED"},
* @OA\Property(property="GUID", type="string",description="运费模板GUID"),
* @OA\Property(property="TRANSPOR_TTYPE" ,type="string", description="配送方式"),
* @OA\Property(property="BASE_FEE", type="float(18,2)",description="统一费用(元)"),
* @OA\Property(property="BASE_WEIGHT", type="string",description="首重(克)"),
* @OA\Property(property="BASE_WEIGHT_FEE", type="float(18,2)",description="首重费用(元)"),
* @OA\Property(property="INCREASE_WEIGHT", type="string",description="续重(克)"),
* @OA\Property(property="INCREASE_WEIGHT_FEE", type="float(18,2)",description="续重费用(元)"),
* @OA\Property(property="IS_USED", type="int",description="是否启用(默认启用)",example="1"),
* @OA\Property(property="DESCRIPTION", type="string",description="简介"),
* @OA\Property(property="LIMIT_MEMBER_GROUP_GUID", type="string",description="限制人群(GUID)"),
* @OA\Property(property="SELECT_AREA", type="string",description="配送城市(GUID)"),
* @OA\Property(property="BRANCHES_INFO", type="string",description="指定省级(GUID)"),
*
* )
* ),
* ),
* @OA\Response(
* response=200,
* description="更新成功!"
* ),
* security={{"Authorization":{}}},
* )
*/
public
function
actionTransportFeeUpdate
()
{
$params
=
Yii
::
$app
->
request
->
bodyParams
;
$model
=
new
$this
->
modelClass
();
$_model
=
$model
::
findOne
(
$params
[
'GUID'
]);
if
(
!
$_model
)
{
throw
new
BadRequestHttpException
(
'Requested resource does not exist !'
);
}
//验证权限
// $branchInfo = ShopBranch::find()->select(['BRANCH_TYPE', 'SUPPROVINCE_GUID'])->where(['GUID' => $_model['GROUP_GUID']])->one(); //门店管理权限,或三级及以下权限用
$userInfo
=
(
new
ShopRbacUser
)
->
getRbacUserInfo
(
Yii
::
$app
->
user
->
identity
->
GUID
);
//分部管理员权限2,(当同为省级,非管理员所属省级不可编辑;属于上级创建可编辑)
if
(
$userInfo
[
'ROLE_ID'
]
==
USER_ROLE_REGION_ADMIN
&&
(
$userInfo
[
'BRANCH_GUID'
]
!=
$_model
[
'GROUP_GUID'
])
&&
(
$userInfo
[
'PARENT_BRANCH_GUID'
]
!=
$_model
[
'GROUP_GUID'
]))
{
throw
new
BadRequestHttpException
(
'没有修改权限!'
);
}
$_model
->
attributes
=
[
"TRANSPOR_TTYPE"
=>
$params
[
'TRANSPOR_TTYPE'
],
"BASE_FEE"
=>
is_numeric
(
$params
[
'BASE_FEE'
])
?
$params
[
'BASE_FEE'
]
:
0
,
"BASE_WEIGHT"
=>
is_numeric
(
$params
[
'BASE_WEIGHT'
])
?
$params
[
'BASE_WEIGHT'
]
:
'0'
,
"BASE_WEIGHT_FEE"
=>
is_numeric
(
$params
[
'BASE_WEIGHT_FEE'
])
?
$params
[
'BASE_WEIGHT_FEE'
]
:
0
,
"INCREASE_WEIGHT"
=>
is_numeric
(
$params
[
'INCREASE_WEIGHT'
])
?
$params
[
'INCREASE_WEIGHT'
]
:
'0'
,
"INCREASE_WEIGHT_FEE"
=>
is_numeric
(
$params
[
'INCREASE_WEIGHT_FEE'
])
?
$params
[
'INCREASE_WEIGHT_FEE'
]
:
0
,
"IS_USED"
=>
is_null
(
$params
[
'IS_USED'
])
?
1
:
$params
[
'IS_USED'
],
"DESCRIPTION"
=>
$params
[
'DESCRIPTION'
],
"LIMIT_MEMBER_GROUP_GUID"
=>
$params
[
'LIMIT_MEMBER_GROUP_GUID'
],
"SELECT_AREA"
=>
$params
[
'SELECT_AREA'
],
];
//删除条件:总部权限删除所有,省级只能删除自己。
switch
(
$userInfo
[
'ROLE_ID'
])
{
case
'1'
:
$where
=
[
'ACTIVITY_GUID'
=>
$params
[
'GUID'
]];
break
;
case
'2'
:
$where
=
[
'ACTIVITY_GUID'
=>
$params
[
'GUID'
],
'BRANCH_GUID'
=>
$userInfo
[
'BRANCH_GUID'
]];
break
;
default
:
$where
=
"1>2"
;
break
;
}
//开启事务
$packagingcostsBranches
=
new
ShopPackagingcostsBranches
();
$transaction
=
$packagingcostsBranches
->
getDb
()
->
beginTransaction
();
try
{
//先删除所有省级
$packagingcostsBranches
->
deleteAll
(
$where
);
//如果存在省级重新添加到数据库
if
(
!
empty
(
$params
[
'BRANCHES_INFO'
]))
{
$branches
=
explode
(
','
,
$params
[
'BRANCHES_INFO'
]);
foreach
(
$branches
as
$value
)
{
$branch_list
[]
=
[
Func
::
create_guid
(),
Yii
::
$app
->
user
->
identity
->
ORG_GUID
,
$params
[
'GUID'
],
$value
,
'TRANSPORTFEE'
,
date
(
'Y-m-d H:i:s'
)
];
}
$keys
=
[
'GUID'
,
'ORG_GUID'
,
'ACTIVITY_GUID'
,
'BRANCH_GUID'
,
'ACTIVITY_TYPE'
,
'CREATE_TIME'
];
$packagingcostsBranches
->
getDb
()
->
createCommand
()
->
batchInsert
(
$packagingcostsBranches
::
tableName
(),
$keys
,
$branch_list
)
->
execute
();
}
$transaction
->
commit
();
}
catch
(
\Throwable
$th
)
{
$transaction
->
rollBack
();
throw
new
ServerErrorHttpException
(
$th
);
}
//如果是总部创建的模板门店不能修改shop_transport_setting 数据
if
(
$userInfo
[
'PARENT_BRANCH_GUID'
]
!=
$_model
[
'GROUP_GUID'
])
{
if
(
!
$_model
->
save
())
{
Yii
::
$app
->
response
->
statusCode
=
422
;
return
$_model
->
errors
;
}
}
throw
new
HttpException
(
200
,
"更新成功!"
);
}
}
backend/models/v1/transport/ShopPackagingcostsBranches.php
View file @
ce00d998
...
...
@@ -13,7 +13,7 @@ use Yii;
* @property string|null $BRANCH_GUID 门店guid
* @property string|null $ACTIVITY_TYPE 活动类型,包装费(PACKAGING_COSTS)
* @property string|null $CREATE_TIME 添加时间
* @property string|null $YGROUP_CODE
* @property string|null $YGROUP_CODE
权限(当前角色所属门店GUID)
*/
class
ShopPackagingcostsBranches
extends
\app\models\v1\BaseModel
{
...
...
backend/models/v1/transport/TransportSetting.php
View file @
ce00d998
...
...
@@ -25,7 +25,7 @@ use yii\data\ActiveDataProvider;
* @property int|null $IS_USED 是否启用
* @property string $PLATFORM_TYPE 运费模板所属平台(shop,points)默认shop
* @property string|null $LIMIT_MEMBER_GROUP_GUID 限制人群
* @property string|null $GROUP_GUID 权限(
所属门店
)
* @property string|null $GROUP_GUID 权限(
当前角色所属门店GUID
)
*/
class
TransportSetting
extends
\app\models\v1\BaseModel
{
...
...
@@ -84,24 +84,23 @@ class TransportSetting extends \app\models\v1\BaseModel
* @params string $platform_type 运费模板所属平台
* @return array|null 返回运费模板列表
*/
public
function
templates
(
$platform_type
,
$where
=
[]
)
public
function
templates
(
$platform_type
)
{
$userInfo
=
(
new
ShopRbacUser
)
->
getRbacUserInfo
(
Yii
::
$app
->
user
->
identity
->
GUID
);
//省级权限,只展示省级所属的信息
if
(
$userInfo
[
'ROLE_ID'
]
==
2
)
{
$activityGUID
=
[];
if
(
$userInfo
[
'ROLE_ID'
]
==
USER_ROLE_REGION_ADMIN
)
{
$array
=
ShopPackagingcostsBranches
::
transportSetting
(
$userInfo
[
'BRANCH_GUID'
]);
$activityGUID
=
[];
foreach
(
$array
as
$key
=>
$value
)
{
$activityGUID
[]
=
$value
[
'ACTIVITY_GUID'
];
}
$where
=
[
'ts.GUID'
=>
$activityGUID
];
}
$query
=
static
::
find
()
->
alias
(
'ts'
)
->
select
([
'ts.GUID'
,
'stt.NAME as TRANSPORT_NAME'
,
'ts.BASE_FEE'
,
'ts.BASE_WEIGHT'
,
'ts.BASE_WEIGHT_FEE'
,
'ts.IS_USED'
,
'ts.SELECT_AREA'
])
->
leftJoin
(
'shop_transport_type stt'
,
'ts.TRANSPOR_TTYPE=stt.GUID'
)
->
where
([
'ts.PLATFORM_TYPE'
=>
$platform_type
])
->
and
Where
(
$where
);
->
and
FilterWhere
([
'ts.GUID'
=>
$activityGUID
]
);
$dataProvider
=
new
ActiveDataProvider
([
'query'
=>
$query
->
asArray
(),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment