rabin há 2 anos atrás
pai
commit
ca8e2d340b
2 ficheiros alterados com 32 adições e 3 exclusões
  1. 10 0
      database/address.php
  2. 22 3
      src/Address.php

+ 10 - 0
database/address.php

@@ -145,6 +145,16 @@ return array
 			//'update'	=> 'text',
 		),
 
+		'town'		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> '街道',
+			'default' 	=> '',
+			'desc' 		=> '街道',
+			'match' 	=> 'option',
+			//'update'	=> 'text',
+		),
+
 		'area'		=> array
 		(
 			'type' 		=> 'varchar-800',

+ 22 - 3
src/Address.php

@@ -48,12 +48,20 @@ class Address  extends Base
     private function getInfo($data)
     {
         $data['address_info'] = $data['add_string'] = $data['address'] . $data['house_number'];
-        $data['province_name'] = $data['city_name'] = $data['county_name'] = '';
+        $data['province_name'] = $data['city_name'] = $data['county_name'] = $data['town_name'] = '';
+        if ($data['town']) {
+            $town = Dever::db('area/county')->find($data['town']);
+            $data['town_name'] = $town['name'];
+        }
+        
         if ($data['county']) {
 
             $info = Dever::db('area/county')->find($data['county']);
             if ($info) {
                 $data['county_name'] = $info['name'];
+                if ($data['town_name']) {
+                    $data['county_name'] .= ',' . $data['town_name'];
+                }
 
                 $data['city'] = $info['city_id'];
 
@@ -73,6 +81,9 @@ class Address  extends Base
             $info = Dever::db('area/county')->find($data['city']);
             if ($info) {
                 $data['county_name'] = $info['name'];
+                if ($data['town_name']) {
+                    $data['county_name'] .= ',' . $data['town_name'];
+                }
 
                 $data['city'] = $info['city_id'];
 
@@ -150,16 +161,17 @@ class Address  extends Base
         $contact = Dever::input('contact');
         $address = Dever::input('address');
         $country = Dever::input('country');
+        $town = Dever::input('town');
         $mobile = Dever::input('mobile');
         $sex = Dever::input('sex');
         $house_number = Dever::input('house_number');
         $tag = Dever::input('tag');
 
-        return $this->upAddress($id, $uid, $type, $mobile, $contact, $province, $city, $county, $address, $country, $sex, $house_number, $tag);
+        return $this->upAddress($id, $uid, $type, $mobile, $contact, $province, $city, $county, $town, $address, $country, $sex, $house_number, $tag);
     }
 
     # 添加或者更新地址
-    public function upAddress($id, $uid, $type = 2, $mobile, $contact, $province = '', $city = '', $county = '', $address = '', $country = '', $sex = '', $house_number = '', $tag = '')
+    public function upAddress($id, $uid, $type = 2, $mobile, $contact, $province = '', $city = '', $county = '', $town = '', $address = '', $country = '', $sex = '', $house_number = '', $tag = '')
     {
         if ($contact) {
             $update['contact'] = $contact;
@@ -184,10 +196,17 @@ class Address  extends Base
         if ($county) {
             $update['county'] = $county;
         }
+
+        if ($town) {
+            $update['town'] = $town;
+        }
         
         if ($province && $city && $county) {
 	        $update['area'] = $province . ',' . $city . ',' . $county;
         }
+        if ($town) {
+            $update['area'] .= ',' . $town;
+        }
 
         $update['type'] = $type;