php 生成唯一订单号
php 生成唯一订单号4种方法
第一种
private function doCreateOrderNumber($time){
$i=1;
$dd = date('Ymd',$time);
$aa = 'OH'.$dd;
$res = $this->orderModel->query("select sn from sr_order_list where sn like '$aa%' order by id limit 1");
if(!isset($res[0]['sn'])){
$i = 1;
}else{
$i = (int)substr($res[0]['sn'],9,10) + 1;
}
while(true){
$nsn = 'OH'.$dd.$i;
$exist = $this->orderModel->query("select id from sr_order_list where sn = '$nsn' ");
if($exist){
$i++;
}else{
return $nsn;
}
}
}
第二种
$osn = date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);
echo $osn; //2018070462577
第三种
$osn = date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);
echo $osn; //2018070499495653
第四种
$order_id_main = date('YmdHis') . rand(10000000,99999999); $order_id_len = strlen($order_id_main); $order_id_sum = 0; for($i=0; $i<$order_id_len; $i++){ $order_id_sum += (int)(substr($order_id_main,$i,1)); } $osn = $order_id_main . str_pad((100 - $order_id_sum % 100) % 100,2,'0',STR_PAD_LEFT);echo $osn; //201807041332258742313727
第五种
$code = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J');
$osn = $code[intval(date('Y')) - 2011] . strtoupper(dechex(date('m'))) . date('d') . substr(time(), -5) . substr(microtime(), 2, 5) . sprintf('%02d', rand(0, 99));
echo $osn; //H704764673624352
php 生成唯一订单号的更多相关文章
- php生成唯一订单号
支持更改长度/** * 生成唯一订单号 * */ function build_order_no(){ return date('Ymd').substr(implode(NULL, array_ma ...
- C#生成唯一订单号
今天系统出了一个问题,发现生成的订单号存在重复的情况了,这是要命的bug,不马上解决,就会有投诉了 经过改进后的代码我先简单的放一下,后面在慢慢的写清楚整个流程 string key = " ...
- mysql使用触发器生成唯一订单号,
需求:订单号唯一,并且期望是时间格式加其他字符串, 实现:采用触发机制,在新增时根据新增id值加1作为订单生成的随机且确定唯一的数,因为id唯一: 遇到问题:新增时不能提前知道id值, 解决:取到当前 ...
- php生成唯一订单号的方法
第一种 $danhao = date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT); 第二种 $danhao = date('Ym ...
- php 生成唯一订单号5种方法
第一种 private function doCreateOrderNumber($time){ $i=1; $dd = date('Ymd',$time); $aa = 'OH'.$dd; $res ...
- 全局唯一订单号生成方法(参考snowflake)
backgroud Snowflake is a network service for generating unique ID numbers at high scale with some si ...
- php生成唯一id/唯一标识符/唯一订单号
/** * php 生成唯一id * https://blog.csdn.net/hzqghost/article/details/18914681 */ function guid($factor= ...
- Java订单号生成,唯一订单号(日均千万级别不重复)
Java订单号生成,唯一订单号 相信大家都可以搜索到很多的订单的生成方式,不懂的直接百度.. 1.订单号需要具备以下几个特点. 1.1 全站唯一性. 1.2 最好可读性. 1.3 随机性,不能重复,同 ...
- 支付宝支付集成过程中如何生成商户订单号(out_trade_no)
out_trade_no是指商户网站唯一订单号,在商户端唯一,每个商户订单号会对应一个支付宝订单号 ,此订单号由珊瑚自己生成,商户订单号要求64个字符以内.可包含字母.数字.下划线:需保证在商户端不重 ...
- 代码收藏系列--php--生成简短唯一订单号(转载)
代码收藏系列--php--生成简短唯一订单号 /** * 生成商家交易单号 * <br />特点:不重复 * <br />示例: * <br />普通付款:arra ...
随机推荐
- NOIP2022退役记
我是青岛西海岸新区的一名oier,qxyz(xhayz)的. (其实也不知道算不算得上真正的oier) 已经高二了,是最后一次noip了,必须写点什么记录一下了吧,这样至少可以向世界留下一点痕迹:这个 ...
- 使用nvm管理node
安装包在阿里云盘 安装时,记录安装位置 安装后,在安装目录的setting添加镜像地址 node_mirror:npm.taobao.org/mirrors/node/ npm_mirror:npm. ...
- .Net 6.0 Web API 项目生成镜像并上传到私有仓库 Harbor
〇.前言 本文首先简单介绍了 Dockerfile 内容和常用命令: 然后是在 Windows 环境 Docker desktop 的安装和配置: 最后创建了 Web API 示例项目,并简单说明了从 ...
- 【Java】项目采用的设计模式案例
先说一下业务需要: 做电竞酒店后台系统,第一期功能有一个服务申请的消息通知功能 就是酒店用户在小程序点击服务功能,可以在后台这边查到用户的服务需要 原本设计是只需要一张表存储这些消息,但是考虑设计是S ...
- 【Phoenix】4.14.1-Hbase-1.3版本 安装
Phoenix 版本 会附带Hbase版本,要根据安装的Hbase版本下载Phoenix 下载Phoenix wget http://archive.apache.org/dist/phoenix/a ...
- 【转载】 EdgeX Foundry试运行
原文地址: https://www.cnblogs.com/charlieroro/p/14843335.html ========================================== ...
- IDEA-实时显示当前所在类及方
有时候用GIT对比文件修改过大,没法同步修改的时候,这个操作方式就变得极为有用.接下来就是是实操. 1 view 2 Active Editor 3 勾上show Breadcrumbs 4 看IDE ...
- python学习(一)django orm多表查询
###多表查询 一般的多表查询都是直接建立一个多对多关系 class Books(models.Model): users = models.ManyToManyField(User, related ...
- 远程采集服务器指标信息(一) 远程通过SSH执行命令
远程采集服务器信息,比如说磁盘信息.内存信息. 现介绍java通过SSH执行命令采集服务器信息,比如说执行df.ls.top. /** * * SSH远程执行shell类 */ public clas ...
- 瑞芯微 | 如何固定以太口地址为指定ip?ifplugd妙用
rxw的RK3568的evb1公板,有2个以太口, 默认UI界面只能配置eth0,无法配置eth1, 实际应用中,有时需要一旦有网线插入,就需要该地址设置为指定IP地址. 本文介绍2个最简单的方法实现 ...