You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
warehouse/src/main/java/com/yeqifu/bus/entity/Goods.java

89 lines
5.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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持久化开发的框架的注解来配置与数据库表的映射关系以及类自身的一些行为特性。
* 同时,它包含了众多用于描述商品各方面详细信息的成员变量,这些变量从不同维度刻画了商品的全貌,便于在业务系统中对商品进行全方位的管理、展示以及各种业务操作。
*/