dengzedong
2024-12-16 b82ba2a29aa9ee181c707677157d8057fff68450
提交 | 用户 | 时间
e7c126 1 package com.iailab.module.system.dal.dataobject.notify;
H 2
3 import com.iailab.framework.common.enums.UserTypeEnum;
4 import com.iailab.framework.mybatis.core.dataobject.BaseDO;
5 import com.baomidou.mybatisplus.annotation.KeySequence;
6 import com.baomidou.mybatisplus.annotation.TableField;
7 import com.baomidou.mybatisplus.annotation.TableId;
8 import com.baomidou.mybatisplus.annotation.TableName;
9 import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
10 import lombok.*;
11
12 import java.time.LocalDateTime;
13 import java.util.Map;
14
15 /**
16  * 站内信 DO
17  *
18  * @author xrcoder
19  */
20 @TableName(value = "system_notify_message", autoResultMap = true)
21 @KeySequence("system_notify_message_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
22 @Data
23 @EqualsAndHashCode(callSuper = true)
24 @ToString(callSuper = true)
25 @Builder
26 @NoArgsConstructor
27 @AllArgsConstructor
28 public class NotifyMessageDO extends BaseDO {
29
30     /**
31      * 站内信编号,自增
32      */
33     @TableId
34     private Long id;
35     /**
36      * 用户编号
37      *
38      * 关联 MemberUserDO 的 id 字段、或者 AdminUserDO 的 id 字段
39      */
40     private Long userId;
41     /**
42      * 用户类型
43      *
44      * 枚举 {@link UserTypeEnum}
45      */
46     private Integer userType;
47
48     // ========= 模板相关字段 =========
49
50     /**
51      * 模版编号
52      *
53      * 关联 {@link NotifyTemplateDO#getId()}
54      */
55     private Long templateId;
56     /**
57      * 模版编码
58      *
59      * 关联 {@link NotifyTemplateDO#getCode()}
60      */
61     private String templateCode;
62     /**
63      * 模版类型
64      *
65      * 冗余 {@link NotifyTemplateDO#getType()}
66      */
67     private Integer templateType;
68     /**
69      * 模版发送人名称
70      *
71      * 冗余 {@link NotifyTemplateDO#getNickname()}
72      */
73     private String templateNickname;
74     /**
75      * 模版内容
76      *
77      * 基于 {@link NotifyTemplateDO#getContent()} 格式化后的内容
78      */
79     private String templateContent;
80     /**
81      * 模版参数
82      *
83      * 基于 {@link NotifyTemplateDO#getParams()} 输入后的参数
84      */
85     @TableField(typeHandler = JacksonTypeHandler.class)
86     private Map<String, Object> templateParams;
87
88     // ========= 读取相关字段 =========
89
90     /**
91      * 是否已读
92      */
93     private Boolean readStatus;
94     /**
95      * 阅读时间
96      */
97     private LocalDateTime readTime;
98
99 }