From 1c96b8b6849d6785c521e5ecee4abc37ce45a7c8 Mon Sep 17 00:00:00 2001 From: wanxiaoli Date: Wed, 13 May 2026 18:18:21 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E8=A1=A8=E5=8A=A0=E4=B8=8A?= =?UTF-8?q?=E7=89=A9=E6=96=99=E5=9B=BE=E6=A0=87=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../css/controller/MaterialController.java | 29 ++++++++++++++++++- .../yfd/business/css/domain/CriticalData.java | 6 ++++ .../com/yfd/business/css/domain/Material.java | 14 +++++++-- 3 files changed, 46 insertions(+), 3 deletions(-) diff --git a/business-css/src/main/java/com/yfd/business/css/controller/MaterialController.java b/business-css/src/main/java/com/yfd/business/css/controller/MaterialController.java index b3cd9f4..a2b54bd 100644 --- a/business-css/src/main/java/com/yfd/business/css/controller/MaterialController.java +++ b/business-css/src/main/java/com/yfd/business/css/controller/MaterialController.java @@ -115,7 +115,9 @@ public class MaterialController { @DeleteMapping public boolean deleteBatch(@RequestBody List ids) { if (ids != null && !ids.isEmpty()) { - List list = materialService.list(new QueryWrapper().in("material_id", ids)); + List list = materialService.list(new QueryWrapper() + .select("material_id", "project_id") + .in("material_id", ids)); for (Material m : list) { if (m.getProjectId() != null && !m.getProjectId().isBlank() && !"-1".equals(m.getProjectId())) { projectAccessHelper.assertCanWriteProject(m.getProjectId()); @@ -167,6 +169,15 @@ public class MaterialController { .body(bytes); } + @GetMapping("/{id}") + public Material getById(@PathVariable String id) { + Material m = materialService.getById(id); + if (m != null && m.getProjectId() != null && !m.getProjectId().isBlank() && !"-1".equals(m.getProjectId())) { + projectAccessHelper.assertCanReadProject(m.getProjectId()); + } + return m; + } + /** * 5. 根据物料名称搜索(可为空)并分页返回 * 输入参数:查询参数 name(物料名称关键词,可为空),pageNum(页码,默认1),pageSize(每页条数,默认10) @@ -181,6 +192,14 @@ public class MaterialController { @RequestParam(defaultValue = "1") long pageNum, @RequestParam(defaultValue = "20") long pageSize) { QueryWrapper qw = new QueryWrapper<>(); + qw.select( + "material_id", "project_id", "name", + "u_concentration", "uo2_density", "u_enrichment", + "pu_concentration", "puo2_density", "pu_isotope", + "e_pu240", "e_pu242", "e_pu241", "e_pu239", "e_pu238", + "hno3_acidity", "h2c2o4_concentration", "organic_ratio", "moisture_content", + "custom_attrs", "created_at", "updated_at", "modifier" + ); qw.eq("project_id", "-1"); if (name != null && !name.isEmpty()) { qw.like("name", name); @@ -198,6 +217,14 @@ public class MaterialController { projectAccessHelper.assertCanReadProject(projectId); } QueryWrapper qw = new QueryWrapper() + .select( + "material_id", "project_id", "name", + "u_concentration", "uo2_density", "u_enrichment", + "pu_concentration", "puo2_density", "pu_isotope", + "e_pu240", "e_pu242", "e_pu241", "e_pu239", "e_pu238", + "hno3_acidity", "h2c2o4_concentration", "organic_ratio", "moisture_content", + "custom_attrs", "created_at", "updated_at", "modifier" + ) .eq("project_id", projectId) .orderByDesc("created_at"); Page page = new Page<>(pageNum, pageSize, true); diff --git a/business-css/src/main/java/com/yfd/business/css/domain/CriticalData.java b/business-css/src/main/java/com/yfd/business/css/domain/CriticalData.java index 23d63f3..ee6ebb1 100644 --- a/business-css/src/main/java/com/yfd/business/css/domain/CriticalData.java +++ b/business-css/src/main/java/com/yfd/business/css/domain/CriticalData.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonAutoDetect; import lombok.Data; import java.io.Serializable; @@ -16,6 +17,11 @@ import java.time.LocalDateTime; */ @Data @TableName("critical_data") +@JsonAutoDetect( + fieldVisibility = JsonAutoDetect.Visibility.ANY, + getterVisibility = JsonAutoDetect.Visibility.NONE, + isGetterVisibility = JsonAutoDetect.Visibility.NONE +) public class CriticalData implements Serializable { /** 序列化版本号 */ diff --git a/business-css/src/main/java/com/yfd/business/css/domain/Material.java b/business-css/src/main/java/com/yfd/business/css/domain/Material.java index e7edc4e..e59f99e 100644 --- a/business-css/src/main/java/com/yfd/business/css/domain/Material.java +++ b/business-css/src/main/java/com/yfd/business/css/domain/Material.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; @@ -13,6 +14,11 @@ import java.math.BigDecimal; @Data @TableName("material") +@JsonAutoDetect( + fieldVisibility = JsonAutoDetect.Visibility.ANY, + getterVisibility = JsonAutoDetect.Visibility.NONE, + isGetterVisibility = JsonAutoDetect.Visibility.NONE +) public class Material implements Serializable { private static final long serialVersionUID = 1L; @@ -27,14 +33,14 @@ public class Material implements Serializable { private String name; @TableField("u_concentration") - @JsonProperty("uConcentration") + // @JsonProperty("uConcentration") private BigDecimal uConcentration; @TableField("uo2_density") private BigDecimal uo2Density; @TableField("u_enrichment") - @JsonProperty("uEnrichment") + // @JsonProperty("uEnrichment") private BigDecimal uEnrichment; @TableField("pu_concentration") @@ -76,6 +82,10 @@ public class Material implements Serializable { @TableField("custom_attrs") private String customAttrs; // JSON + @TableField("icon_base64") + // @JsonProperty("icon_base64") + private String iconBase64; + @TableField("created_at") private LocalDateTime createdAt;