15 小时以前 b29d86d9ed34fd890eb14cb7a75f6ae4f7148865
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package cn.iocoder.yudao.module.mes.dal.dataobject.trace.consumer;
 
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
 
import java.time.LocalDateTime;
 
/**
 * 消费者扫码访问事件 DO
 * <p>
 * 记录公众通过二维码/H5 扫描溯源页面的访问情况(成功与失败均记录),
 * 用于分析消费者溯源访问量、趋势与分布。
 */
@TableName("mes_trace_consumer_scan_event")
@KeySequence("mes_trace_consumer_scan_event_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MesTraceConsumerScanEventDO extends BaseDO {
 
    @TableId
    private Long id;
 
    /** 扫码原始内容(必要时截断) */
    private String traceCode;
 
    /** 解析后的追溯码 */
    private String normalizedCode;
 
    /** 入口类型:BAG/PALLET/BATCH */
    private String sourceType;
 
    /** 扫码入口渠道:微信/支付宝/浏览器 */
    private String channel;
 
    /** 省份(IP 归属地,仅存地名不存敏感信息) */
    private String province;
 
    /** 城市(IP 归属地,仅存地名不存敏感信息) */
    private String city;
 
    /** 生产批次编号 */
    private Long batchId;
 
    /** 是否查询成功(0 失败,1 成功) */
    private Boolean success;
 
    /** 失败编码 */
    private String errorCode;
 
    /** 客户端 IP SHA-256 摘要(不保存明文) */
    private String ipHash;
 
    /** User-Agent SHA-256 摘要(不保存明文) */
    private String userAgentHash;
 
    /** 访问时间 */
    private LocalDateTime eventTime;
 
}