|
@@ -62,28 +62,30 @@ class Addr extends BaseController
|
|
|
}
|
|
|
|
|
|
public function query(){
|
|
|
- $post=$this->request->only(["code"=>'',"level"=>3],"post","trim");
|
|
|
- $valid =Validate::rule(["code|查询编号"=>"require|max:255","level|查询层级"=>"require|number|in:1,2,3"]);
|
|
|
+ $post=$this->request->only(["code"=>'',"name"=>"","level"=>"1"],"post","trim");
|
|
|
+ $valid =Validate::rule(["code|查询编号"=>"max:255","name|名称"=>"max:255","level"=>"require|max:255|in:1,2,3"]);
|
|
|
if($valid->check($post)==false)return error_show(1004,$valid->getError());
|
|
|
- $data=["province"=>[],"city"=>[],"area"=>[]];
|
|
|
- $code =$post['code'];
|
|
|
- if($post['level']==3){
|
|
|
- $area =Db::name("area")->where(['area_code'=>$code])->field("name,area_code as code,city_code")->findOrEmpty();
|
|
|
- $data["area"]=$area;
|
|
|
- $code=$area['city_code'];
|
|
|
+ $where=[];
|
|
|
+ if($post['code']!='') $where[]=["parent_code","=",$post['code']];
|
|
|
+ if($post['name']!='') $where[]=["search_name","like","%{$post['name']}%"];
|
|
|
+ if($post['level']==1){
|
|
|
+ $model = Db::name("provice")->field("name,province_code code,0 parent_code,name search_name")->buildSql();
|
|
|
}
|
|
|
+ if($post['level']==2){
|
|
|
+ $model = Db::name("city")->alias("a")
|
|
|
+ ->leftJoin("province b","a.province_code=b.province_code")
|
|
|
+ ->field("a.name,city_code code,a.province_code parent_code,CONCAT(b.name,a.name) search_name")->buildSql();
|
|
|
+ }
|
|
|
+ if($post['level']==3){
|
|
|
+ $model = Db::name("area")->alias("a")
|
|
|
+ ->leftJoin("city b","a.city_code=b.city_code")
|
|
|
+ ->leftJoin("province b","a.province_code=b.province_code")
|
|
|
+ ->field("a.name,a.area_code code,a.city_code parent_code,CONCAT(c.name,b.name,a.name) search_name")
|
|
|
+ ->buildSql();
|
|
|
+ }
|
|
|
+// $count = Db::table($model . ' f')->where($where)->count();
|
|
|
|
|
|
- if($post['level']>=2){
|
|
|
- $city=Db::name("city")->where(['city_code'=>$code])->field("name,city_code as code,province_code")
|
|
|
- ->findOrEmpty();
|
|
|
- $data["city"]=$city;
|
|
|
- $code=$city['province_code'];
|
|
|
- }
|
|
|
- if($post['level']>=1){
|
|
|
- $province=Db::name("province")->where(['province_code'=>$code])->field("name,province_code as code")
|
|
|
- ->findOrEmpty();
|
|
|
- $data['province']=$province;
|
|
|
- }
|
|
|
+ $data = Db::table($model . ' f')->where($where)->select();
|
|
|
return app_show(0,"获取成功",$data);
|
|
|
}
|
|
|
}
|