經過序列號Sequence零代碼實現訂單流水號

序列號管理

本文經過產品編碼和訂單流水號介紹一下序列號(Sequence)在crudapi中的應用。html

概要

序列號

MySQL數據庫沒有單獨的Sequence,只支持自增加(increment)主鍵,可是不能設置步長、開始索引、格式等,最重要的是一張表只能由一個字段使用自增,但有的時候咱們須要多個字段實現序列號功能或者須要支持複雜格式,MySQL自己是實現不了的,因此crudapi封裝了複雜序列號,支持字符串和數字,自定義格式,也能夠設置爲時間戳。能夠用於產品編碼、訂單流水號等場景!數據庫

配置序列號

產品編碼

productCode
產品編碼採用字符串方式,格式爲:PROD_%09d,表示長度爲9,寬度不足用0補齊,最小值從1開始, 最大值爲999999999,下一個值爲1,步長爲1。api

銷售訂單流水號

salesOrderCode
產品編碼採用時間戳方式,格式爲:'SO'yyyyMMddHHmmssSSS,SO表示前綴,精確到年月日時分秒毫秒post

表定義配置序列號屬性

產品編碼

product
產品表配置序列號字段測試

銷售訂單流水號

salesOrder
銷售訂單表配置序列號字段ui

驗證序列號功能

產品

createProduct
經過ui建立產品,由於編碼字段設置了序列號,因此留空,這樣後臺會自動生成編碼,若是編碼字段手工輸入,就以手工輸入地值爲準。編碼

editProuct
生成的編碼爲PROD_000000001,和指望的一致。spa

銷售訂單

createSalesOrder
經過Postman建立銷售訂單htm

salesOrderList
ui查看訂單列表,流水號發現SO20210212110955912生成成功索引

高級

序列號API

getnextseq
序列號提供了獲取下一個值功能的API,適合UI定製的場景,顯式的把值顯示在ui上,這樣更加直觀,可是若是用戶不點保存或者保存失敗的話,可能會浪費值。查看swagger文檔:
https://demo.crudapi.cn/swagger-ui.html

驗證

postmangetnextseq
經過Postman獲取到下一個值爲PROD_000000002

小結

本文經過配置序列號的方式實現了特定字段的自動賦值功能,無需編碼,而且支持二次開發。目前有點不完善的地方,產品和銷售訂單都是孤立的單表,後續會介紹若是配置表關係,實現一對多,一對一,多對多等主子表。

附demo演示

本系統屬於產品級的零代碼平臺,不一樣於自動代碼生成器,不須要生成Controller、Service、Repository、Entity等業務代碼,程序運行起來就能夠使用,真正0代碼,能夠覆蓋基本的和業務無關的CRUD RESTful API。

官網地址:https://crudapi.cn
測試地址:https://demo.crudapi.cn/crudapi/login

相關文章
相關標籤/搜索