PlatformController.java 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. package platform.modules.carrier.web;
  2. import com.github.pagehelper.PageInfo;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.web.bind.annotation.*;
  5. import platform.common.base.controller.BaseController;
  6. import platform.common.base.service.DictionaryItemService;
  7. import platform.common.util.excel.DynamicOneSheetEasyExcel;
  8. import platform.common.util.excel.OneSheetEasyExcel;
  9. import platform.modules.carrier.dto.CustomSearchCondition;
  10. import platform.modules.carrier.dto.SearchCondition;
  11. import platform.modules.carrier.entity.Park;
  12. import platform.modules.carrier.entity.RentalProject;
  13. import platform.modules.carrier.service.ParkService;
  14. import platform.modules.carrier.service.RentalProjectService;
  15. import platform.modules.government.entity.Street;
  16. import platform.modules.government.service.StreetService;
  17. import platform.modules.sys.web.ResponseMessage;
  18. import javax.servlet.http.HttpServletResponse;
  19. import java.io.IOException;
  20. import java.net.URLEncoder;
  21. import java.util.ArrayList;
  22. import java.util.Arrays;
  23. import java.util.List;
  24. /**
  25. * @author kevin
  26. * @since 2019/7/4 10:20 AM
  27. */
  28. @RestController
  29. @RequestMapping("/platform")
  30. public class PlatformController extends BaseController {
  31. @Autowired
  32. private RentalProjectService rentalProjectService;
  33. @Autowired
  34. private StreetService streetService;
  35. @Autowired
  36. private DictionaryItemService dictionaryItemService;
  37. @Autowired
  38. private ParkService parkService;
  39. /**
  40. * 我的项目查询
  41. *
  42. * @param condition
  43. * @return
  44. * @throws Exception
  45. */
  46. @PostMapping(value = "/rentals")
  47. @ResponseBody
  48. public ResponseMessage list(@RequestBody CustomSearchCondition condition) throws Exception {
  49. log.info("分页查询招商信息,pageNum = {},condition = {}", condition.getPageNum(), condition.toString(), false);
  50. condition.setFile_url(setFileUrl());
  51. PageInfo<RentalProject> pageInfo = rentalProjectService.findMyList(condition.getPageNum(), condition.getPageSize(), condition);
  52. log.info("分页查询招商信息列表结果! pageInfo = {}", pageInfo);
  53. return ResponseMessage.success("success", pageInfo);
  54. }
  55. /**
  56. * 获取所有园区
  57. *
  58. * @return
  59. */
  60. @GetMapping("/parkPages")
  61. public Object getCarrierInfo(
  62. @RequestParam(defaultValue = "1", required = false) Integer pageNum,
  63. @RequestParam(defaultValue = "10", required = false) Integer pageSize, SearchCondition condition){
  64. condition.setFileUrl(setFileUrl());
  65. PageInfo<Park> pageInfo = parkService.findParkList(pageNum, pageSize, condition);
  66. return ResponseMessage.success("success", pageInfo);
  67. }
  68. /**
  69. * 获取所有园区
  70. * 本地导出链接:localhost:8080/myboot/platform/exportPageInfo
  71. * @return
  72. */
  73. @GetMapping("/exportPageInfo")
  74. public Object exportCarrierInfo(
  75. HttpServletResponse response,
  76. SearchCondition condition
  77. ) throws IOException, IllegalAccessException {
  78. condition.setFileUrl(setFileUrl());
  79. PageInfo<Park> pageInfo = parkService.findParkList(1, 10000, condition);
  80. OneSheetEasyExcel excel = new DynamicOneSheetEasyExcel();
  81. // 这里URLEncoder.encode可以防止中文乱码
  82. String fileName = URLEncoder.encode("园区信息", "UTF-8");
  83. // 设置excel文件名称
  84. excel.setName(fileName);
  85. // 设置sheet名称,只导出一个sheet,所以只设置一次
  86. excel.setSheetName("data");
  87. // 按顺序设置列头
  88. excel.setHeader("ID")
  89. .setHeader("编号")
  90. .setHeader("名称")
  91. .setHeader("位置")
  92. .setHeader("logo图片地址")
  93. .setHeader("所属街道ID")
  94. .setHeader("所属街道名称")
  95. // .setHeader("面积")
  96. // .setHeader("剩余可用面积")
  97. .setHeader("内容(园内特色服务)")
  98. .setHeader("园区概况介绍")
  99. .setHeader("园区概况介绍-超出");
  100. response.setContentType("application/vnd.ms-excel");
  101. response.setCharacterEncoding("utf-8");
  102. // 设置返回文件名称
  103. response.setHeader("Content-disposition", "attachment;filename=" + excel.getName());
  104. // 准备数据 , 下面这部分代码可以直接由service里完成
  105. List<List<String>> data = new ArrayList<>();
  106. List<Park> list = pageInfo.getList();
  107. list.forEach(park -> {
  108. String overview = park.getOverview();
  109. String overview2 = "";
  110. if (overview !=null && overview.length() > 32000) {
  111. overview = park.getOverview().substring(0, 32000);
  112. overview2 = park.getOverview().substring(32000);
  113. }
  114. String content = park.getContent();
  115. // if (content != null && content.length() > 32000) {
  116. // content = park.getContent().substring(0, 32000);
  117. // }
  118. String picUrl = "";
  119. if (park.getMain_pic_url() != null) {
  120. picUrl = "http://escloud.snd.gov.cn/uploads" + park.getMain_pic_url();
  121. }
  122. data.add(
  123. Arrays.asList(
  124. park.getId().toString(),
  125. park.getNo(),
  126. park.getName(),
  127. park.getLocation(),
  128. picUrl,
  129. park.getStreet_id().toString(),
  130. park.getStreetName(),
  131. // park.getArea().toString(),
  132. // park.getRest_area().toString(),
  133. content,
  134. overview,
  135. overview2
  136. ));
  137. });
  138. // 将准备好的data 塞入excel对象里,实现导出
  139. excel.exportData(data, response);
  140. return ResponseMessage.success("success");
  141. }
  142. /**
  143. * 获取所有街道
  144. *
  145. * @return
  146. */
  147. @GetMapping("/streets")
  148. public Object getStreetList(){
  149. Street street = new Street();
  150. street.setIs_start(true);
  151. List<Street> streets = streetService.findListByWhere(street);
  152. return ResponseMessage.success("success", streets);
  153. }
  154. }