|
|
@ -1,46 +1,19 @@ |
|
|
package com.bnyer.img.controller; |
|
|
package com.bnyer.img.controller; |
|
|
|
|
|
|
|
|
import cn.hutool.http.server.HttpServerRequest; |
|
|
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
|
|
|
|
|
import com.bnyer.common.core.domain.R; |
|
|
import com.bnyer.common.core.domain.R; |
|
|
import com.bnyer.common.core.web.controller.BaseController; |
|
|
import com.bnyer.common.core.web.controller.BaseController; |
|
|
import com.bnyer.common.core.web.domain.AjaxResult; |
|
|
|
|
|
import com.bnyer.common.core.web.page.TableDataInfo; |
|
|
|
|
|
import com.bnyer.common.redis.service.RedisService; |
|
|
import com.bnyer.common.redis.service.RedisService; |
|
|
import com.bnyer.img.domain.Banner; |
|
|
|
|
|
import com.bnyer.img.domain.BzData; |
|
|
|
|
|
import com.bnyer.img.dto.BannerDto; |
|
|
|
|
|
import com.bnyer.img.dto.BannerPageDto; |
|
|
|
|
|
import com.bnyer.img.dto.BzDto; |
|
|
import com.bnyer.img.dto.BzDto; |
|
|
import com.bnyer.img.dto.StatusDto; |
|
|
|
|
|
import com.bnyer.img.service.BannerService; |
|
|
|
|
|
import com.bnyer.img.service.BzDataService; |
|
|
import com.bnyer.img.service.BzDataService; |
|
|
import com.github.pagehelper.PageHelper; |
|
|
|
|
|
import com.xxl.job.core.biz.model.ReturnT; |
|
|
|
|
|
import com.xxl.job.core.log.XxlJobLogger; |
|
|
|
|
|
import io.swagger.annotations.Api; |
|
|
import io.swagger.annotations.Api; |
|
|
import io.swagger.annotations.ApiOperation; |
|
|
import io.swagger.annotations.ApiOperation; |
|
|
import io.swagger.annotations.ApiParam; |
|
|
import io.swagger.annotations.ApiParam; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import org.apache.http.HttpEntity; |
|
|
|
|
|
import org.apache.http.HttpResponse; |
|
|
|
|
|
import org.apache.http.client.methods.HttpGet; |
|
|
|
|
|
import org.apache.http.impl.client.CloseableHttpClient; |
|
|
|
|
|
import org.apache.http.impl.client.HttpClients; |
|
|
|
|
|
import org.apache.http.util.EntityUtils; |
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.context.annotation.Lazy; |
|
|
|
|
|
import org.springframework.validation.annotation.Validated; |
|
|
|
|
|
import org.springframework.web.bind.annotation.*; |
|
|
import org.springframework.web.bind.annotation.*; |
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
import java.io.IOException; |
|
|
|
|
|
import java.net.URLEncoder; |
|
|
|
|
|
import java.time.LocalDate; |
|
|
|
|
|
import java.util.List; |
|
|
|
|
|
import java.util.Set; |
|
|
|
|
|
|
|
|
|
|
|
@Api(value = "【图文平台】八字运势接口",tags = "【图文平台】八字运势接口") |
|
|
@Api(value = "【图文平台】八字运势接口",tags = "【图文平台】八字运势接口") |
|
|
@RestController |
|
|
@RestController |
|
|
@ -66,45 +39,8 @@ public class BzDataController extends BaseController { |
|
|
@ApiOperation(value = "八字页面数据统计") |
|
|
@ApiOperation(value = "八字页面数据统计") |
|
|
@PostMapping("/dataStatistics") |
|
|
@PostMapping("/dataStatistics") |
|
|
public R<JSONObject> dataStatistics(@RequestParam String source, HttpServletRequest request) { |
|
|
public R<JSONObject> dataStatistics(@RequestParam String source, HttpServletRequest request) { |
|
|
String ip = getIpAddr(request); |
|
|
String ip = bzDataService.getIpAddr(request); |
|
|
bzDataService.dataStatistics(ip,source); |
|
|
bzDataService.dataStatistics(ip,source); |
|
|
return R.ok(); |
|
|
return R.ok(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private String getIpAddr(HttpServletRequest request) { |
|
|
|
|
|
String ip = request.getHeader("x-forwarded-for"); |
|
|
|
|
|
//System.out.println("x-forwarded-for ip: " + ip);
|
|
|
|
|
|
if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) { |
|
|
|
|
|
// 多次反向代理后会有多个ip值,第一个ip才是真实ip
|
|
|
|
|
|
if (ip.indexOf(",") != -1) { |
|
|
|
|
|
ip = ip.split(",")[0]; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { |
|
|
|
|
|
ip = request.getHeader("Proxy-Client-IP"); |
|
|
|
|
|
//System.out.println("Proxy-Client-IP ip: " + ip);
|
|
|
|
|
|
} |
|
|
|
|
|
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { |
|
|
|
|
|
ip = request.getHeader("WL-Proxy-Client-IP"); |
|
|
|
|
|
//System.out.println("WL-Proxy-Client-IP ip: " + ip);
|
|
|
|
|
|
} |
|
|
|
|
|
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { |
|
|
|
|
|
ip = request.getHeader("HTTP_CLIENT_IP"); |
|
|
|
|
|
//System.out.println("HTTP_CLIENT_IP ip: " + ip);
|
|
|
|
|
|
} |
|
|
|
|
|
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { |
|
|
|
|
|
ip = request.getHeader("HTTP_X_FORWARDED_FOR"); |
|
|
|
|
|
//System.out.println("HTTP_X_FORWARDED_FOR ip: " + ip);
|
|
|
|
|
|
} |
|
|
|
|
|
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { |
|
|
|
|
|
ip = request.getHeader("X-Real-IP"); |
|
|
|
|
|
//System.out.println("X-Real-IP ip: " + ip);
|
|
|
|
|
|
} |
|
|
|
|
|
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { |
|
|
|
|
|
ip = request.getRemoteAddr(); |
|
|
|
|
|
//System.out.println("getRemoteAddr ip: " + ip);
|
|
|
|
|
|
} |
|
|
|
|
|
//System.out.println("获取客户端ip: " + ip);
|
|
|
|
|
|
return ip; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |