yeg
2026-09-07 eee00fd63f558cfa0caf737c868de8fc0c652fcd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package com.battery.business.report;
 
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.ruoyi.common.exception.ServiceException;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import java.util.List;
 
/** 模板写入只接收名称与有序结构,不接收整份报表。 */
public record CompareFieldTemplateRequest(@NotBlank @Size(max = 100) String name,
        @NotNull @Size(min = 1, max = 100) List<@NotNull @Valid CompareField> fields)
{
    /** 顶层也拒绝来源选择、人工值等非结构属性。 */
    @JsonAnySetter
    public void rejectUnknown(String field, Object value)
    { throw new ServiceException("字段模板不允许提交属性:" + field); }
}