diff --git a/src/main/java/ru/soune/nocopy/entity/docviewer/DockView.java b/src/main/java/ru/soune/nocopy/entity/docviewer/DockView.java index fd4f22b..8e4dbac 100644 --- a/src/main/java/ru/soune/nocopy/entity/docviewer/DockView.java +++ b/src/main/java/ru/soune/nocopy/entity/docviewer/DockView.java @@ -31,6 +31,15 @@ public class DockView { @Column(name = "file_id") private String fileId; + @Column(name = "geo_name_ru") + private String geoNameRu; + + @Column(name = "geo_name_en") + private String geoNameEn; + + @Column(name = "viewer_name") + private String viewerName; + @Column(name = "created_at",updatable = false) private LocalDateTime createdAt = LocalDateTime.now(); } diff --git a/src/main/java/ru/soune/nocopy/service/dockview/DockViewService.java b/src/main/java/ru/soune/nocopy/service/dockview/DockViewService.java index 20c1d22..749a952 100644 --- a/src/main/java/ru/soune/nocopy/service/dockview/DockViewService.java +++ b/src/main/java/ru/soune/nocopy/service/dockview/DockViewService.java @@ -39,11 +39,20 @@ public class DockViewService { @Transactional public DockView createDockView(DocViewerRequest request, Long userId) { DockView dockView = new DockView(); + String geoEnName = geoCountryService.getCityByIp(request.getIp(), "en") + "/" + + geoCountryService.getCountryByIp(request.getIp(), "en"); + String geoRuName = geoCountryService.getCityByIp(request.getIp(), "ru") + "/" + + geoCountryService.getCountryByIp(request.getIp(), "ru"); + User user = userRepository.findById(userId).orElse(null); + dockView.setViewerId(userId); dockView.setViewerIp(request.getIp() != null ? request.getIp() : "-"); dockView.setUserAgent(request.getUserAgent() != null ? request.getUserAgent() : "-"); dockView.setFileId(request.getFileId()); dockView.setCreatedAt(LocalDateTime.now()); + dockView.setGeoNameEn(geoEnName); + dockView.setGeoNameRu(geoRuName); + dockView.setViewerName(user == null ? "guest" : user.getFullName()); DockView saved = dockViewRepository.save(dockView);