package com.oying.modules.message.domain; import com.oying.base.BaseEntity; 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-07-25 **/ @Data @TableName("mes_advertisement") public class MesAdvertisement extends BaseEntity implements Serializable { @TableId(value = "id", type = IdType.AUTO) @ApiModelProperty(value = "广告ID") private Long id; @NotBlank @ApiModelProperty(value = "广告标题") private String title; @ApiModelProperty(value = "副标题/简介") private String subTitle; @ApiModelProperty(value = "广告正文(支持富文本)") private String content; @ApiModelProperty(value = "封面图URL") private String coverImg; @ApiModelProperty(value = "Banner图URL(冗余)") private String bannerImg; @NotNull @ApiModelProperty(value = "投放渠道 1小程序 2APP 3全平台") private Integer platform; @NotNull @ApiModelProperty(value = "跳转类型 1内部 2外部") private Integer jumpType; @ApiModelProperty(value = "跳转地址(内部路径或外部链接)") private String jumpUrl; @ApiModelProperty(value = "跳转携带参数(JSON)") private String jumpParams; @NotNull @ApiModelProperty(value = "排序值 越大越前") private Integer sortOrder; @NotNull @ApiModelProperty(value = "是否置顶 0否 1是") private Integer isTop; @NotNull @ApiModelProperty(value = "状态 1启用 2禁用") private Integer status; @NotNull @ApiModelProperty(value = "公告开始时间") private Timestamp effectiveTime; @NotNull @ApiModelProperty(value = "公告结束时间") private Timestamp expireTime; @NotNull @ApiModelProperty(value = "点击次数(冗余)") private Long clickCount; @NotNull @ApiModelProperty(value = "展示次数(冗余)") private Long showCount; @ApiModelProperty(value = "备注") private String remark; @NotBlank @ApiModelProperty(value = "createBy") private String createBy; @NotNull @ApiModelProperty(value = "createTime") private Timestamp createTime; @NotBlank @ApiModelProperty(value = "updateBy") private String updateBy; @NotNull @ApiModelProperty(value = "updateTime") private Timestamp updateTime; public void copy(MesAdvertisement source){ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); } }