فهرست منبع

添加导出接口

wangjiang988 5 سال پیش
والد
کامیت
fa18d7aa9c

+ 1 - 0
src/main/java/platform/common/Constant.java

@@ -820,6 +820,7 @@ public final class Constant {
     public static final String PROJECT = "Dysmsapi";
     public static final String DOMAIN = "dysmsapi.aliyuncs.com";
 
+    //  TODO 模板编码需要跟新
     //短信模板template Code
     public static final class SMS_TemplateCode {
         //存量用地街道确认通知企业

+ 88 - 0
src/main/java/platform/modules/carrier/web/PlatformController.java

@@ -5,6 +5,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import platform.common.base.controller.BaseController;
 import platform.common.base.service.DictionaryItemService;
+import platform.common.util.excel.DynamicOneSheetEasyExcel;
+import platform.common.util.excel.OneSheetEasyExcel;
 import platform.modules.carrier.dto.CustomSearchCondition;
 import platform.modules.carrier.dto.SearchCondition;
 import platform.modules.carrier.entity.Park;
@@ -15,6 +17,11 @@ import platform.modules.government.entity.Street;
 import platform.modules.government.service.StreetService;
 import platform.modules.sys.web.ResponseMessage;
 
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -70,6 +77,87 @@ public class PlatformController extends BaseController {
         return ResponseMessage.success("success", pageInfo);
     }
 
+    /**
+     * 获取所有园区
+     *  本地导出链接:localhost:8080/myboot/platform/exportPageInfo
+     * @return
+     */
+    @GetMapping("/exportPageInfo")
+    public Object exportCarrierInfo(
+            HttpServletResponse response,
+            SearchCondition condition
+    ) throws IOException, IllegalAccessException {
+        condition.setFileUrl(setFileUrl());
+        PageInfo<Park> pageInfo = parkService.findParkList(1, 10000, condition);
+
+        OneSheetEasyExcel excel = new DynamicOneSheetEasyExcel();
+        // 这里URLEncoder.encode可以防止中文乱码
+        String fileName = URLEncoder.encode("园区信息", "UTF-8");
+        // 设置excel文件名称
+        excel.setName(fileName);
+        // 设置sheet名称,只导出一个sheet,所以只设置一次
+        excel.setSheetName("data");
+        // 按顺序设置列头
+        excel.setHeader("ID")
+                .setHeader("编号")
+                .setHeader("名称")
+                .setHeader("位置")
+                .setHeader("logo图片地址")
+                .setHeader("所属街道ID")
+                .setHeader("所属街道名称")
+//                .setHeader("面积")
+//                .setHeader("剩余可用面积")
+                .setHeader("内容(园内特色服务)")
+                .setHeader("园区概况介绍")
+                .setHeader("园区概况介绍-超出");
+
+        response.setContentType("application/vnd.ms-excel");
+        response.setCharacterEncoding("utf-8");
+        // 设置返回文件名称
+        response.setHeader("Content-disposition", "attachment;filename=" + excel.getName());
+        // 准备数据 , 下面这部分代码可以直接由service里完成
+        List<List<String>> data = new ArrayList<>();
+
+        List<Park> list = pageInfo.getList();
+        list.forEach(park -> {
+            String overview = park.getOverview();
+            String overview2 = "";
+            if (overview !=null && overview.length() > 32000) {
+                overview = park.getOverview().substring(0, 32000);
+                overview2 = park.getOverview().substring(32000);
+            }
+
+            String content = park.getContent();
+//            if (content != null &&  content.length() > 32000) {
+//                content = park.getContent().substring(0, 32000);
+//            }
+
+            String picUrl = "";
+            if (park.getMain_pic_url() != null) {
+                picUrl =  "http://escloud.snd.gov.cn/uploads" + park.getMain_pic_url();
+            }
+
+            data.add(
+                Arrays.asList(
+                        park.getId().toString(),
+                        park.getNo(),
+                        park.getName(),
+                        park.getLocation(),
+                        picUrl,
+                        park.getStreet_id().toString(),
+                        park.getStreetName(),
+//                        park.getArea().toString(),
+//                        park.getRest_area().toString(),
+                        content,
+                        overview,
+                        overview2
+                ));
+        });
+        // 将准备好的data 塞入excel对象里,实现导出
+        excel.exportData(data, response);
+        return ResponseMessage.success("success");
+    }
+
     /**
      *  获取所有街道
      *