diff --git a/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/service/FavoriteAdminService.java b/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/service/FavoriteAdminService.java index 0116f5d..8193480 100644 --- a/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/service/FavoriteAdminService.java +++ b/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/service/FavoriteAdminService.java @@ -75,14 +75,10 @@ public class FavoriteAdminService { vo.setAnonymous(row.getUserId() == null); if (profile != null) { vo.setPlatform(profile.getPlatform()); - vo.setOsVersion(profile.getOsVersion()); - vo.setDeviceModel(profile.getDeviceModel()); } - // 已登录用户的互动行不带 device_id,设备画像查不到时退回最近一次登录会话 + // 已登录用户的互动行不带 device_id,设备平台查不到时退回最近一次登录会话 if (!StringUtils.hasText(vo.getPlatform()) && session != null) { vo.setPlatform(session.getPlatform()); - vo.setOsVersion(session.getOsVersion()); - vo.setDeviceModel(session.getDeviceModel()); } vo.setDramaId(row.getDramaId()); vo.setCreatedAt(row.getCreatedAt()); diff --git a/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/service/LikeAdminService.java b/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/service/LikeAdminService.java index 56281d9..4520750 100644 --- a/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/service/LikeAdminService.java +++ b/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/service/LikeAdminService.java @@ -149,16 +149,12 @@ public class LikeAdminService { AppDeviceProfile profile = row.getDeviceId() == null ? null : profiles.get(row.getDeviceId()); if (profile != null) { vo.setPlatform(profile.getPlatform()); - vo.setOsVersion(profile.getOsVersion()); - vo.setDeviceModel(profile.getDeviceModel()); } - // 已登录用户的互动行不带 device_id,设备画像查不到时退回最近一次登录会话 + // 已登录用户的互动行不带 device_id,设备平台查不到时退回最近一次登录会话 if (!StringUtils.hasText(vo.getPlatform()) && row.getUserId() != null) { AppUserSession session = sessions.get(row.getUserId()); if (session != null) { vo.setPlatform(session.getPlatform()); - vo.setOsVersion(session.getOsVersion()); - vo.setDeviceModel(session.getDeviceModel()); } } vo.setTargetType(row.getTargetType()); diff --git a/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/service/WatchHistoryAdminService.java b/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/service/WatchHistoryAdminService.java index 288c917..8ec7f45 100644 --- a/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/service/WatchHistoryAdminService.java +++ b/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/service/WatchHistoryAdminService.java @@ -182,11 +182,9 @@ public class WatchHistoryAdminService { vo.setSource(row.getSource()); vo.setDeviceId(row.getDeviceId()); vo.setWatchedAt(row.getWatchedAt()); - // 设备画像不依赖登录态,优先;没有画像(老数据)再回退到登录会话 - if (profile != null && (StringUtils.hasText(profile.getPlatform()) - || StringUtils.hasText(profile.getOsVersion()))) { + // 设备平台不依赖登录态,优先;没有记录(老数据)再回退到登录会话 + if (profile != null && StringUtils.hasText(profile.getPlatform())) { vo.setPlatform(profile.getPlatform()); - vo.setOsVersion(profile.getOsVersion()); } else if (session != null) { vo.setPlatform(session.getPlatform()); vo.setOsVersion(session.getOsVersion()); diff --git a/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/vo/AdminFavoriteVO.java b/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/vo/AdminFavoriteVO.java index d2fcbff..809135a 100644 --- a/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/vo/AdminFavoriteVO.java +++ b/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/vo/AdminFavoriteVO.java @@ -13,10 +13,8 @@ public class AdminFavoriteVO { private String uid; private String nickname; private String deviceId; - /** 客户端系统:ANDROID / IOS / WEB,来自设备画像,游客同样有值。 */ + /** 客户端平台:ANDROID / IOS / WEB,来自设备平台记录,游客同样有值。 */ private String platform; - private String osVersion; - private String deviceModel; private Boolean anonymous; private Long dramaId; private String dramaTitle; diff --git a/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/vo/AdminLikeVO.java b/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/vo/AdminLikeVO.java index ba55b72..717254e 100644 --- a/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/vo/AdminLikeVO.java +++ b/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/vo/AdminLikeVO.java @@ -13,10 +13,8 @@ public class AdminLikeVO { private String uid; private String nickname; private String deviceId; - /** 客户端系统:ANDROID / IOS / WEB,来自设备画像,游客同样有值。 */ + /** 客户端平台:ANDROID / IOS / WEB,来自设备平台记录,游客同样有值。 */ private String platform; - private String osVersion; - private String deviceModel; private Boolean anonymous; private Long dramaId; private String dramaTitle; diff --git a/fruitshorts-app-api/src/main/java/com/fruitshorts/app/web/DeviceProfileFilter.java b/fruitshorts-app-api/src/main/java/com/fruitshorts/app/web/DeviceProfileFilter.java index e1adfca..1f9057c 100644 --- a/fruitshorts-app-api/src/main/java/com/fruitshorts/app/web/DeviceProfileFilter.java +++ b/fruitshorts-app-api/src/main/java/com/fruitshorts/app/web/DeviceProfileFilter.java @@ -18,10 +18,10 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; /** - * 收集客户端上报的设备画像(系统 / 机型 / 版本)。 + * 收集客户端上报的平台(iOS / Android)。 * - *
客户端在请求头带 `X-Client-Platform`、`X-Client-Os`、`X-Client-Model`、`X-App-Version`, - * 这里按 device_id 建档,后台列表据此展示系统;游客请求同样入库,这是与旧会话方案的关键差异。 + *
客户端在请求头带 `X-Client-Platform`,这里按 device_id 建档,
+ * 后台列表据此区分两端;游客请求同样入库,这是与旧会话方案的关键差异。
* 同一设备 60 秒内只写一次,避免每个请求都打库。
*/
@Slf4j
@@ -61,10 +61,6 @@ public class DeviceProfileFilter extends OncePerRequestFilter {
lastWriteAt.clear();
}
lastWriteAt.put(deviceId, now);
- deviceProfileService.touch(deviceId,
- request.getHeader("X-Client-Platform"),
- request.getHeader("X-Client-Os"),
- request.getHeader("X-Client-Model"),
- request.getHeader("X-App-Version"));
+ deviceProfileService.touch(deviceId, request.getHeader("X-Client-Platform"));
}
}
diff --git a/fruitshorts-module-user/src/main/java/com/fruitshorts/user/dal/entity/AppDeviceProfile.java b/fruitshorts-module-user/src/main/java/com/fruitshorts/user/dal/entity/AppDeviceProfile.java
index 3db5861..c380694 100644
--- a/fruitshorts-module-user/src/main/java/com/fruitshorts/user/dal/entity/AppDeviceProfile.java
+++ b/fruitshorts-module-user/src/main/java/com/fruitshorts/user/dal/entity/AppDeviceProfile.java
@@ -11,7 +11,7 @@ import lombok.Data;
import java.time.LocalDateTime;
/**
- * 设备画像:按 device_id 记录客户端系统与机型。
+ * 设备平台:按 device_id 记录客户端是 iOS 还是 Android。
* 与会话不同,它不依赖用户身份,游客请求也会建档。
*/
@Data
@@ -22,9 +22,6 @@ public class AppDeviceProfile {
private Long id;
private String deviceId;
private String platform;
- private String osVersion;
- private String deviceModel;
- private String appVersion;
private LocalDateTime firstSeenAt;
private LocalDateTime lastSeenAt;
private LocalDateTime createdAt;
diff --git a/fruitshorts-module-user/src/main/java/com/fruitshorts/user/dal/mapper/AppDeviceProfileMapper.java b/fruitshorts-module-user/src/main/java/com/fruitshorts/user/dal/mapper/AppDeviceProfileMapper.java
index 7490d0d..06db4b7 100644
--- a/fruitshorts-module-user/src/main/java/com/fruitshorts/user/dal/mapper/AppDeviceProfileMapper.java
+++ b/fruitshorts-module-user/src/main/java/com/fruitshorts/user/dal/mapper/AppDeviceProfileMapper.java
@@ -10,23 +10,17 @@ import org.apache.ibatis.annotations.Param;
public interface AppDeviceProfileMapper extends BaseMapper