HomeController.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. package com.caimei.www.controller.unlimited;
  2. import com.caimei.www.controller.BaseController;
  3. import com.caimei.www.pojo.page.ImageLink;
  4. import com.caimei.www.pojo.JsonModel;
  5. import com.caimei.www.service.page.BaseService;
  6. import com.caimei.www.service.page.HomeService;
  7. import lombok.extern.slf4j.Slf4j;
  8. import org.springframework.http.HttpHeaders;
  9. import org.springframework.http.server.reactive.ServerHttpRequest;
  10. import org.springframework.http.server.reactive.ServerHttpResponse;
  11. import org.springframework.stereotype.Controller;
  12. import org.springframework.ui.Model;
  13. import org.springframework.web.bind.annotation.GetMapping;
  14. import org.springframework.web.bind.annotation.ResponseBody;
  15. import org.springframework.web.server.ServerWebExchange;
  16. import org.thymeleaf.util.StringUtils;
  17. import javax.annotation.Resource;
  18. import java.text.SimpleDateFormat;
  19. import java.util.Date;
  20. import java.util.List;
  21. import java.util.Map;
  22. /**
  23. * Description(接口已搬至spi)
  24. *
  25. * @author : Charles
  26. * @date : 2020/6/15
  27. */
  28. @Slf4j
  29. @Controller
  30. public class HomeController extends BaseController {
  31. private static final String HOME_PATH = "index";
  32. /** 错误页面 */
  33. private static final String ERROR_PATH = "error/404";
  34. private static final String SEARCH_CHILDREN = "error/search_children";
  35. @Resource
  36. private BaseService baseService;
  37. @Resource
  38. private HomeService homeService;
  39. /**
  40. * 首页页面路径
  41. * @param model
  42. * @return
  43. */
  44. @GetMapping("/index.html")
  45. public String home(final Model model, ServerWebExchange serverWebExchange, ServerHttpResponse response) {
  46. ServerHttpRequest request = serverWebExchange.getRequest();
  47. String ip = "";
  48. String referer = "";
  49. String source = "";
  50. HttpHeaders headers = request.getHeaders();
  51. ip = String.valueOf(headers.get("x-forwarded-for"));
  52. if (StringUtils.isEmpty(ip)) {
  53. ip = String.valueOf(headers.get("X-Real-IP"));
  54. }
  55. if (null != ip && "" != ip) {
  56. ip = ip.replaceAll("[^\\d.]", "");
  57. }
  58. List<String> referer1 = headers.get("Referer");
  59. if (referer1 != null) {
  60. referer = referer1.get(0);
  61. }
  62. String subReferer = "";
  63. if (referer.length() > 200) {
  64. subReferer = referer.substring(0, 190);
  65. }
  66. source = source(referer);
  67. SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  68. String format = dateFormat.format(new Date());
  69. homeService.insertRecord(ip,subReferer,source,format);
  70. log.info("首页访问来源记录完成========》"+source);
  71. // 获取banner图
  72. List<ImageLink> bannerList = homeService.getHomeBanners();
  73. // 首页楼层
  74. Map<String, Object> floorMap = homeService.getHomeFloors();
  75. // 右侧侧边栏数据
  76. Map<String, Object> sideMap = homeService.getHomeSideJson();
  77. model.addAttribute("bannerList", bannerList);
  78. model.addAttribute("floorJson", floorMap);
  79. model.addAttribute("sideJson", sideMap);
  80. model.addAttribute("msg", "首页");
  81. return HOME_PATH;
  82. }
  83. /**
  84. * 404
  85. */
  86. @GetMapping("/404.html")
  87. public String errorPage(final Model model) {
  88. model.addAttribute("msg", "404页面");
  89. return ERROR_PATH;
  90. }
  91. /**
  92. * 腾讯公益
  93. */
  94. @GetMapping("/search_children.html")
  95. public String searchChildren(final Model model) {
  96. model.addAttribute("msg", "腾讯公益");
  97. return SEARCH_CHILDREN;
  98. }
  99. /**
  100. * 首页左侧广告图
  101. * @return
  102. */
  103. @GetMapping("/home/advertising")
  104. @ResponseBody
  105. public JsonModel<List<ImageLink>> getAdvertising() {
  106. return homeService.getAdvertising();
  107. }
  108. private String source(String link) {
  109. if (link.contains("baidu.com")) {
  110. return "1";
  111. }
  112. if (link.contains("www.so.com")) {
  113. return "2";
  114. }
  115. if (link.contains("www.google.cn")) {
  116. return "3";
  117. }
  118. if (link.contains("m.sm.cn")) {
  119. return "4";
  120. }
  121. if (link.contains("toutiao.com")) {
  122. return "5";
  123. }
  124. if (link.contains("www.sogou.com")) {
  125. return "6";
  126. }
  127. if (link.contains("servicewechat.com")) {
  128. return "7";
  129. }
  130. if (link.contains("www.caimei365.com")) {
  131. return "0";
  132. }
  133. if (link.contains("zzjtest.gz.aeert.com")) {
  134. return "0";
  135. }
  136. return null;
  137. }
  138. }