From 5ac6ad0ec6e861d4d2275753d15d2ad7f870915a Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 22 六月 2026 17:20:07 +0800
Subject: [PATCH] 6、明细记录中有删除操作的,需设置权限; 7、质量管理要设置检验规则;

---
 src/main/java/com/ruoyi/basic/dto/StorageBlobDTO.java |   63 +++++++++++++++++++++++++++++++
 1 files changed, 63 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/basic/dto/StorageBlobDTO.java b/src/main/java/com/ruoyi/basic/dto/StorageBlobDTO.java
index 62857d0..3265394 100644
--- a/src/main/java/com/ruoyi/basic/dto/StorageBlobDTO.java
+++ b/src/main/java/com/ruoyi/basic/dto/StorageBlobDTO.java
@@ -1,7 +1,11 @@
 package com.ruoyi.basic.dto;
 
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
 import com.ruoyi.basic.pojo.StorageBlob;
 import lombok.Data;
+
+import java.util.Map;
 
 @Data
 public class StorageBlobDTO extends StorageBlob {
@@ -14,4 +18,63 @@
      * 涓嬭浇鍦板潃
      */
     private String downloadURL;
+
+    /**
+     * 鏂囦欢绫诲瀷
+     */
+    private String application;
+
+    /**
+     * 鏀寔浠庢暟瀛桰D鎴栧畬鏁碕SON瀵硅薄鍙嶅簭鍒楀寲
+     */
+    @JsonCreator
+    public static StorageBlobDTO from(Object value) {
+        if (value instanceof Number) {
+            StorageBlobDTO dto = new StorageBlobDTO();
+            dto.setId(((Number) value).longValue());
+            return dto;
+        }
+        if (value instanceof Map) {
+            @SuppressWarnings("unchecked")
+            Map<String, Object> map = (Map<String, Object>) value;
+            StorageBlobDTO dto = new StorageBlobDTO();
+            if (map.get("id") instanceof Number) {
+                dto.setId(((Number) map.get("id")).longValue());
+            }
+            if (map.get("resourceKey") instanceof String) {
+                dto.setResourceKey((String) map.get("resourceKey"));
+            }
+            if (map.get("contentType") instanceof String) {
+                dto.setContentType((String) map.get("contentType"));
+            }
+            if (map.get("originalFilename") instanceof String) {
+                dto.setOriginalFilename((String) map.get("originalFilename"));
+            }
+            if (map.get("uidFilename") instanceof String) {
+                dto.setUidFilename((String) map.get("uidFilename"));
+            }
+            if (map.get("byteSize") instanceof Number) {
+                dto.setByteSize(((Number) map.get("byteSize")).longValue());
+            }
+            if (map.get("path") instanceof String) {
+                dto.setPath((String) map.get("path"));
+            }
+            if (map.get("previewURL") instanceof String) {
+                dto.setPreviewURL((String) map.get("previewURL"));
+            }
+            if (map.get("downloadURL") instanceof String) {
+                dto.setDownloadURL((String) map.get("downloadURL"));
+            }
+            return dto;
+        }
+        if (value instanceof String) {
+            try {
+                StorageBlobDTO dto = new StorageBlobDTO();
+                dto.setId(Long.parseLong((String) value));
+                return dto;
+            } catch (NumberFormatException ignored) {
+            }
+        }
+        throw new IllegalArgumentException("鏃犳硶鍙嶅簭鍒楀寲 StorageBlobDTO: " + value);
+    }
 }

--
Gitblit v1.9.3