流水号管理本文通过产品编码和订单流水号介绍序列号(Sequence)在crudapi中的应用。总结序列号MySQL数据库没有单独的Sequence,只支持自增(increment)主键,不能设置步长、起始索引、格式等,最重要的是一张表只能使用自增(auto-increment)主键incrementforonefield,butsome有时候我们需要多个字段实现流水号功能或者需要支持复杂的格式,mysql本身是无法实现的,所以crudapi封装了复杂的流水号,支持字符串和数字,自定义格式,可以也可以设置为时间戳。可用于产品编码、订单流水号等场景!配置序列号Productcode产品代码采用字符串方式,格式为:PROD_%09d,表示长度为9,宽度不足则补0,最小值从1开始,最大值为999999999,下一个值为1,步长为1。销售订单流水号产品编码采用时间戳的方式,格式为:'SO'yyyyMMddHHmmssSSS,SO代表前缀,精确到年、月、日、时,分、秒、毫秒表定义配置流水号属性产品代码产品表配置流水号字段销售订单流水号销售订单表单配置流水号字段验证流水号功能。该产品是通过ui创建的。因为code字段设置了序列号,这里留空,这样后台会自动生成code。如果代码字段是手动输入的,则以手动输入的值为准。正如预期的那样,生成的编码是PROD_000000001。销售订单通过Postman创建销售订单ui查看订单列表。序列号发现SO20210212110955912成功生成高级序列号API序列号提供获取下一个值函数的API,适用于UI定制场景,在ui上显式显示值。这样比较直观,但是如果用户没有点击保存或者保存失败,可能会浪费价值。查看swagger文档:https://demo.crudapi.cn/swagger-ui.html验证通过Postman获取的下一个值为PROD_000000002总结本文通过配置序列号实现了特定字段的自动赋值功能,无需编码,以及支持二次开发。目前还存在一些不完善之处。产品和销售订单是独立的单表。后面会介绍如何配置表关系,实现一对多、一对一、多对多等主子表。附上demo演示本系统是一个产品级的零代码平台。不同于自动代码生成器,它不需要生成Controller、Service、Repository、Entity等业务代码。业务独立的CRUDRESTfulAPI。官网地址:https://crudapi.cn测试地址:https://demo.crudapi.cn/crudapi/login
