基础微服务主要是提供整个项目中基础数据的维护,比如每个业务模块的操作日志,各种商品的库存管理。
1. 操作日志
操作日志用于记录每个资料的更改信息,比如是谁在什么时候做了什么操作。因为操作日志类似于日志信息,和真正的业务比起来,这一块的数据并不是那么重要的,这里选择将操作日志存储在MongoDB中,其pojo对象如下:
@Data
@Document(value = "basis_operationlog")
@ApiModel(description = "操作日志")
public class OperationLog implements IsEntity {
@MongoId
@ApiModelProperty(value = "唯一标识", dataType = "String")
private String uuid;
@NotBlank
@ApiModelProperty(value = "实体标识", dataType = "String")
private String entityKey;
@NotBlank
@ApiModelProperty(value = "操作时间", dataType = "String")
private String time;
@NotBlank
@ApiModelProperty(value = "操作人", dataType = "Admin")
private Admin operator;
@NotBlank
@ApiModelProperty(value = "操作名称", dataType = "String")
private String actionName;
@ApiModelProperty(value = "操作原因", dataType = "String")
private String reason;
}
2. 库存管理
库存管理之所以被单独拉出来放在基础微服务中,是因为它不仅仅管理着商品的库存,还可以管理其它任何有库存量概念的资料。
2.1 数据结构
CREATE TABLE `basis_stock` (
`uuid` varchar(38) NOT NULL COMMENT '唯一标识',
`entity_key` varchar(255) NOT NULL COMMENT '实体唯一键',
`warehouse` varchar(255) NOT NULL COMMENT '仓库',
`quantity` int(11) NOT NULL COMMENT '库存数量',
PRIMARY KEY (`uuid`),
INDEX `idx_stock_1`(`entity_key`)
) COMMENT = '库存表';