基礎微服務主要是提供整個項目中基礎數據的維護,比如每個業務模塊的操作日誌,各種商品的庫存管理。
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 = '庫存表';