【改进】APP访问统计增加品牌以及系统类型

This commit is contained in:
MichaelWin
2026-02-02 11:38:43 +08:00
parent a8d1c73390
commit 0e164f9623
2 changed files with 25 additions and 0 deletions

View File

@@ -3,6 +3,7 @@ package com.corewing.app.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.corewing.app.common.base.CommonEntity;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -30,6 +31,15 @@ public class AppAccessStatistics extends CommonEntity {
@ApiModelProperty("访问设备")
private String accessDevice;
@ApiModelProperty("设备型号")
private String deviceModel;
@ApiModelProperty("设备系统")
private String deviceSystem;
@ApiModelProperty("设备品牌")
private String deviceBrand;
@ApiModelProperty("访问IP")
private String accessIp;

View File

@@ -2,6 +2,9 @@ package com.corewing.app.service.impl;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.corewing.app.dto.AccessStatisticsRequest;
import com.corewing.app.entity.AppAccessStatistics;
@@ -10,8 +13,10 @@ import com.corewing.app.service.AppAccessStatisticsService;
import com.corewing.app.util.CommonIpAddressUtil;
import com.corewing.app.util.CommonServletUtil;
import com.corewing.app.util.IpUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Slf4j
@Service
public class AppAccessStatisticsServiceImpl extends ServiceImpl<AppAccessStatisticsMapper, AppAccessStatistics> implements AppAccessStatisticsService {
@@ -35,6 +40,16 @@ public class AppAccessStatisticsServiceImpl extends ServiceImpl<AppAccessStatist
appAccessStatistics.setAccessDevice(accessStatisticsRequest.getAccessDevice());
appAccessStatistics.setAccessIp(IpUtil.getClientIp(CommonServletUtil.getRequest()));
appAccessStatistics.setAccessAddress(CommonIpAddressUtil.getCityInfo(appAccessStatistics.getAccessIp()));
try {
// 解析设备型号
JSONObject parse = JSONUtil.parseObj(appAccessStatistics.getAccessDevice());
appAccessStatistics.setDeviceModel(parse.getStr("model"));
appAccessStatistics.setDeviceBrand(parse.getStr("brand"));
appAccessStatistics.setDeviceSystem(parse.getStr("system"));
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return save(appAccessStatistics);
}
}