|
|
|
|
@ -0,0 +1,129 @@
|
|
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
* https://www.mall4j.com/
|
|
|
|
|
*
|
|
|
|
|
* 未经允许,不可做商业用途!
|
|
|
|
|
*
|
|
|
|
|
* 版权所有,侵权必究!
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
package com.yami.shop.bean.model;
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.annotation.TableField;
|
|
|
|
|
import com.baomidou.mybatisplus.annotation.TableId;
|
|
|
|
|
import com.baomidou.mybatisplus.annotation.TableName;
|
|
|
|
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
|
|
|
import com.yami.shop.common.serializer.json.ImgJsonSerializer;
|
|
|
|
|
import lombok.Data;
|
|
|
|
|
import java.io.Serializable;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `IndexImg`类是一个实体类,用于表示电商系统首页图片相关的信息,在首页展示、图片管理等业务场景中有着重要作用,
|
|
|
|
|
* 它主要负责在数据库层面记录首页图片的各项关键数据,方便后续进行诸如图片展示顺序调整、图片关联商品设置、
|
|
|
|
|
* 图片状态管理等操作。
|
|
|
|
|
|
|
|
|
|
* @author lanhai
|
|
|
|
|
*/
|
|
|
|
|
@Data
|
|
|
|
|
@TableName("tz_index_img")
|
|
|
|
|
public class IndexImg implements Serializable {
|
|
|
|
|
private static final long serialVersionUID = -3468251351681518798L;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `imgId`属性作为该类的主键,是每条首页图片记录在数据库中的唯一标识符。
|
|
|
|
|
* 它具有唯一性,通过这个 `imgId`,系统能够在数据库中精准地定位、操作某一条具体的首页图片相关记录,
|
|
|
|
|
* 比如在更新、删除特定首页图片信息或者根据该ID查询其详细属性时,都要依赖这个唯一标识来确保操作的准确性和针对性,
|
|
|
|
|
* 是整个首页图片数据管理中的关键标识字段。
|
|
|
|
|
*/
|
|
|
|
|
@TableId
|
|
|
|
|
private Long imgId;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `shopId`属性用于标识该图片所属的店铺ID,在多店铺的电商平台模式下,不同店铺可能有各自独立的首页图片展示需求,
|
|
|
|
|
* 通过这个属性可以明确图片是与哪个店铺相关联,进而在展示首页图片时能够按照店铺进行区分和筛选,
|
|
|
|
|
* 同时在涉及店铺相关的图片管理操作(如店铺自行上传、修改、删除自己的首页图片等)时,也依靠这个ID来确定操作对象。
|
|
|
|
|
*/
|
|
|
|
|
private Long shopId;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `imgUrl`属性存放的是图片的网络地址或者在系统中的存储路径等信息,具体取决于系统的图片存储和访问方式。
|
|
|
|
|
* 例如在使用云存储服务时,可能是该图片在云存储中的完整URL地址;若是本地存储,则可能是相对系统根目录的文件路径,
|
|
|
|
|
* 这个属性用于在前端页面展示首页图片时,准确获取并显示对应的图片内容,是实现图片展示功能的关键数据之一。
|
|
|
|
|
*/
|
|
|
|
|
private String imgUrl;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `des`属性用于存储图片的说明文字或者描述信息,它可以对图片展示的内容、目的等进行简要介绍,
|
|
|
|
|
* 比如对于一张展示某款商品的图片,这里的描述可能是“新款夏季连衣裙,时尚优雅”之类的文字,帮助用户更好地理解图片所传达的信息,
|
|
|
|
|
* 同时在一些图片管理操作或者页面排版时,也可以参考这些描述来进行合理的布局和安排。
|
|
|
|
|
*/
|
|
|
|
|
private String des;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `title`属性代表图片的标题,通常是一个简洁且能概括图片核心内容的字符串,
|
|
|
|
|
* 例如“热门商品推荐”“限时优惠活动”等,在前端展示图片时,标题可能会以一定的样式显示在图片上方或附近位置,
|
|
|
|
|
* 起到突出主题、吸引用户关注的作用,也是图片相关信息展示的重要组成部分。
|
|
|
|
|
*/
|
|
|
|
|
private String title;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `link`属性存放的是图片所关联的链接地址,当用户点击首页图片时,会跳转到这个链接指向的页面,
|
|
|
|
|
* 链接的目标页面可以是商品详情页、活动专题页、店铺主页等不同类型的页面,具体根据业务需求和图片的用途来设定,
|
|
|
|
|
* 以此实现通过图片引导用户进行相应的浏览和操作,提升用户在平台内的交互体验。
|
|
|
|
|
*/
|
|
|
|
|
private String link;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `status`属性用于表示图片的状态,一般用整数类型来表示不同的状态值,例如可以设定 `0` 表示图片未启用(暂不展示),
|
|
|
|
|
* `1` 表示图片已启用(正常展示)等状态定义,通过这个属性可以方便地对首页图片进行展示与否的控制,
|
|
|
|
|
* 比如在后台管理系统中,管理员可以根据业务情况随时更改图片的状态,从而调整首页图片的展示效果。
|
|
|
|
|
*/
|
|
|
|
|
private Integer status;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `seq`属性代表图片的展示顺序,同样是整数类型,用于确定在首页展示图片时各个图片的先后排列次序,
|
|
|
|
|
* 可以按照业务需求设定较小的数值在前、较大的数值在后等排序规则,通过调整不同图片的 `seq` 值,
|
|
|
|
|
* 能够灵活地改变首页图片的展示顺序,实现对首页展示效果的个性化定制和优化。
|
|
|
|
|
*/
|
|
|
|
|
private Integer seq;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `uploadTime`属性记录的是图片的上传时间,以 `Date` 类型存储,格式一般遵循系统默认的时间格式(例如 `yyyy-MM-dd HH:mm:ss`),
|
|
|
|
|
* 它可以用于数据的溯源、统计分析等操作,比如查看不同时间段内店铺上传了哪些首页图片、了解图片的更新频率等业务场景中会用到该时间信息。
|
|
|
|
|
*/
|
|
|
|
|
private Date uploadTime;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `type`属性用于区分图片的类型,不同的整数值可以对应不同的图片分类,例如 `1` 表示商品推荐图片,`2` 表示活动宣传图片,
|
|
|
|
|
* `3` 表示店铺形象展示图片等,通过这种分类方式,可以在业务逻辑中针对不同类型的图片进行差异化的处理和展示,
|
|
|
|
|
* 也便于进行分类管理和统计分析等操作。
|
|
|
|
|
*/
|
|
|
|
|
private int type;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `relation`属性用于存放与图片相关联的其他数据的唯一标识符,比如可能关联到某个商品的 `id`、某个活动的 `id` 等,
|
|
|
|
|
* 其具体含义取决于业务场景中图片与其他实体的关联关系设定,通过这个属性可以建立起图片与其他业务对象之间的联系,
|
|
|
|
|
* 方便在进行相关业务操作时(如根据图片查找关联商品、获取关联活动详情等)获取对应的关联数据。
|
|
|
|
|
*/
|
|
|
|
|
private Long relation;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `pic`属性用于存放商品图片相关信息,它与数据库表字段的映射有所不同,通过 `@TableField(exist = false)` 注解表明该属性
|
|
|
|
|
* 在数据库表中并不实际存在对应的字段,但在业务逻辑处理或者数据传输过程中可能会用到。同时使用 `@JsonSerialize(using = ImgJsonSerializer.class)`
|
|
|
|
|
* 注解意味着在将该类对象转换为JSON格式(例如在接口返回数据给前端时)会使用自定义的序列化器对这个属性进行特殊处理,
|
|
|
|
|
* 可能是对图片路径进行格式调整、添加域名等操作,使其符合前端展示或者与其他系统交互的要求,便于展示商品图片的相关信息。
|
|
|
|
|
*/
|
|
|
|
|
@TableField(exist = false)
|
|
|
|
|
@JsonSerialize(using = ImgJsonSerializer.class)
|
|
|
|
|
private String pic;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `prodName`属性用于存储商品名称,同样是通过 `@TableField(exist = false)` 注解表示其在数据库表中无对应字段,
|
|
|
|
|
* 但在涉及与商品相关的业务逻辑以及数据展示时会用到该属性,比如在首页图片关联商品展示时,除了显示图片本身,
|
|
|
|
|
* 还可以同时展示对应的商品名称,让用户更直观地了解图片所涉及的商品信息,提升用户体验。
|
|
|
|
|
*/
|
|
|
|
|
@TableField(exist = false)
|
|
|
|
|
private String prodName;
|
|
|
|
|
}
|