序列号管理

本文通过产品编码和订单流水号介绍一下序列号(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文档:

https://demo.crudapi.cn/swagger-ui.html

验证



通过Postman获取到下一个值为PROD_000000002

小结

本文通过配置序列号的方式实现了特定字段的自动赋值功能,无需编码,并且支持二次开发。目前有点不完善的地方,产品和销售订单都是孤立的单表,后续会介绍如果配置表关系,实现一对多,一对一,多对多等主子表。

附demo演示

本系统属于产品级的零代码平台,不同于自动代码生成器,不需要生成Controller、Service、Repository、Entity等业务代码,程序运行起来就可以使用,真正0代码,可以覆盖基本的和业务无关的CRUD RESTful API。

官网地址:https://crudapi.cn

测试地址:https://demo.crudapi.cn/crudapi/login

通过序列号Sequence零代码实现订单流水号的更多相关文章

  1. 订单和产品的多对多表关系在crudapi系统零代码实现

    表关系管理 在上一篇序列号管理中,产品和销售订单都是孤立的单表,本文通过crudapi中表关系(relation)管理将多个表连接起来,形成一个整体. 概要 关系类型 表与表之间的关系(relatio ...

  2. Magento代码之订单创建流程

    Magento代码之订单创建流程         直接看代码吧.下面的代码是如何通过程序创建一个完美订单.        <?php        require_once 'app/Mage. ...

  3. .net EF 事物 订单流水号的生成 (二):观察者模式、事物、EF

    针对.net EF 事物 订单流水号的生成 (一)  的封装. 数据依然不变. using System; using System.Linq; using System.Transactions; ...

  4. 零代码第一步,做个添加数据的服务先。node.js + mysql

    node.js + mysql 实现数据添加的功能.万事基于服务! 增删改查之添加数据. 优点:只需要设置一个json文件,就可以实现基本的添加功能,可以视为是零代码. 添加数据的服务实现的功能: 1 ...

  5. "零代码”开发B/S企业管理软件之一 :怎么创建数据库表

    声明:该软件为本人原创作品,多年来一直在使用该软件做项目,软件本身也一直在改善,在增加新的功能.但一个人总是会有很多考虑不周全的地方,希望能找到做同类软件的同行一起探讨. 本人文笔不行,能把意思表达清 ...

  6. Excel催化剂开源第42波-与金融大数据TuShare对接实现零门槛零代码获取数据

    在金融大数据功能中,使用了TuShare的数据接口,其所有接口都采用WebAPI的方式提供,本来还在纠结着应该搬那些数据接口给用户使用,后来发现,所有数据接口都有其通用性,结合Excel灵活友好的输入 ...

  7. 个人永久性免费-Excel催化剂功能第98波-零代码零距离轻松接触并拥有金融大数据

    数据产生价值的一个最突出的领域-金融领域,股票.证券.上市公司财务报表等,多少人在其中发掘出宝贵的数据价值.今天Excel催化剂联合Tushare金融大数据平台,让这一切的数据都能成为你我普通人零代码 ...

  8. Spring Cloud Alibaba迁移指南(二):零代码替换 Eureka

    自 Spring Cloud 官方宣布 Spring Cloud Netflix 进入维护状态后,我们开始制作<Spring Cloud Alibaba迁移指南>系列文章,向开发者提供更多 ...

  9. 大话深度学习:B站Up主麦叔教你零代码实现图像分类神经网络

    之前,我在B站发布了“大话神经网络,10行代码不调包,听不懂你打我!”的视频后,因为简单易懂受到了很多小伙伴的喜欢! 但也有小伙伴直呼不够过瘾,因为大话神经网络只有4个神经元. 也有小伙伴问不写代码, ...

随机推荐

  1. hdu3652B-number (数位dp)

    Problem Description A wqb-number, or B-number for short, is a non-negative integer whose decimal for ...

  2. Milk Patterns POJ - 3261 后缀数组

    Farmer John has noticed that the quality of milk given by his cows varies from day to day. On furthe ...

  3. 六、Python集合定义和基本操作方法

    一.集合的定义方法及特点 1.特点: (1)由不同元素组成 #集合由不同元素构成 s={1,2,3,3,4,3,3,} print(s)#运行结果:{1, 2, 3, 4} (2)集合无序 #集合无序 ...

  4. 记一次 Raven2 渗透(phpmailer漏洞+UDF提权)

    目录: 1. 寻找IP 2.dirb目录爆破 2.PHPMailer漏洞反弹得到shell 3.python版本的exp修改 4.查看wordpress的wp-config.php配置文件得到数据库账 ...

  5. 2016 最新的 树莓派3 Raspberry Pi 3 上手评测 图解教程 新手必看!(VNC 安装,启动,关闭)

    1.png . 官方教程: INSTALLING OPERATING SYSTEM IMAGES: https://www.raspberrypi.org/documentation/installa ...

  6. free online markdown editor

    free online markdown editor markdown https://blog.csdn.net/xgqfrms/article/details/50129317 In-brows ...

  7. Interview of Chinese IT companies Ratings and Reviews website/app

    Interview of Chinese IT companies Ratings and Reviews website/app // js hack const getShitRank = (st ...

  8. IM & WebSockets

    IM & WebSockets WebSocket API https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API ht ...

  9. React Hooks & useCallback & useMemo

    React Hooks & useCallback & useMemo https://reactjs.org/docs/hooks-reference.html#usecallbac ...

  10. Simple: SQLite3 中文结巴分词插件

    一年前开发 simple 分词器,实现了微信在两篇文章中描述的,基于 SQLite 支持中文和拼音的搜索方案.具体背景参见这篇文章.项目发布后受到了一些朋友的关注,后续也发布了一些改进,提升了项目易用 ...