diff --git a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/dto/NoticeDto.java b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/dto/NoticeDto.java new file mode 100644 index 0000000..8f6c00e --- /dev/null +++ b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/dto/NoticeDto.java @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. + * + * https://www.mall4j.com/ + * + * 未经允许,不可做商业用途! + * + * 版权所有,侵权必究! + */ + +package com.yami.shop.bean.app.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import java.util.Date; + +/** + * `NoticeDto`类是一个数据传输对象(DTO),主要用于在电商系统应用层不同组件或模块之间传递公告相关的信息。 + * 其作用是将公告的关键数据进行整合封装,方便在诸如公告发布、公告查询、公告展示等业务场景下进行数据传递, + * 使得数据交互更加清晰、规范且符合业务需求,便于不同业务部分基于这些信息进行相应的操作,例如向用户展示具体公告内容、 + * 后台管理系统对公告进行分类管理等。 + + * @author lanhai + */ +@Schema(description = "公告对象") +@Data +public class NoticeDto { + + /** + * `id`属性用于存放公告的唯一标识符,也就是公告在系统中的ID值,通常为一个Long类型的数字。 + * 这个ID能够在整个系统中精准地定位到某一条具体的公告记录,方便进行数据的管理操作,比如对公告进行更新、删除、 + * 查询其详细属性等操作时,都依赖这个唯一标识来确保操作的准确性和针对性。通过 `@Schema` 注解明确其描述为“公告id”, + * 虽然它在当前设定下并非必填项,但在系统数据管理以及后续可能的功能扩展中,这个ID有着重要的标识作用, + * 有助于区分不同的公告内容,保证数据的唯一性和可追溯性。 + */ + @Schema(description = "公告id") + private Long id; + + /** + * `shopId`属性用于标识该公告所属的店铺ID,在多店铺的电商平台模式下,不同店铺可能会发布各自的公告信息, + * 通过这个属性可以明确公告是与哪个店铺相关联,进而在展示公告时能够按照店铺进行区分和筛选, + * 同时在涉及店铺相关的公告管理操作(如店铺自行发布、修改、删除自己的公告等)时,也依靠这个ID来确定操作对象。 + */ + @Schema(description = "店铺id") + private Long shopId; + + /** + * `title`属性代表公告的标题,通常是一个简短且能够直观体现公告主题的字符串。 + * 例如在电商系统中,可能是“店铺周年庆活动公告”“商品上新通知”等类似的文字表述,它是用户在查看公告列表或者页面展示公告时, + * 首先看到的关键内容,用于吸引用户的注意力,让用户快速了解公告大致的主题,进而决定是否进一步查看公告的详细内容。 + */ + @Schema(description = "标题") + private String title; + + /** + * `content`属性用于存储公告的具体内容信息,它包含了要传达给用户或者相关人员的详细文字描述, + * 比如对于“店铺周年庆活动公告”这个标题,内容里可能会详细介绍活动的时间、参与方式、优惠内容等具体情况; + * 对于“商品上新通知”的公告,内容中则可能会列出上新的商品名称、特点、价格等信息,是公告的核心组成部分, + * 承载着实际要传递的消息,方便用户全面了解公告所涉及的相关事宜。 + */ + @Schema(description = "公告内容") + private String content; + + /** + * `publishTime`属性记录的是公告的发布时间,以 `Date` 类型存储,格式一般遵循系统默认的时间格式(例如 `yyyy-MM-dd HH:mm:ss`)。 + * 它可以用于数据的溯源、统计分析等操作,比如查看不同时间段内店铺发布了哪些公告、了解公告的发布频率等业务场景中会用到该时间信息, + * 同时也能让用户知晓公告的时效性,判断公告内容是否还在有效期内或者是否是最新发布的内容等。 + */ + @Schema(description = "公告发布时间") + private Date publishTime; +} \ No newline at end of file diff --git a/yami-shop-bean/src/main/java/com/yami/shop/bean/model/Notice.java b/yami-shop-bean/src/main/java/com/yami/shop/bean/model/Notice.java new file mode 100644 index 0000000..dbb4a1a --- /dev/null +++ b/yami-shop-bean/src/main/java/com/yami/shop/bean/model/Notice.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. + * + * https://www.mall4j.com/ + * + * 未经允许,不可做商业用途! + * + * 版权所有,侵权必究! + */ + +package com.yami.shop.bean.model; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * 公告管理 + * + * @author hzm + * @date 2019-04-18 21:21:40 + */ +@Data +@TableName("tz_notice") +public class Notice implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 公告id + */ + @TableId + private Long id; + + /** + * 店铺id + */ + private Long shopId; + + /** + * 公告标题 + */ + private String title; + + /** + * 公告内容 + */ + private String content; + + /** + * 状态(1:公布 0:撤回) + */ + private Integer status; + + /** + * 是否置顶(1:是 0:否) + */ + private Integer isTop; + + /** + * 发布时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date publishTime; + + /** + * 更新时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + +}