49 lines
1.3 KiB
PHP
49 lines
1.3 KiB
PHP
<?php
|
|
|
|
|
|
namespace models;
|
|
|
|
|
|
use phpcommon;
|
|
use phpcommon\SqlHelper;
|
|
|
|
class OrderId {
|
|
|
|
public static function gen()
|
|
{
|
|
SqlHelper::insert
|
|
(myself()->_getSelfMysql(),
|
|
't_orderid',
|
|
array(
|
|
'account_id' => myself()->_getAccountId(),
|
|
'request' => json_encode($_REQUEST),
|
|
'createtime' => myself()->_getNowTime(),
|
|
'modifytime' => myself()->_getNowTime(),
|
|
)
|
|
);
|
|
$lastIdx = SqlHelper::getLastInsertId(myself()->_getSelfMysql());
|
|
$orderId = strftime('%y%m%d%H%M%S', myself()->_getNowTime()) . phpcommon\pad($lastIdx % 100000, 5);
|
|
return $orderId;
|
|
}
|
|
|
|
public static function genInappOrderId()
|
|
{
|
|
$orderId = self::gen();
|
|
if (strlen($orderId) > 32) {
|
|
error_log('genInappOrderId error order_id ' . $orderId);
|
|
die();
|
|
}
|
|
$newOrderId = $orderId;
|
|
while (strlen($newOrderId) < 32) {
|
|
$newOrderId .= 'A';
|
|
}
|
|
$newOrderId = substr($newOrderId, 0, 8) . '-' .
|
|
substr($newOrderId, 8, 4) . '-' .
|
|
substr($newOrderId, 12, 4) . '-' .
|
|
substr($newOrderId, 16, 4) . '-' .
|
|
substr($newOrderId, 20, 12);
|
|
return $newOrderId;
|
|
}
|
|
|
|
}
|