diff --git a/src/main/java/com/ruoyi/airline/controller/convert/AirlineMarkerControllerConvert.java b/src/main/java/com/ruoyi/airline/controller/convert/AirlineMarkerControllerConvert.java index 71e40a4..e08efbd 100644 --- a/src/main/java/com/ruoyi/airline/controller/convert/AirlineMarkerControllerConvert.java +++ b/src/main/java/com/ruoyi/airline/controller/convert/AirlineMarkerControllerConvert.java @@ -7,6 +7,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.List; +import java.util.stream.Collectors; /** * 标注Controller转换类 @@ -24,23 +25,19 @@ public class AirlineMarkerControllerConvert extends BaseConvert fromList(List dtoList) - { + public static List fromList(List dtoList) { return INSTANCE.innerFromList(dtoList); } - public static List toList(List voList) - { + public static List toList(List voList) { return INSTANCE.innerToList(voList); } @@ -57,7 +54,20 @@ public class AirlineMarkerControllerConvert extends BaseConvert { + AirlineMarkerVO.PointInfo voPoint = new AirlineMarkerVO.PointInfo(); + voPoint.setLatitude(point.getLatitude()); + voPoint.setLongitude(point.getLongitude()); + voPoint.setAsl(point.getAsl()); + return voPoint; + }) + .collect(Collectors.toList())); + } + vo.setDescription(dto.getDescription()); vo.setGroupId(dto.getGroupId()); vo.setCreateBy(dto.getCreateBy()); @@ -80,7 +90,20 @@ public class AirlineMarkerControllerConvert extends BaseConvert { + AirlineMarkerDTO.PointInfo dtoPoint = new AirlineMarkerDTO.PointInfo(); + dtoPoint.setLatitude(point.getLatitude()); + dtoPoint.setLongitude(point.getLongitude()); + dtoPoint.setAsl(point.getAsl()); + return dtoPoint; + }) + .collect(Collectors.toList())); + } + dto.setDescription(vo.getDescription()); dto.setGroupId(vo.getGroupId()); dto.setCreateBy(vo.getCreateBy()); diff --git a/src/main/java/com/ruoyi/airline/domain/convert/AirlineMarkerDomainConvert.java b/src/main/java/com/ruoyi/airline/domain/convert/AirlineMarkerDomainConvert.java index 77b966d..1c6e11c 100644 --- a/src/main/java/com/ruoyi/airline/domain/convert/AirlineMarkerDomainConvert.java +++ b/src/main/java/com/ruoyi/airline/domain/convert/AirlineMarkerDomainConvert.java @@ -1,5 +1,7 @@ package com.ruoyi.airline.domain.convert; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; import com.ruoyi.common.core.utils.BaseConvert; import com.ruoyi.airline.domain.model.AirlineMarker; import com.ruoyi.airline.mapper.entity.AirlineMarkerEntity; @@ -15,28 +17,25 @@ import java.util.List; public class AirlineMarkerDomainConvert extends BaseConvert { private static final AirlineMarkerDomainConvert INSTANCE = new AirlineMarkerDomainConvert(); + private static final ObjectMapper objectMapper = new ObjectMapper(); private AirlineMarkerDomainConvert() { super(AirlineMarkerEntity.class, AirlineMarker.class); } - public static AirlineMarker from(AirlineMarkerEntity entity) - { + public static AirlineMarker from(AirlineMarkerEntity entity) { return INSTANCE.innerFrom(entity); } - public static AirlineMarkerEntity to(AirlineMarker model) - { + public static AirlineMarkerEntity to(AirlineMarker model) { return INSTANCE.innerTo(model); } - public static List fromList(List entityList) - { + public static List fromList(List entityList) { return INSTANCE.innerFromList(entityList); } - public static List toList(List modelList) - { + public static List toList(List modelList) { return INSTANCE.innerToList(modelList); } @@ -53,7 +52,16 @@ public class AirlineMarkerDomainConvert extends BaseConvert + if (entity.getCoordinates() != null) { + try { + model.setCoordinates(objectMapper.readValue(entity.getCoordinates(), objectMapper.getTypeFactory().constructCollectionType(List.class, AirlineMarker.PointInfo.class))); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + } + model.setDescription(entity.getDescription()); model.setCreateBy(entity.getCreateBy()); model.setCreateTime(entity.getCreateTime()); @@ -76,7 +84,16 @@ public class AirlineMarkerDomainConvert extends BaseConvert转换为JSON字符串 + if (model.getCoordinates() != null) { + try { + entity.setCoordinates(objectMapper.writeValueAsString(model.getCoordinates())); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + } + entity.setDescription(model.getDescription()); entity.setCreateBy(model.getCreateBy()); entity.setCreateTime(model.getCreateTime()); diff --git a/src/main/java/com/ruoyi/airline/domain/model/AirlineMarker.java b/src/main/java/com/ruoyi/airline/domain/model/AirlineMarker.java index 4469311..d48657d 100644 --- a/src/main/java/com/ruoyi/airline/domain/model/AirlineMarker.java +++ b/src/main/java/com/ruoyi/airline/domain/model/AirlineMarker.java @@ -6,6 +6,8 @@ import lombok.EqualsAndHashCode; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; +import java.util.List; + /** * 标注 * @@ -52,7 +54,7 @@ public class AirlineMarker extends ExBaseEntity { /** * 经纬度,格式:[经,纬,asl高度] */ - private String coordinates; + private List coordinates; /** * 简介 @@ -64,6 +66,24 @@ public class AirlineMarker extends ExBaseEntity { */ private String remark; + @Data + public static class PointInfo { + /** + * 纬度 + */ + private Double latitude; + + /** + * 经度 + */ + private Double longitude; + + /** + * 海拔高度 + */ + private Double asl; + } + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/src/main/java/com/ruoyi/airline/service/convert/AirlineMarkerServiceConvert.java b/src/main/java/com/ruoyi/airline/service/convert/AirlineMarkerServiceConvert.java index 97e1877..d21dba8 100644 --- a/src/main/java/com/ruoyi/airline/service/convert/AirlineMarkerServiceConvert.java +++ b/src/main/java/com/ruoyi/airline/service/convert/AirlineMarkerServiceConvert.java @@ -5,6 +5,7 @@ import com.ruoyi.airline.domain.model.AirlineMarker; import com.ruoyi.airline.service.dto.AirlineMarkerDTO; import java.util.List; +import java.util.stream.Collectors; /** * 标注Service转换类 @@ -21,23 +22,19 @@ public class AirlineMarkerServiceConvert extends BaseConvert fromList(List modelList) - { + public static List fromList(List modelList) { return INSTANCE.innerFromList(modelList); } - public static List toList(List dtoList) - { + public static List toList(List dtoList) { return INSTANCE.innerToList(dtoList); } @@ -54,7 +51,20 @@ public class AirlineMarkerServiceConvert extends BaseConvert { + AirlineMarkerDTO.PointInfo dtoPoint = new AirlineMarkerDTO.PointInfo(); + dtoPoint.setLatitude(point.getLatitude()); + dtoPoint.setLongitude(point.getLongitude()); + dtoPoint.setAsl(point.getAsl()); + return dtoPoint; + }) + .collect(Collectors.toList())); + } + dto.setDescription(model.getDescription()); dto.setCreateBy(model.getCreateBy()); dto.setCreateTime(model.getCreateTime()); @@ -76,7 +86,20 @@ public class AirlineMarkerServiceConvert extends BaseConvert { + AirlineMarker.PointInfo modelPoint = new AirlineMarker.PointInfo(); + modelPoint.setLatitude(point.getLatitude()); + modelPoint.setLongitude(point.getLongitude()); + modelPoint.setAsl(point.getAsl()); + return modelPoint; + }) + .collect(Collectors.toList())); + } + model.setDescription(dto.getDescription()); model.setCreateBy(dto.getCreateBy()); model.setCreateTime(dto.getCreateTime()); diff --git a/src/main/java/com/ruoyi/airline/service/dto/AirlineMarkerDTO.java b/src/main/java/com/ruoyi/airline/service/dto/AirlineMarkerDTO.java index 57efbeb..5c57139 100644 --- a/src/main/java/com/ruoyi/airline/service/dto/AirlineMarkerDTO.java +++ b/src/main/java/com/ruoyi/airline/service/dto/AirlineMarkerDTO.java @@ -6,6 +6,8 @@ import lombok.EqualsAndHashCode; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; +import java.util.List; + /** * 标注表 airline_marker * @@ -52,7 +54,7 @@ public class AirlineMarkerDTO extends BaseEntity { /** * 经纬度,格式:[经,纬,asl高度] */ - private String coordinates; + private List coordinates; /** * 简介 @@ -64,6 +66,24 @@ public class AirlineMarkerDTO extends BaseEntity { */ private Long groupId; + @Data + public static class PointInfo { + /** + * 纬度 + */ + private Double latitude; + + /** + * 经度 + */ + private Double longitude; + + /** + * 海拔高度 + */ + private Double asl; + } + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)