刘光辉
14 小时以前 34981c30a78e8bbd7791131059a9210f9928b62c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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} 零样式改动地复用。
 * <p>
 * 注意:{@code dataLog} 和 {@code extraJson} 保持为 JSON 字符串原样下发,前端 {@code DataLogList.vue}
 * 会做 {@code JSON.parse}(沿用平台原生日志的处理方式)。
 *
 * <p><strong>命名策略</strong>: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;
}