game2006api/webapp/models/OrderId.php
aozhiwei 637ead94e3 1
2023-08-07 15:20:12 +08:00

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;
}
}