package com.oying.modules.message.domain; import lombok.Data; import cn.hutool.core.bean.BeanUtil; import io.swagger.annotations.ApiModelProperty; import cn.hutool.core.bean.copier.CopyOptions; import java.sql.Timestamp; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.io.Serializable; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; /** * @description / * @author 李萌 * @date 2025-05-06 **/ @Data @TableName("message_info") public class MessageInfo implements Serializable { @TableId(value = "message_id", type = IdType.AUTO) @ApiModelProperty(value = "主键自增") private Long messageId; @NotNull @ApiModelProperty(value = "消息类型('SYSTEM', 'ORDER', 'CUSTOMER')") private String messageType; @NotBlank @ApiModelProperty(value = "消息标题") private String title; @NotBlank @ApiModelProperty(value = "消息内容") private String content; @NotNull @ApiModelProperty(value = "消息状态(未读/已读)") private String status; @NotNull @ApiModelProperty(value = "消息创建时间") private Timestamp createdAt; @NotNull @ApiModelProperty(value = "消息更新时间") private Timestamp updatedAt; @ApiModelProperty(value = "消息跳转链接(订单详情或评价详情)") private String link; public void copy(MessageInfo source){ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); } }