admin
2025-02-20 f537abe9f3646c739beaf15076246a2f71a347e9
src/main/java/com/yeshi/buwan/controller/parser/UserParser.java
@@ -24,6 +24,7 @@
import com.yeshi.buwan.service.inter.SMSService;
import com.yeshi.buwan.service.inter.juhe.InternetSearchVideoService;
import com.yeshi.buwan.service.inter.system.SystemConfigService;
import com.yeshi.buwan.service.manager.IPManager;
import com.yeshi.buwan.service.manager.search.SolrAlbumVideoDataManager;
import com.yeshi.buwan.service.manager.search.SolrInternetSearchVideoDataManager;
import com.yeshi.buwan.service.manager.search.SolrShortVideoDataManager;
@@ -67,6 +68,8 @@
    Logger searchKeyLogger = LoggerFactory.getLogger("searchKey");
    Logger logger = LoggerFactory.getLogger(UserParser.class);
    Logger deviceGeoLogger = LoggerFactory.getLogger("deviceGeo");
    @Resource
@@ -112,6 +115,9 @@
    @Resource
    DetailSystemConfigService detailSystemConfigService;
    @Resource
    private IPManager ipManager;
    public void getUid(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
        DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName());
@@ -849,7 +855,18 @@
    public void getUserInfo(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
        UserData data = userService.getUserData(acceptData.getUid());
        out.print(JsonUtil.loadTrueJson(StringUtil.outPutResultJson(data)));
        // 记录日志
        try {
//            if(!"appstore".equalsIgnoreCase(acceptData.getChannel())) {
                String ip = IPUtil.getRemotIP(request);
                IPUtil.IPInfo ipInfo = ipManager.getIPInfo(ip);
                if (ipInfo != null) {
                    deviceGeoLogger.info("用户信息(uid-{})-IP归属地 IP-{},版本-{}, 渠道-{},省-{}, 市-{}",acceptData.getUid(), ip, acceptData.getVersion(), acceptData.getChannel(), ipInfo.getProvince(), ipInfo.getCity());
                }
//            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    @RequireUid
@@ -1160,7 +1177,7 @@
        }
        int port = request.getRemotePort();
        String ip = getIp(request);
        String ip = IPUtil.getRemotIP(request);
        if (StringUtil.isNullOrEmpty(nickName))
            nickName = "无名氏";
@@ -1615,47 +1632,12 @@
    }
    public void getIPInfo(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
        String ip = request.getHeader("x-forwarded-for");
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("Proxy-Client-IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("WL-Proxy-Client-IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("X-Real-IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getRemoteAddr();
        }
        String ip = IPUtil.getRemotIP(request);
        try {
            out.print(ip + "-----" + new Gson().toJson(IPUtil.getLocalIPInfo(request.getRemoteAddr())));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static String getIp(HttpServletRequest request) {
        String ip = request.getHeader("x-forwarded-for");
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("Proxy-Client-IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("WL-Proxy-Client-IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("HTTP_CLIENT_IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("HTTP_X_FORWARDED_FOR");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getRemoteAddr();
        }
        return ip;
    }
}