SinglePageServiceImpl.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. package com.caimei.www.service.page.impl;
  2. import com.caimei.www.mapper.SinglePageDao;
  3. import com.caimei.www.pojo.JsonModel;
  4. import com.caimei.www.pojo.page.ImageLink;
  5. import com.caimei.www.pojo.page.PageContent;
  6. import com.caimei.www.service.page.SinglePageService;
  7. import lombok.extern.slf4j.Slf4j;
  8. import org.springframework.beans.factory.annotation.Value;
  9. import org.springframework.http.HttpHeaders;
  10. import org.springframework.http.MediaType;
  11. import org.springframework.http.ZeroCopyHttpOutputMessage;
  12. import org.springframework.http.server.reactive.ServerHttpResponse;
  13. import org.springframework.stereotype.Service;
  14. import org.springframework.util.StringUtils;
  15. import reactor.core.publisher.Mono;
  16. import javax.annotation.Resource;
  17. import java.io.File;
  18. import java.io.UnsupportedEncodingException;
  19. import java.net.URLEncoder;
  20. import java.util.List;
  21. /**
  22. * Description
  23. *
  24. * @author : Charles
  25. * @date : 2020/7/20
  26. */
  27. @Slf4j
  28. @Service
  29. public class SinglePageServiceImpl implements SinglePageService {
  30. @Resource
  31. private SinglePageDao singlePageDao;
  32. @Value("${caimei.wwwDomain}")
  33. private String domain;
  34. /**
  35. * 自由页面
  36. *
  37. * @param id
  38. */
  39. @Override
  40. public PageContent getFreePageById(Integer id) {
  41. if (id == null) {
  42. return null;
  43. }
  44. PageContent pageContent = singlePageDao.getFreePageById(id);
  45. String mobileContent = singlePageDao.findMobileContent(id);
  46. if (StringUtils.isEmpty(mobileContent)) {
  47. pageContent.setMobileContent(pageContent.getContent());
  48. } else {
  49. pageContent.setMobileContent(mobileContent);
  50. }
  51. return pageContent;
  52. }
  53. /**
  54. * 二级页面
  55. *
  56. * @param id
  57. */
  58. @Override
  59. public PageContent getTopicPageById(Integer id) {
  60. if (id == null) {
  61. return null;
  62. }
  63. return singlePageDao.getTopicPageById(id);
  64. }
  65. /**
  66. * 采美直播
  67. */
  68. @Override
  69. public PageContent getLivePageData() {
  70. return singlePageDao.getLivePageData();
  71. }
  72. /**
  73. * 品牌招商表格下载
  74. *
  75. * @param response
  76. */
  77. @Override
  78. public Mono<Void> downloadByWriteWith(ServerHttpResponse response) throws UnsupportedEncodingException {
  79. ZeroCopyHttpOutputMessage zeroCopyResponse = (ZeroCopyHttpOutputMessage) response;
  80. response.getHeaders().set(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + URLEncoder.encode("采美365网国际品牌招商资料填写表.xls", "UTF-8"));
  81. response.getHeaders().setContentType(MediaType.APPLICATION_OCTET_STREAM);
  82. String templateFile = "/mnt/newdatadrive/data/custom/www-export-template/investment_template.xlsx";
  83. File file = new File(templateFile);
  84. return zeroCopyResponse.writeWith(file, 0, file.length());
  85. }
  86. /**
  87. * 获取讲师列表
  88. */
  89. @Override
  90. public JsonModel<List<ImageLink>> getLiveTeachers() {
  91. List<ImageLink> teacherList = singlePageDao.getLiveTeachers();
  92. return JsonModel.success(teacherList);
  93. }
  94. @Override
  95. public Integer getInstrumentPageIdById(Integer id) {
  96. if (id == null) {
  97. return null;
  98. }
  99. Integer pageId = singlePageDao.getInstrumentPageIdById(id);
  100. return pageId;
  101. }
  102. @Override
  103. public String getPageTitleById(Integer id) {
  104. if (id == null) {
  105. return null;
  106. }
  107. return singlePageDao.getPageTitleById(id);
  108. }
  109. @Override
  110. public Integer getActivityPageIdById(Integer id) {
  111. if (id == null) {
  112. return null;
  113. }
  114. Integer pageId = singlePageDao.getActivityPageIdById(id);
  115. return pageId;
  116. }
  117. }