From f920c36edcdb30f7a7dae0838278f9ad5b1110046038330e64c6bd019d19de65 Mon Sep 17 00:00:00 2001 From: yanglei Date: Fri, 7 Nov 2025 18:03:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=A6=E8=BE=86=E5=88=97=E8=A1=A8=E8=8E=B7?= =?UTF-8?q?=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cdzy/user/handler/PGpointSerializer.java | 2 +- .../cdzy/user/model/vo/EbikeBikeRadiusVo.java | 48 +++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 ebike-user/src/main/java/com/cdzy/user/model/vo/EbikeBikeRadiusVo.java diff --git a/ebike-user/src/main/java/com/cdzy/user/handler/PGpointSerializer.java b/ebike-user/src/main/java/com/cdzy/user/handler/PGpointSerializer.java index 8d495a4..515a2a7 100644 --- a/ebike-user/src/main/java/com/cdzy/user/handler/PGpointSerializer.java +++ b/ebike-user/src/main/java/com/cdzy/user/handler/PGpointSerializer.java @@ -23,7 +23,7 @@ public class PGpointSerializer extends JsonSerializer { gen.writeStartObject(); gen.writeStringField("type","point"); gen.writeNumberField("longitude",point.x); - gen.writeNumberField("latitude",point.x); + gen.writeNumberField("latitude",point.y); // gen.writeArrayFieldStart("coordinates"); // gen.writeNumber(point.x); // gen.writeNumber(point.y); diff --git a/ebike-user/src/main/java/com/cdzy/user/model/vo/EbikeBikeRadiusVo.java b/ebike-user/src/main/java/com/cdzy/user/model/vo/EbikeBikeRadiusVo.java new file mode 100644 index 0000000..c3f2556 --- /dev/null +++ b/ebike-user/src/main/java/com/cdzy/user/model/vo/EbikeBikeRadiusVo.java @@ -0,0 +1,48 @@ +package com.cdzy.user.model.vo; + +import com.cdzy.user.handler.PGpointDeserializer; +import com.cdzy.user.handler.PGpointSerializer; +import com.cdzy.user.handler.PGpointTypeHandler; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.mybatisflex.annotation.Column; +import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.postgresql.geometric.PGpoint; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 实体类。 + * + * @author attiya + * @since 2025-10-21 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class EbikeBikeRadiusVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 用户所在坐标 + */ + @Column(typeHandler = PGpointTypeHandler.class) + @JsonSerialize(using = PGpointSerializer.class) + @JsonDeserialize(using = PGpointDeserializer.class) + @NotNull(message = "用户所在坐标不能为空") + private PGpoint point; + + /** + * 用户所在坐标 + */ + @NotNull(message = "半径不能为空") + private Float radius; +}