Commit a361f316 authored by 孙磊's avatar 孙磊

门店列表

parent b8262b96
...@@ -46,7 +46,8 @@ return [ ...@@ -46,7 +46,8 @@ return [
'GET,OPTIONS user-list' => 'user-list', 'GET,OPTIONS user-list' => 'user-list',
'GET,OPTIONS user-detail'=>'user-detail', 'GET,OPTIONS user-detail'=>'user-detail',
'GET,OPTIONS user-update'=>'user-update', 'GET,OPTIONS user-update'=>'user-update',
'GET,OPTIONS user-delete'=>'user-delete', 'GET,OPTIONS user-delete'=>'user-delete',
'GET,OPTIONS branch-list'=>'branch-list',
], ],
], ],
'GET swaggers/swagger/<id>'=>'swagger/swagger', 'GET swaggers/swagger/<id>'=>'swagger/swagger',
......
...@@ -9,4 +9,56 @@ class BranchController extends BaseController ...@@ -9,4 +9,56 @@ class BranchController extends BaseController
{ {
public $modelClass = 'app\models\v1\branch\ShopBranch'; public $modelClass = 'app\models\v1\branch\ShopBranch';
/**
* @OA\Get(
* path="/backend/web/v1/branch/branches/branch-list",
* tags={"门店&DC"},
* description="门店列表",
* summary="门店列表(孙磊)",
* @OA\Parameter(name="page",in="query",description="分页页码",@OA\Schema(type="int")),
* @OA\Parameter(name="IS_CARE",in="query",description="是否医保",@OA\Schema(type="int")),
* @OA\Parameter(name="IS_POINTS_SHOP",in="query",description="是否积分商城门店",@OA\Schema(type="int")),
* @OA\Parameter(name="IS_SHELVE",in="query",description="是否营业",@OA\Schema(type="int")),
* @OA\Parameter(name="BRANCH_TYPE",in="query",description="所属分公司",@OA\Schema(type="string")),
* @OA\Parameter(name="IS_DELIVERY_CODECHAIN_GOODS",in="query",description="是否冷链配送",@OA\Schema(type="int")),
* @OA\Parameter(name="IS_O2O",in="query",description="是否O2O门店",@OA\Schema(type="int")),
* @OA\Parameter(name="CODE",in="query",description="门店名称或编码",@OA\Schema(type="string")),
* @OA\Response(response="200",description="
* GUID:门店GUID,
* ORG_GUID:组织机构号,
* CODE:门店编号,
* NAME:门店名称,
* ADDRESS:地址,
* IS_CARE:是否医保,1:是,
* IS_O2O:是否O2O门店,1:是
* IS_SHELVE:是否营业
* IS_DELIVERY_CODECHAIN_GOODS:是否冷链配送
* "),
* security={{"Authorization": {}}}
* )
*/
public function actionBranchList()
{
$model = new $this->modelClass();
$params = Yii::$app->request->queryParams;
$model->attributes = $params;
if ($model->validate()) {
//所有输入数据都有效 all inputs are valid
$info = $model->BranchInfo($params);
if (!$list = $info->getModels()) {
throw new BadRequestHttpException('未找到符合的门店列表信息');
}
foreach($list as $key => $val){
$list[$key]['DETAIL_ADDRESS'] = $val['PROVINCE'].$val['CITY'].$val['REGION'].$val['ADDRESS'];
}
$info->setModels($list);
return $info;
} else {
//验证失败:$errors 是一个包含错误信息的数组
$errors = $model->errors;
return $errors;
}
}
} }
...@@ -97,7 +97,7 @@ class ShopBranch extends BaseModel ...@@ -97,7 +97,7 @@ class ShopBranch extends BaseModel
public function rules() public function rules()
{ {
return [ return [
[['GUID', 'ORG_GUID', 'CODE', 'NAME'], 'required'], [['GUID', 'ORG_GUID', 'CODE', 'NAME'], 'required','on'=>['create','update']],
[['ADDRESS', 'BRANCH_IMAGE_PATH', 'LICENCE_IMAGE_PATH', 'NOTICE_USER', 'CONTACTS_WXID', 'TRANSPORT_TYPE', 'RETURN_ADDRESS'], 'string'], [['ADDRESS', 'BRANCH_IMAGE_PATH', 'LICENCE_IMAGE_PATH', 'NOTICE_USER', 'CONTACTS_WXID', 'TRANSPORT_TYPE', 'RETURN_ADDRESS'], 'string'],
[['IS_DELIVERY', 'IS_CARE', 'IS_RESERV', 'IS_O2O', 'IS_BOIL_MEDICINE', 'IS_POINTS_SHOP', 'IS_PICK_UP_STATION', 'IS_VIRTUAL_BRANCH', 'IS_SHELVE', 'BRANCH_TYPE', 'IS_DELIVERY_CODECHAIN_GOODS', 'SCORE', 'GOODS_TYPE', 'IS_B2C', 'TOTAL_VOLUME'], 'integer'], [['IS_DELIVERY', 'IS_CARE', 'IS_RESERV', 'IS_O2O', 'IS_BOIL_MEDICINE', 'IS_POINTS_SHOP', 'IS_PICK_UP_STATION', 'IS_VIRTUAL_BRANCH', 'IS_SHELVE', 'BRANCH_TYPE', 'IS_DELIVERY_CODECHAIN_GOODS', 'SCORE', 'GOODS_TYPE', 'IS_B2C', 'TOTAL_VOLUME'], 'integer'],
[['DELIVERY_LIMIT', 'PICKUP_LIMIT', 'TRANSFERS_RATE'], 'number'], [['DELIVERY_LIMIT', 'PICKUP_LIMIT', 'TRANSFERS_RATE'], 'number'],
...@@ -197,4 +197,56 @@ class ShopBranch extends BaseModel ...@@ -197,4 +197,56 @@ class ShopBranch extends BaseModel
{ {
return $this->hasMany(CityDistributionSetting::className(), ['BRANCH_GUID' => 'GUID']); return $this->hasMany(CityDistributionSetting::className(), ['BRANCH_GUID' => 'GUID']);
} }
/**
* 查询门店列表
* @params array $params 查询参数数组
* @return array|null 返回查询结果
*/
public function BranchInfo($params)
{
$query = static::find()->alias('sb')
->select("sb.GUID,sb.NAME,sb.CODE,sb.ADDRESS,sb.PHONE,sb.LAT,sb.LNG,vwb.PROVINCE,vwb.CITY,vwb.REGION,sb.ADDRESS,sb.IS_CARE" )
->leftJoin('VW_BRANCH_ADDRESS vwb', 'vwb.GUID=sb.GUID');
//是否医保
if (isset($params['IS_CARE'])) {
$query->andfilterWhere(['like', 'sb.IS_CARE', $params['IS_CARE']]);
}
//是否积分门店
if (isset($params['IS_POINTS_SHOP'])) {
$query->andfilterWhere(['=', 'sb.IS_POINTS_SHOP', $params['IS_POINTS_SHOP']]);
}
//是否营业
if (isset($params['IS_SHELVE'])) {
$query->andfilterWhere(['=', 'sb.IS_SHELVE', $params['IS_SHELVE']]);
}
//所属分公司
if (isset($params['BRANCH_TYPE'])) {
$query->andfilterWhere(['like', 'sb.BRANCH_TYPE', $params['BRANCH_TYPE']]);
}
//是否冷链配送
if (isset($params['IS_DELIVERY_CODECHAIN_GOODS'])) {
$query->andfilterWhere(['=', 'sb.IS_DELIVERY_CODECHAIN_GOODS', $params['IS_DELIVERY_CODECHAIN_GOODS']]);
}
//是否o2o门店
if (isset($params['IS_O2O'])) {
$query->andfilterWhere(['=', 'sb.IS_O2O', $params['IS_O2O']]);
}
//门店名称或编码
if (isset($params['CODE'])) {
$query->orfilterWhere(['like', 'sb.CODE', $params['CODE']]);
$query->orfilterWhere(['like', 'sb.NAME', $params['CODE']]);
}
return new ActiveDataProvider([
'query' => $query->asArray(),
'pagination' => [
'pageSize' => 10
],
'sort' => [
'attributes' => [
'CODE' => SORT_DESC
]
]
]);
}
} }
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