From 1dcfa3702505f0c431757312b5304531029f90f6 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 09 四月 2026 18:57:38 +0800
Subject: [PATCH] #getter$摘出entity

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/BasContainer.java |  110 +++++++++++++++++++++++++++++++++---------------------
 1 files changed, 67 insertions(+), 43 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..8a7107e 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)
@@ -51,17 +52,20 @@
     private Long containerType;
 
     /**
-     * 瀹瑰櫒鏉$爜绫诲瀷
+     * 瀹瑰櫒鏉$爜瑙勫垯
      */
-    @ApiModelProperty(value = "瀹瑰櫒鏉$爜绫诲瀷")
+    @ApiModelProperty(value = "瀹瑰櫒鏉$爜瑙勫垯")
     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: 鍚�
@@ -87,6 +91,9 @@
     @ApiModelProperty(value = "娣诲姞浜哄憳")
     private Long createBy;
 
+    @TableField(exist = false)
+    private String createBy$;
+
     /**
      * 娣诲姞鏃堕棿
      */
@@ -100,6 +107,9 @@
     @ApiModelProperty(value = "淇敼浜哄憳")
     private Long updateBy;
 
+    @TableField(exist = false)
+    private String updateBy$;
+
     /**
      * 淇敼鏃堕棿
      */
@@ -112,13 +122,17 @@
      */
     @ApiModelProperty(value = "澶囨敞")
     private String memo;
+    @TableField(exist = false)
+    private String containerType$;
+
+
 
 
 
     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;
@@ -148,26 +162,7 @@
 //    );
 
     public String getContainerType$(){
-        if (Cools.isEmpty(this.containerType)){
-            return "";
-        }
-        DictDataService service = SpringUtils.getBean(DictDataService.class);
-        DictData dictData = service.getOne(new LambdaQueryWrapper<DictData>()
-                .eq(DictData::getDictTypeCode, "sys_container_type")
-                .eq(DictData::getValue, this.containerType));
-        if (!Cools.isEmpty(dictData)) {
-            return String.valueOf(dictData.getLabel());
-        }
-        return "";
-    }
-
-    public String getCreateBy$() {
-        UserService service = SpringUtils.getBean(UserService.class);
-        User user = service.getById(this.createBy);
-        if (!Cools.isEmpty(user)) {
-            return String.valueOf(user.getNickname());
-        }
-        return null;
+        return this.containerType$;
     }
 
     public String getCreateTime$() {
@@ -175,15 +170,6 @@
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
-    }
-
-    public String getUpdateBy$() {
-        UserService service = SpringUtils.getBean(UserService.class);
-        User user = service.getById(this.updateBy);
-        if (!Cools.isEmpty(user)) {
-            return String.valueOf(user.getNickname());
-        }
-        return null;
     }
 
     public String getUpdateTime$() {
@@ -207,4 +193,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