diff --git a/webapp/controller/ShopController.class.php b/webapp/controller/ShopController.class.php index 2fbe6579..729480b3 100644 --- a/webapp/controller/ShopController.class.php +++ b/webapp/controller/ShopController.class.php @@ -316,7 +316,7 @@ class ShopController extends BaseAuthedController { return; } - $orderId = OrderId::gen(); + $orderId = OrderId::genInappOrderId(); InAppOrder::add( $orderId, $platform, diff --git a/webapp/models/OrderId.php b/webapp/models/OrderId.php index de5f8503..f5ad8995 100644 --- a/webapp/models/OrderId.php +++ b/webapp/models/OrderId.php @@ -9,7 +9,8 @@ use phpcommon\SqlHelper; class OrderId { - public static function gen(){ + public static function gen() + { SqlHelper::insert (myself()->_getSelfMysql(), 't_orderid', @@ -25,4 +26,23 @@ class OrderId { 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; + } + }