From 8887422e04d93e8ab4b6d9a5c071eb6c64778995 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期一, 02 二月 2026 13:34:36 +0800
Subject: [PATCH] 光电站点改为智能站点
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/BasContainer.java | 66 +++++++++++++++++++++++++++------
1 files changed, 54 insertions(+), 12 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/BasContainer.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/BasContainer.java
index 6635df2..25b5b78 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/BasContainer.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/BasContainer.java
@@ -6,17 +6,16 @@
import java.util.Date;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.vincent.rsf.server.manager.utils.AreasDeserializer;
+import com.vincent.rsf.server.manager.utils.AreasSerializer;
+import com.vincent.rsf.server.manager.utils.AreasTypeHandler;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.vincent.rsf.server.system.entity.DictData;
import com.vincent.rsf.server.system.service.DictDataService;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.vincent.rsf.framework.common.Cools;
@@ -24,8 +23,10 @@
import com.vincent.rsf.server.system.service.UserService;
import com.vincent.rsf.server.system.entity.User;
import java.io.Serializable;
-import java.util.Date;
import java.util.List;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.stream.Collectors;
@Data
@Accessors(chain = true)
@@ -57,11 +58,14 @@
private String codeType;
/**
- * 鍙叆搴撳尯
+ * 鍙叆搴撳尯锛堝寘鍚帓搴忎俊鎭級
+ * 鏍煎紡: [{"id": 1, "sort": 1}, {"id": 2, "sort": 2}]
*/
- @ApiModelProperty(value = "鍙叆搴撳尯")
- @TableField(typeHandler = JacksonTypeHandler.class)
- private List<Integer> areas;
+ @ApiModelProperty(value = "鍙叆搴撳尯锛堝寘鍚帓搴忎俊鎭級")
+ @TableField(typeHandler = AreasTypeHandler.class)
+ @JsonDeserialize(using = AreasDeserializer.class)
+ @JsonSerialize(using = AreasSerializer.class)
+ private List<Map<String, Object>> areas;
/**
* 鏄惁鍒犻櫎 1: 鏄� 0: 鍚�
@@ -118,7 +122,7 @@
public BasContainer() {
}
- public BasContainer(Long containerType, String codeType, List<Integer> areas, Integer deleted, Integer status,
+ public BasContainer(Long containerType, String codeType, List<Map<String, Object>> areas, Integer deleted, Integer status,
Integer tenantId, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
this.containerType = containerType;
this.codeType = codeType;
@@ -207,4 +211,42 @@
}
}
+ /**
+ * 鑾峰彇鎺掑簭鍚庣殑搴撳尯ID鍒楄〃锛堝悜鍚庡吋瀹规柟娉曪級
+ * @return 鎺掑簭鍚庣殑搴撳尯ID鍒楄〃
+ */
+ public List<Integer> getAreasIds() {
+ if (Cools.isEmpty(this.areas)) {
+ return new ArrayList<>();
+ }
+ return this.areas.stream()
+ .sorted((a, b) -> {
+ Integer sortA = a.get("sort") != null ? ((Number) a.get("sort")).intValue() : Integer.MAX_VALUE;
+ Integer sortB = b.get("sort") != null ? ((Number) b.get("sort")).intValue() : Integer.MAX_VALUE;
+ return sortA.compareTo(sortB);
+ })
+ .map(area -> {
+ Object id = area.get("id");
+ if (id instanceof Number) {
+ return ((Number) id).intValue();
+ }
+ return null;
+ })
+ .filter(id -> id != null)
+ .collect(Collectors.toList());
+ }
+
+ /**
+ * 瀵筧reas鎸塻ort瀛楁杩涜鎺掑簭
+ */
+ public void sortAreas() {
+ if (this.areas != null && !this.areas.isEmpty()) {
+ this.areas.sort((a, b) -> {
+ Integer sortA = a.get("sort") != null ? ((Number) a.get("sort")).intValue() : Integer.MAX_VALUE;
+ Integer sortB = b.get("sort") != null ? ((Number) b.get("sort")).intValue() : Integer.MAX_VALUE;
+ return sortA.compareTo(sortB);
+ });
+ }
+ }
+
}
--
Gitblit v1.9.1