|
|
@@ -9,7 +9,6 @@ import cn.reghao.tnb.content.app.geo.db.mapper.*;
|
|
|
import cn.reghao.tnb.content.app.geo.model.po.CameraPhoto;
|
|
|
import cn.reghao.tnb.content.app.geo.model.po.GeoPoint;
|
|
|
import cn.reghao.tnb.content.app.geo.model.po.MallReply;
|
|
|
-import cn.reghao.tnb.content.app.geo.model.po.MallReplyPhoto;
|
|
|
import cn.reghao.tnb.content.app.geo.model.vo.MapMarker;
|
|
|
import cn.reghao.tnb.content.app.geo.model.vo.MapPoint;
|
|
|
import cn.reghao.tnb.content.app.geo.model.vo.MarkerInfo;
|
|
|
@@ -23,7 +22,6 @@ import java.util.Collections;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
-import java.util.regex.Pattern;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
@@ -37,15 +35,13 @@ public class MapService {
|
|
|
private OssService ossService;
|
|
|
|
|
|
private final MallReplyMapper mallReplyMapper;
|
|
|
- private final MallReplyPhotoMapper mallReplyPhotoMapper;
|
|
|
private final GeoItemMapper geoItemMapper;
|
|
|
private final GeoPointMapper geoPointMapper;
|
|
|
private final CameraPhotoMapper cameraPhotoMapper;
|
|
|
|
|
|
- public MapService(MallReplyMapper mallReplyMapper, MallReplyPhotoMapper mallReplyPhotoMapper,
|
|
|
- GeoItemMapper geoItemMapper, GeoPointMapper geoPointMapper, CameraPhotoMapper cameraPhotoMapper) {
|
|
|
+ public MapService(MallReplyMapper mallReplyMapper, GeoItemMapper geoItemMapper,
|
|
|
+ GeoPointMapper geoPointMapper, CameraPhotoMapper cameraPhotoMapper) {
|
|
|
this.mallReplyMapper = mallReplyMapper;
|
|
|
- this.mallReplyPhotoMapper = mallReplyPhotoMapper;
|
|
|
this.geoItemMapper = geoItemMapper;
|
|
|
this.geoPointMapper = geoPointMapper;
|
|
|
this.cameraPhotoMapper = cameraPhotoMapper;
|
|
|
@@ -65,22 +61,23 @@ public class MapService {
|
|
|
}
|
|
|
|
|
|
mallReply = new MallReply(mallReplyDto);
|
|
|
- List<MallReplyPhoto> list = mallReplyDto.getPhotos().stream()
|
|
|
+ List<CameraPhoto> list = mallReplyDto.getPhotos().stream()
|
|
|
.map(mallReplyPhotoDto -> {
|
|
|
- MallReplyPhoto mallReplyPhoto = new MallReplyPhoto(mallReplyPhotoDto);
|
|
|
+ CameraPhoto cameraPhoto = new CameraPhoto(mallReplyPhotoDto);
|
|
|
try {
|
|
|
String shotAtStr = mallReplyPhotoDto.getShotAt();
|
|
|
if (shotAtStr != null) {
|
|
|
LocalDateTime shotAt = DateTimeConverter.localDateTime2(mallReplyPhotoDto.getShotAt());
|
|
|
- mallReplyPhoto.setShotAt(shotAt);
|
|
|
+ cameraPhoto.setShotAt(shotAt);
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
|
|
|
- return mallReplyPhoto;
|
|
|
+ return cameraPhoto;
|
|
|
})
|
|
|
.collect(Collectors.toList());
|
|
|
+
|
|
|
if (!list.isEmpty()) {
|
|
|
saveTmallReply(mallReply, list);
|
|
|
}
|
|
|
@@ -100,33 +97,31 @@ public class MapService {
|
|
|
}
|
|
|
return cameraPhoto;
|
|
|
}).collect(Collectors.toList());
|
|
|
+
|
|
|
if (!locations.isEmpty()) {
|
|
|
cameraPhotoMapper.saveAll(locations);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void saveTmallReply(MallReply mallReply, List<MallReplyPhoto> list) {
|
|
|
+ public void saveTmallReply(MallReply mallReply, List<CameraPhoto> list) {
|
|
|
mallReplyMapper.save(mallReply);
|
|
|
- mallReplyPhotoMapper.saveAll(list);
|
|
|
+ cameraPhotoMapper.saveAll(list);
|
|
|
}
|
|
|
|
|
|
public List<MapMarker> getMapMarkers(int itemType) {
|
|
|
int pageSize = 1000;
|
|
|
if (itemType == 1) {
|
|
|
- List<MapMarker> list = mallReplyPhotoMapper.findAllByReplyIdGroup(pageSize);
|
|
|
- //List<MapMarker> list = mallReplyPhotoMapper.findAllByGeoScope(pageSize, geoScope.getId());
|
|
|
+ List<MapMarker> list = cameraPhotoMapper.findAllByReplyIdGroup(pageSize);
|
|
|
return list;
|
|
|
} else if (itemType == 2) {
|
|
|
- List<MapMarker> list = mallReplyPhotoMapper.findByWestChina(pageSize, itemType);
|
|
|
- //List<MapMarker> list = mallReplyPhotoMapper.findByGeoScope(pageSize, itemType, geoScope1);
|
|
|
- //setMarkTitle(list);
|
|
|
+ List<MapMarker> list = cameraPhotoMapper.findByWestChina(pageSize, itemType);
|
|
|
return list;
|
|
|
} else if (itemType == 3) {
|
|
|
- List<MapMarker> list = cameraPhotoMapper.findByWestGeoGroup(pageSize);
|
|
|
+ List<MapMarker> list = cameraPhotoMapper.findByWestGeoGroup(pageSize, itemType);
|
|
|
return list;
|
|
|
} else if (itemType == 4) {
|
|
|
- List<MapMarker> list = cameraPhotoMapper.findByAlbumId(pageSize, 0);
|
|
|
+ List<MapMarker> list = cameraPhotoMapper.findByWestGeoGroup(pageSize, itemType);
|
|
|
list.forEach(mapMarker -> {
|
|
|
String objectId = mapMarker.getId();
|
|
|
});
|
|
|
@@ -136,14 +131,22 @@ public class MapService {
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
|
|
|
- public MarkerInfo getMarkerInfo(String id) {
|
|
|
+ public MarkerInfo getMarkerInfo(int id) {
|
|
|
+ CameraPhoto cameraPhoto = cameraPhotoMapper.findById(id);
|
|
|
+ if (cameraPhoto == null) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ int type = cameraPhoto.getType();
|
|
|
MarkerInfo markerInfo;
|
|
|
- if (isInteger(id)) {
|
|
|
- markerInfo = mallReplyPhotoMapper.findMarkerInfoById(Integer.parseInt(id));
|
|
|
+ if (type == 1) {
|
|
|
+ markerInfo = cameraPhotoMapper.findMarkerInfo(id);
|
|
|
+ } else if (type == 2) {
|
|
|
+ markerInfo = cameraPhotoMapper.findMarkerInfoById(id);
|
|
|
} else {
|
|
|
- markerInfo = cameraPhotoMapper.findMarkerInfoById(id);
|
|
|
+ markerInfo = cameraPhotoMapper.findMarkerInfo(id);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
int channelId = markerInfo.getChannelId();
|
|
|
if (channelId != 0) {
|
|
|
String uploadId = markerInfo.getUploadId();
|
|
|
@@ -159,12 +162,7 @@ public class MapService {
|
|
|
|
|
|
return markerInfo;
|
|
|
}
|
|
|
-
|
|
|
- private boolean isInteger(String str) {
|
|
|
- Pattern pattern = Pattern.compile("^[-+]?[\\d]*$");
|
|
|
- return pattern.matcher(str).matches();
|
|
|
- }
|
|
|
-
|
|
|
+
|
|
|
public List<SelectOption> getGeoItems() {
|
|
|
return geoItemMapper.findAll().stream()
|
|
|
.map(geoItem -> {
|
|
|
@@ -174,21 +172,6 @@ public class MapService {
|
|
|
}).collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
- public MarkerInfo getMarkerInfo(int id) {
|
|
|
- MarkerInfo markerInfo = mallReplyPhotoMapper.findMarkerInfoById(id);
|
|
|
- int channelId = markerInfo.getChannelId();
|
|
|
- String uploadId = markerInfo.getUploadId();
|
|
|
- try {
|
|
|
- String signedUrl = ossService.getSignedUrl(channelId, uploadId);
|
|
|
- if (signedUrl != null) {
|
|
|
- markerInfo.setPhotoUrl(signedUrl);
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- return markerInfo;
|
|
|
- }
|
|
|
-
|
|
|
public void addGeoPoint(MapPoint mapPoint) {
|
|
|
GeoPoint geoPoint = new GeoPoint(mapPoint);
|
|
|
geoPointMapper.save(geoPoint);
|