|
|
package com.yeqifu.bus.entity;
|
|
|
|
|
|
import com.baomidou.mybatisplus.annotation.IdType;
|
|
|
import com.baomidou.mybatisplus.annotation.TableField;
|
|
|
import com.baomidou.mybatisplus.annotation.TableId;
|
|
|
import com.baomidou.mybatisplus.annotation.TableName;
|
|
|
import lombok.Data;
|
|
|
import lombok.EqualsAndHashCode;
|
|
|
import lombok.ToString;
|
|
|
import lombok.experimental.Accessors;
|
|
|
|
|
|
import java.io.Serializable;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
|
* InnoDB free: 9216 kB; (`providerid`) REFER `warehouse/bus_provider`(`id`)
|
|
|
* </p>
|
|
|
*
|
|
|
* @author luoyi-
|
|
|
* @since 2019-12-06
|
|
|
*/
|
|
|
@Data
|
|
|
@EqualsAndHashCode(callSuper = false)
|
|
|
@Accessors(chain = true)
|
|
|
@TableName("bus_goods")
|
|
|
@ToString
|
|
|
public class Goods implements Serializable {
|
|
|
// 序列化版本号,在Java的序列化机制中起着关键作用,它用于验证在不同版本的类结构发生变化时,反序列化操作能否正确进行,
|
|
|
// 这里初始化为1L,意味着当前版本的类结构在序列化相关操作下的一个初始标识,后续若类结构发生变更(如添加、删除成员变量等),可能需要相应地更新此版本号,
|
|
|
// 以避免反序列化失败的问题,确保数据的兼容性和稳定性
|
|
|
|
|
|
private static final long serialVersionUID=1L;
|
|
|
// 通过@TableId注解指定该属性为对应数据库表中的主键字段,名为"id",并且采用IdType.AUTO的主键生成策略,
|
|
|
// 也就是在向数据库插入新的商品记录时,数据库会自动为其分配一个唯一的ID值,这个ID作为商品在整个业务系统中的唯一标识符,
|
|
|
// 可用于精准地定位、查询以及关联与该商品相关的所有业务数据,比如销售记录、库存变动记录等,是整个商品数据管理的核心标识之一。
|
|
|
|
|
|
@TableId(value = "id", type = IdType.AUTO)
|
|
|
private Integer id;
|
|
|
// 商品名称,是识别商品个体的最直观关键信息,在电商平台的前端页面展示、用户搜索商品、后台商品管理等众多业务场景中都会频繁使用,
|
|
|
// 例如用户通过输入商品名称在搜索栏查找心仪的商品,商家在后台管理系统中根据商品名称进行商品信息的编辑、上下架等操作
|
|
|
|
|
|
private String goodsname;
|
|
|
|
|
|
private String produceplace;
|
|
|
// 商品的产地,这一信息在很多业务场景中都有重要意义,比如对于一些具有地域特色的商品(如某地的特产茶叶、水果等),产地信息可以作为商品品质、特色的一种标识,
|
|
|
// 同时在质量追溯、进出口贸易(涉及产地证明等文件)等环节中,产地信息也是不可或缺的,有助于确保商品来源的合法性和质量的可靠性
|
|
|
|
|
|
private String size;
|
|
|
|
|
|
private String goodspackage;
|
|
|
// 商品的规格尺寸,其具体内容根据商品类型的不同而各异,像服装类商品的尺寸关乎穿着是否合身,电子产品的尺寸可能影响其便携性和使用场景,
|
|
|
// 在商品详情页展示、用户筛选商品(按尺寸范围选择合适的商品等)以及库存管理(不同尺寸可能分开统计库存等)等业务操作中,规格尺寸都是重要的参考依据。
|
|
|
|
|
|
private String productcode;
|
|
|
// 商品的包装信息,它涵盖了包装的形式(如盒装、袋装、瓶装等)、包装材料(如纸质、塑料、玻璃等)等方面,
|
|
|
// 在商品的运输过程中,合适的包装能保护商品不受损坏;在存储时,包装形式影响仓储空间的利用;在销售展示环节,精美的包装也能吸引消费者的目光,
|
|
|
// 所以包装信息对于商品的整个生命周期管理都有着不可忽视的作用。
|
|
|
|
|
|
private String promitcode;
|
|
|
|
|
|
private String description;
|
|
|
|
|
|
private Double price;
|
|
|
|
|
|
private Integer number;
|
|
|
|
|
|
private Integer dangernum;
|
|
|
|
|
|
private String goodsimg;
|
|
|
|
|
|
private Integer available;
|
|
|
|
|
|
private Integer providerid;
|
|
|
// 供应商的ID,它建立了商品与供应商之间的关联关系,在采购管理、供应链溯源等业务场景中有着重要作用,
|
|
|
|
|
|
@TableField(exist = false)
|
|
|
private String providername;
|
|
|
// 使用@TableField注解且设置exist = false,表示该属性在数据库表中不存在对应的字段,但在Java类中用于临时存储或业务逻辑处理相关的数据
|
|
|
|
|
|
|
|
|
}
|
|
|
/*
|
|
|
* Goods类是一个用于对商品实体进行建模的Java类,实现了Serializable接口,这使得该类的实例对象能够方便地进行序列化和反序列化操作,
|
|
|
* 例如在电商系统中,商品数据可能需要通过网络传输到不同的服务器端进行处理(如分布式库存管理系统、订单处理系统等),或者将商品信息持久化存储到数据库中,
|
|
|
* 序列化功能就可以保证数据在这些过程中的完整性和可恢复性,确保各个环节能正确地使用商品数据。
|
|
|
*
|
|
|
* 该类运用了多个来自相关框架(如MyBatis-Plus等常用于Java持久化开发的框架)的注解来配置与数据库表的映射关系以及类自身的一些行为特性。
|
|
|
* 同时,它包含了众多用于描述商品各方面详细信息的成员变量,这些变量从不同维度刻画了商品的全貌,便于在业务系统中对商品进行全方位的管理、展示以及各种业务操作。
|
|
|
*/ |