「crudapi」零代碼實現訂單序列號Sequence
序列號管理
本文通過產品編碼和訂單流水號介紹一下序列號(Sequence)在crudapi中的應用。
概要
MySQL數據庫沒有單獨的Sequence,只支持自增長(increment)主鍵,但是不能設置步長、開始索引、格式等,最重要的是一張表只能由一個字段使用自增,但有的時候我們需要多個字段實現序列號功能或者需要支持復雜格式,MySQL本身是實現不了的,所以crudapi封裝了復雜序列號,支持字符串和數字,自定義格式,也可以設置為時間戳。可以用于產品編碼、訂單流水號等場景!
配置序列號
產品編碼采用字符串方式,格式為:PROD_%09d,表示長度為9,寬度不足用0補齊,最小值從1開始, 最大值為999999999,下一個值為1,步長為1。
產品編碼采用時間戳方式,格式為:'SO’yyyyMMddHHmmssSSS,SO表示前綴,精確到年月日時分秒毫秒
表定義配置序列號屬性
產品表配置序列號字段
銷售訂單表配置序列號字段
驗證序列號功能
通過ui創建產品,因為編碼字段設置了序列號,所以留空,這樣后臺會自動生成編碼,如果編碼字段手工輸入,就以手工輸入地值為準。
生成的編碼為PROD_000000001,和期望的一致。
通過Postman創建銷售訂單
ui查看訂單列表,流水號發現SO20210212110955912生成成功
高級
序列號API
序列號提供了獲取下一個值功能的API,適合UI定制的場景,顯式的把值顯示在ui上,這樣更加直觀,但是如果用戶不點保存或者保存失敗的話,可能會浪費值。查看swagger文檔即可
驗證
通過Postman獲取到下一個值為PROD_000000002
小結
本文通過配置序列號的方式實現了特定字段的自動賦值功能,無需編碼,并且支持二次開發。目前有點不完善的地方,產品和銷售訂單都是孤立的單表,后續會介紹如果配置表關系,實現一對多,一對一,多對多等主子表。
附demo演示
本系統屬于產品級的零代碼平臺,不同于自動代碼生成器,不需要生成Controller、Service、Repository、Entity等業務代碼,程序運行起來就可以使用,真正0代碼,可以覆蓋基本的和業務無關的CRUD RESTful API。
官網地址:https://crudapi.cn
測試地址:https://demo.crudapi.cn/crudapi/login
API Java MySQL Spring Boot Vue
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。