rabin 3 years ago
parent
commit
7b46d35f7a
4 changed files with 108 additions and 3 deletions
  1. 4 1
      database/city.php
  2. 4 1
      database/county.php
  3. 4 1
      database/town.php
  4. 96 0
      lib/Manage.php

+ 4 - 1
database/city.php

@@ -183,7 +183,10 @@ return array
 
 	'manage' => array
 	(
-		
+		'excel' => array
+	    (
+	        array('数据导出', '城市列表', 'area/lib/manage.outCity'),
+	    ),
 	),
 
 	'request' => array

+ 4 - 1
database/county.php

@@ -221,7 +221,10 @@ return array
 
 	'manage' => array
 	(
-		
+		'excel' => array
+	    (
+	        array('数据导出', '区县列表', 'area/lib/manage.outCounty'),
+	    ),
 	),
 
 	'request' => array

+ 4 - 1
database/town.php

@@ -210,7 +210,10 @@ return array
 
 	'manage' => array
 	(
-		
+		'excel' => array
+	    (
+	        array('数据导出', '街道列表', 'area/lib/manage.outTown'),
+	    ),
 	),
 
 	'request' => array

+ 96 - 0
lib/Manage.php

@@ -180,4 +180,100 @@ class Manage
         }
         return 'ok';
     }
+
+    public function outCity($data)
+    {
+        $file = Dever::input('excel_name');
+        $header = array('区域名称', '区域价值');
+        
+        $body = array();
+
+        if ($data) {
+            foreach ($data as $k => $v) {
+                if (is_array($v)) {
+                    $province = Dever::db('area/province')->find($v['province_id']);
+                    $v['name'] = $province['name'] . '' . $v['name'];
+                    if ($v['price'] < 0) {
+                        $price = Dever::load('area/api')->getPrice(1, $v['province_id'] . ',' . $v['id']);
+                    } else {
+                        $price = $v['price'];
+                    }
+                    
+                    $d = array
+                    (
+                        $v['name'],
+                        $price,
+                    );
+                    $body[] = $d;
+                }
+            }
+        }
+
+        return Dever::excelExport($body, $header, $file);
+    }
+
+    public function outCounty($data)
+    {
+        $file = Dever::input('excel_name');
+        $header = array('区域名称', '区域价值');
+        
+        $body = array();
+
+        if ($data) {
+            foreach ($data as $k => $v) {
+                if (is_array($v)) {
+                    $province = Dever::db('area/province')->find($v['province_id']);
+                    $city = Dever::db('area/city')->find($v['city_id']);
+                    $v['name'] = $province['name'] . '' . $city['name'] . '' . $v['name'];
+                    if ($v['price'] < 0) {
+                        $price = Dever::load('area/api')->getPrice(2, $v['province_id'] . ',' . $v['city_id'] . ',' . $v['id']);
+                    } else {
+                        $price = $v['price'];
+                    }
+                    
+                    $d = array
+                    (
+                        $v['name'],
+                        $price,
+                    );
+                    $body[] = $d;
+                }
+            }
+        }
+
+        return Dever::excelExport($body, $header, $file);
+    }
+
+    public function outTown($data)
+    {
+        $file = Dever::input('excel_name');
+        $header = array('区域名称', '区域价值');
+        
+        $body = array();
+
+        if ($data) {
+            foreach ($data as $k => $v) {
+                if (is_array($v)) {
+                    $province = Dever::db('area/province')->find($v['province_id']);
+                    $city = Dever::db('area/city')->find($v['city_id']);
+                    $county = Dever::db('area/county')->find($v['county_id']);
+                    $v['name'] = $province['name'] . '' . $city['name'] . '' . $county['name'] . '' . $v['name'];
+                    if ($v['price'] < 0) {
+                        $price = Dever::load('area/api')->getPrice(3, $v['province_id'] . ',' . $v['city_id'] . ',' . $v['county_id'] . ',' . $v['id']);
+                    } else {
+                        $price = $v['price'];
+                    }
+                    
+                    $d = array
+                    (
+                        $v['name'],
+                        $price,
+                    );
+                    $body[] = $d;
+                }
+            }
+        }
+
+        return Dever::excelExport($body, $header, $file);
+    }
 }