From 70c47b0f983c02e1e5558d57305097784cd47521 Mon Sep 17 00:00:00 2001 From: songliang Date: Fri, 14 Jul 2023 21:44:14 +0800 Subject: [PATCH] ... --- sql/gamedb.sql | 6 ++++-- sql/gamedb2006_migrate_230713_01.sql | 4 ++++ webapp/controller/ShopController.class.php | 2 +- webapp/services/callback/MarketSellOrderOk.php | 9 ++++----- webapp/services/callback/ShopBuyGoodsDirect.php | 2 +- 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/sql/gamedb.sql b/sql/gamedb.sql index ea94afcf..8c5d3106 100644 --- a/sql/gamedb.sql +++ b/sql/gamedb.sql @@ -1149,13 +1149,15 @@ DROP TABLE IF EXISTS `t_shop_buy_order`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `t_shop_buy_order` ( `idx` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '订单id', - `address` varchar(60) NOT NULL COMMENT '账户id', + `order_id` varchar(64) DEFAULT NULL COMMENT '订单id', + `address` varchar(60) NOT NULL COMMENT '账户地址', `createtime` int(11) NOT NULL COMMENT '订单开始时间', `id` int(11) NOT NULL COMMENT '商店货物id', `item_id` int(11) NOT NULL COMMENT '道具id', `goods_num` int(11) NOT NULL COMMENT '购买个数', `status` int(11) NOT NULL COMMENT '订单状态 0-客户端申请了订单 1-订单完成 2-订单失败', - PRIMARY KEY (`idx`) + PRIMARY KEY (`idx`), + UNIQUE KEY `order_id` (`order_id`) ) ENGINE=InnoDB AUTO_INCREMENT=184 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; diff --git a/sql/gamedb2006_migrate_230713_01.sql b/sql/gamedb2006_migrate_230713_01.sql index ca452f6d..89c9f600 100644 --- a/sql/gamedb2006_migrate_230713_01.sql +++ b/sql/gamedb2006_migrate_230713_01.sql @@ -60,8 +60,12 @@ CREATE TABLE `t_market_transaction_record` ( KEY `order_id` (`order_id`) ) ENGINE=InnoDB AUTO_INCREMENT=10002 DEFAULT CHARSET=utf8; + ALTER TABLE t_web2_order MODIFY COLUMN `item_num` bigint(20) DEFAULT NULL COMMENT '道具数量'; +ALTER TABLE t_shop_buy_order ADD COLUMN `order_id` varchar(64) DEFAULT NULL COMMENT '订单id'; +ALTER TABLE t_shop_buy_order add UNIQUE KEY `order_id` (`order_id`); + insert into version (version) values(2023071301); commit; \ No newline at end of file diff --git a/webapp/controller/ShopController.class.php b/webapp/controller/ShopController.class.php index 67f73055..95649d92 100644 --- a/webapp/controller/ShopController.class.php +++ b/webapp/controller/ShopController.class.php @@ -314,7 +314,7 @@ class ShopController extends BaseAuthedController $hash_data = http_build_query($data); - $signature = hash_hmac('sha256', $hash_data, 'iG4Rpsa)6U31$H#^T85$^^3'); + $signature = hash_hmac('sha256', $hash_data, BUY_SERVER_PKEY); if ($signature != $sign) { $this->_rspErr(1, "signature error, signature: {$signature}, sign: {$sign}"); diff --git a/webapp/services/callback/MarketSellOrderOk.php b/webapp/services/callback/MarketSellOrderOk.php index 0a8df8dd..7031148d 100644 --- a/webapp/services/callback/MarketSellOrderOk.php +++ b/webapp/services/callback/MarketSellOrderOk.php @@ -50,7 +50,7 @@ class MarketSellOrderOk extends MarketCallbackBase $o_link = $orderId; $conn = myself()->_getMysql(''); - // 1. check order status + // 1. check order status and repeat order $chk = SqlHelper::selectOne($conn, 't_market_store', array('status'), array('o_link' => $o_link)); if (!empty($chk)) { $this->_rspErr(1, 'repeat sell order, o_link=' . $o_link); @@ -94,10 +94,9 @@ class MarketSellOrderOk extends MarketCallbackBase if (!$r) { $this->_rspErr(2, 'unknown error, orderId=' . $orderId); } - $lastId = $this->lastInsertId($conn); - $order_id = $this->genOrderId($lastId); - $test = SqlHelper::update($conn, 't_market_store', array('idx' => $lastId), array('order_id' => $order_id)); - $this->_rspOk(); + + // 成功上架,更新nft状态 + $this->_rspOk(); } private function getNftGameData($nftRowInfo) diff --git a/webapp/services/callback/ShopBuyGoodsDirect.php b/webapp/services/callback/ShopBuyGoodsDirect.php index 8b8f1991..6bd374eb 100644 --- a/webapp/services/callback/ShopBuyGoodsDirect.php +++ b/webapp/services/callback/ShopBuyGoodsDirect.php @@ -57,7 +57,7 @@ class ShopBuyGoodsDirect $hash_data = http_build_query($data); - $signature = hash_hmac('sha256', $hash_data, 'iG4Rpsa)6U31$H#^T85$^^3'); + $signature = hash_hmac('sha256', $hash_data, BUY_SERVER_PKEY); if ($signature != $sign) { $this->_rspErr(1, "signature error, signature: {$signature}, sign: {$sign}");