物料表加上物料图标字段

This commit is contained in:
wanxiaoli 2026-05-13 18:18:21 +08:00
parent e806647a5a
commit 1c96b8b684
3 changed files with 46 additions and 3 deletions

View File

@ -115,7 +115,9 @@ public class MaterialController {
@DeleteMapping @DeleteMapping
public boolean deleteBatch(@RequestBody List<String> ids) { public boolean deleteBatch(@RequestBody List<String> ids) {
if (ids != null && !ids.isEmpty()) { if (ids != null && !ids.isEmpty()) {
List<Material> list = materialService.list(new QueryWrapper<Material>().in("material_id", ids)); List<Material> list = materialService.list(new QueryWrapper<Material>()
.select("material_id", "project_id")
.in("material_id", ids));
for (Material m : list) { for (Material m : list) {
if (m.getProjectId() != null && !m.getProjectId().isBlank() && !"-1".equals(m.getProjectId())) { if (m.getProjectId() != null && !m.getProjectId().isBlank() && !"-1".equals(m.getProjectId())) {
projectAccessHelper.assertCanWriteProject(m.getProjectId()); projectAccessHelper.assertCanWriteProject(m.getProjectId());
@ -167,6 +169,15 @@ public class MaterialController {
.body(bytes); .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. 根据物料名称搜索可为空并分页返回 * 5. 根据物料名称搜索可为空并分页返回
* 输入参数查询参数 name物料名称关键词可为空pageNum页码默认1pageSize每页条数默认10 * 输入参数查询参数 name物料名称关键词可为空pageNum页码默认1pageSize每页条数默认10
@ -181,6 +192,14 @@ public class MaterialController {
@RequestParam(defaultValue = "1") long pageNum, @RequestParam(defaultValue = "1") long pageNum,
@RequestParam(defaultValue = "20") long pageSize) { @RequestParam(defaultValue = "20") long pageSize) {
QueryWrapper<Material> qw = new QueryWrapper<>(); QueryWrapper<Material> 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"); qw.eq("project_id", "-1");
if (name != null && !name.isEmpty()) { if (name != null && !name.isEmpty()) {
qw.like("name", name); qw.like("name", name);
@ -198,6 +217,14 @@ public class MaterialController {
projectAccessHelper.assertCanReadProject(projectId); projectAccessHelper.assertCanReadProject(projectId);
} }
QueryWrapper<Material> qw = new QueryWrapper<Material>() QueryWrapper<Material> qw = new QueryWrapper<Material>()
.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) .eq("project_id", projectId)
.orderByDesc("created_at"); .orderByDesc("created_at");
Page<Material> page = new Page<>(pageNum, pageSize, true); Page<Material> page = new Page<>(pageNum, pageSize, true);

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -16,6 +17,11 @@ import java.time.LocalDateTime;
*/ */
@Data @Data
@TableName("critical_data") @TableName("critical_data")
@JsonAutoDetect(
fieldVisibility = JsonAutoDetect.Visibility.ANY,
getterVisibility = JsonAutoDetect.Visibility.NONE,
isGetterVisibility = JsonAutoDetect.Visibility.NONE
)
public class CriticalData implements Serializable { public class CriticalData implements Serializable {
/** 序列化版本号 */ /** 序列化版本号 */

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data; import lombok.Data;
@ -13,6 +14,11 @@ import java.math.BigDecimal;
@Data @Data
@TableName("material") @TableName("material")
@JsonAutoDetect(
fieldVisibility = JsonAutoDetect.Visibility.ANY,
getterVisibility = JsonAutoDetect.Visibility.NONE,
isGetterVisibility = JsonAutoDetect.Visibility.NONE
)
public class Material implements Serializable { public class Material implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -27,14 +33,14 @@ public class Material implements Serializable {
private String name; private String name;
@TableField("u_concentration") @TableField("u_concentration")
@JsonProperty("uConcentration") // @JsonProperty("uConcentration")
private BigDecimal uConcentration; private BigDecimal uConcentration;
@TableField("uo2_density") @TableField("uo2_density")
private BigDecimal uo2Density; private BigDecimal uo2Density;
@TableField("u_enrichment") @TableField("u_enrichment")
@JsonProperty("uEnrichment") // @JsonProperty("uEnrichment")
private BigDecimal uEnrichment; private BigDecimal uEnrichment;
@TableField("pu_concentration") @TableField("pu_concentration")
@ -76,6 +82,10 @@ public class Material implements Serializable {
@TableField("custom_attrs") @TableField("custom_attrs")
private String customAttrs; // JSON private String customAttrs; // JSON
@TableField("icon_base64")
// @JsonProperty("icon_base64")
private String iconBase64;
@TableField("created_at") @TableField("created_at")
private LocalDateTime createdAt; private LocalDateTime createdAt;