Class SerialNumberContext
java.lang.Object
io.leandev.appfuse.serial.SerialNumberContext
序號生成上下文
封裝序號生成所需的參數,支援多種序號格式的配置。
常見序號格式:
- 訂單編號:{租戶代碼}-{YYYYMMDD}-{序號} → T001-20250113-0001
- 客戶編號:{租戶代碼}-CUST-{序號} → T001-CUST-0001
- 產品編號:{前綴}{序號} → PRD-0001
使用範例:
// 帶日期的訂單編號
SerialNumberContext orderContext = SerialNumberContext.builder()
.tenantCode("T001")
.entityType("Order")
.dateFormat("yyyyMMdd")
.sequenceLength(4)
.build();
// 簡單前綴的客戶編號
SerialNumberContext customerContext = SerialNumberContext.builder()
.tenantCode("T001")
.entityType("Customer")
.prefix("T001-CUST-")
.sequenceLength(4)
.build();
// 使用 SerialNumberGenerator 生成
String orderNumber = generator.generate(orderContext);
String customerNumber = generator.generate(customerContext);
- See Also:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic SerialNumberContext.Builderbuilder()建立 Builder取得日期格式datePart()取得格式化的日期部分取得實體類型boolean建構完整的前綴(包含租戶代碼和日期)inthashCode()static SerialNumberContext快速建立簡單上下文static SerialNumberContext快速建立帶日期的上下文prefix()取得前綴取得參考日期int取得序號長度取得租戶代碼toString()
-
Method Details
-
builder
-
of
快速建立簡單上下文- Parameters:
tenantCode- 租戶代碼prefix- 前綴sequenceLength- 序號長度- Returns:
- SerialNumberContext 實例
-
ofDated
public static SerialNumberContext ofDated(String tenantCode, String entityType, String dateFormat, int sequenceLength) 快速建立帶日期的上下文- Parameters:
tenantCode- 租戶代碼entityType- 實體類型dateFormat- 日期格式sequenceLength- 序號長度- Returns:
- SerialNumberContext 實例
-
tenantCode
-
entityType
-
prefix
-
dateFormat
-
sequenceLength
public int sequenceLength()取得序號長度- Returns:
- 序號長度(補零用)
-
referenceDate
-
datePart
-
fullPrefix
-
equals
-
hashCode
-
toString
-