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

View File

@@ -2,6 +2,9 @@ package com.corewing.app.service.impl;
import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.util.StrUtil; 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.corewing.app.dto.AccessStatisticsRequest; import com.corewing.app.dto.AccessStatisticsRequest;
import com.corewing.app.entity.AppAccessStatistics; 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.CommonIpAddressUtil;
import com.corewing.app.util.CommonServletUtil; import com.corewing.app.util.CommonServletUtil;
import com.corewing.app.util.IpUtil; import com.corewing.app.util.IpUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Slf4j
@Service @Service
public class AppAccessStatisticsServiceImpl extends ServiceImpl<AppAccessStatisticsMapper, AppAccessStatistics> implements AppAccessStatisticsService { public class AppAccessStatisticsServiceImpl extends ServiceImpl<AppAccessStatisticsMapper, AppAccessStatistics> implements AppAccessStatisticsService {
@@ -35,6 +40,16 @@ public class AppAccessStatisticsServiceImpl extends ServiceImpl<AppAccessStatist
appAccessStatistics.setAccessDevice(accessStatisticsRequest.getAccessDevice()); appAccessStatistics.setAccessDevice(accessStatisticsRequest.getAccessDevice());
appAccessStatistics.setAccessIp(IpUtil.getClientIp(CommonServletUtil.getRequest())); appAccessStatistics.setAccessIp(IpUtil.getClientIp(CommonServletUtil.getRequest()));
appAccessStatistics.setAccessAddress(CommonIpAddressUtil.getCityInfo(appAccessStatistics.getAccessIp())); 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); return save(appAccessStatistics);
} }
} }