mysql每1小时输出_每一小时的订单流水号?

我贴一个我们生产环境上的生成订单号的代码给楼主看看吧,可以照着这个模式改造下

/**

* 生成第三方支付的外部订单号

*/

public static function generateOutTradeNo($paidScene = Constant::PAID_SCENE_SEMINAR_ORDER){

$prefix = date('YmdHis');

$paidSceneMap = self::getPaidSceneMapping();

$scene = formatArrValue($paidSceneMap,$paidScene,'0001');

$suffix = generateRandomNum(10);

return $prefix.$scene.$suffix;

}

/**

* 获取支付场景的map,这个是为了区分不同的支付场景时候更新不同的业务字段,为了拓展进行的预留

*/

public static function getPaidSceneMapping(){

return [

Constant::PAID_SCENE_SEMINAR_ORDER => '0001',

Constant::PAID_SCENE_SHOP_GOODS_ORDER => '0002'

];

}

/**

* 说明: 随机串算法

* 输出参数: String

*/

function generateRandomNum($len=8){

$minArr = [];

$maxArr = [];

for($i=0;$i

$min = $i == $len -1 ? 1 : 0;

array_push($minArr,$min);

$max = 9;

array_push($maxArr,$max);

}

$minLimit = implode('',$minArr);

$maxLimit = implode('',$maxArr);

$num = mt_rand($minLimit,$maxLimit);

return $num;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值