package jnpf.limsEntity.bizlog; import com.fasterxml.jackson.databind.PropertyNamingStrategies; import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.Data; /** * 业务日志列表返回 VO。字段对齐前端 {@code VisualLogVo},便于 {@code DataLogList.vue} 零样式改动地复用。 *

* 注意:{@code dataLog} 和 {@code extraJson} 保持为 JSON 字符串原样下发,前端 {@code DataLogList.vue} * 会做 {@code JSON.parse}(沿用平台原生日志的处理方式)。 * *

命名策略:JNPF 全局 {@code JacksonConfig} 把 ObjectMapper 配成 * {@code PropertyNamingStrategies.SNAKE_CASE},会把驼峰字段名序列化成下划线 * ({@code creatorTime} → {@code creator_time})。 * 但前端 {@code DataLogList.vue} 沿用 JNPF 原生 {@code VisualLogVo} 的驼峰约定。 * 用 {@link JsonNaming} 注解**局部覆盖**全局策略,保留本 VO 的驼峰输出,避免改全局影响其它接口。 */ @Data @JsonNaming(PropertyNamingStrategies.LowerCamelCaseStrategy.class) public class LimsBizLogVo { private String id; private Long logSeq; /** 与前端 type 字段对齐:见 {@link BizLogAction#getFrontendType()} */ private Integer type; private String actionType; private String actionLabel; private String bizCode; private String bizType; /** 操作时间(已格式化为 yyyy-MM-dd HH:mm) */ private String creatorTime; private String creatorUserId; private String creatorUserName; private String headIcon; /** VisualLogModel[] 的 JSON 字符串,前端 JSON.parse 解析 */ private String dataLog; /** 自由结构元数据 JSON 字符串 */ private String extraJson; }