From 66c225ab10c661f141053164186c17372e79c2c5 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 8 Aug 2024 13:46:44 +0800 Subject: [PATCH] 1 --- doc/Mall.py | 71 ----- doc/README.php | 2 + webapp/controller/MallController.class.php | 270 ------------------ webapp/services/CallBack.php | 4 - webapp/services/callback/MarketBuyOrderOk.php | 33 --- .../services/callback/MarketCancelOrderOk.php | 28 -- .../callback/MarketPriceUpdateOrderOk.php | 31 -- .../services/callback/MarketSellOrderOk.php | 65 ----- 8 files changed, 2 insertions(+), 502 deletions(-) delete mode 100644 doc/Mall.py delete mode 100644 webapp/controller/MallController.class.php delete mode 100644 webapp/services/callback/MarketBuyOrderOk.php delete mode 100644 webapp/services/callback/MarketCancelOrderOk.php delete mode 100644 webapp/services/callback/MarketPriceUpdateOrderOk.php delete mode 100644 webapp/services/callback/MarketSellOrderOk.php diff --git a/doc/Mall.py b/doc/Mall.py deleted file mode 100644 index 1281902a..00000000 --- a/doc/Mall.py +++ /dev/null @@ -1,71 +0,0 @@ -# -*- coding: utf-8 -*- - -import _common - -class Mall(object): - - def __init__(self): - self.apis = [ - { - 'name': 'productList', - 'desc': '商品列表', - 'group': 'Mall', - 'url': 'webapp/index.php?c=Mall&a=productList', - 'params': [ - _common.ReqHead(), - ['page', 0, '第几页数据'], - ['seller', '', '查询指定钱包 为空的化查询所有人'], - ['order_method', 0, '排序方式 0:默认排序(当前指向1) 1:上架时间 2:价格'], - ['order_asc', 0, '排序方向, 0:从小到大 1:从大到小'], - ['price_filter', '', '价格过滤(用|分割)'], - ], - 'response': [ - _common.RspHead(), - ['pagination', _common.Pagination(), '分页信息'], - ['!rows', [_common.MallGoods()], '商品列表'] - ] - }, - { - 'name': 'sell', - 'desc': '出售', - 'group': 'Mall', - 'url': 'webapp/index.php?c=Mall&a=sell', - 'params': [ - _common.ReqHead(), - ['item_id', '', '道具id,目前只能卖CEG'], - ['amount', '', '出售数量'], - ['currency', '', "选用币种 目前只支持CEG USDC USDT"], - ['price', '', '出售价格'], - ], - 'response': [ - _common.RspHead() - ] - }, - { - 'name': 'cancel', - 'desc': '下架物品', - 'group': 'Mall', - 'url': 'webapp/index.php?c=Mall&a=cancel', - 'params': [ - _common.ReqHead(), - ['goods_uuid', '', '商品唯一id'], - ], - 'response': [ - _common.RspHead() - ] - }, - { - 'name': 'modifyPrice', - 'desc': '修改价格', - 'group': 'Mall', - 'url': 'webapp/index.php?c=Mall&a=modifyPrice', - 'params':[ - _common.ReqHead(), - ['goods_uuid', '', '商品唯一id'], - ['price', '', '出售价格USDT'], - ], - 'response': [ - _common.RspHead() - ] - }, - ] diff --git a/doc/README.php b/doc/README.php index 09b40e55..ef19c17d 100644 --- a/doc/README.php +++ b/doc/README.php @@ -39,6 +39,8 @@ * c=Battle 改为 c=BattleData * 2024/08/06 * 删除 c=Market + * 2024/08/08 + * 删除 c=Mall * * */ diff --git a/webapp/controller/MallController.class.php b/webapp/controller/MallController.class.php deleted file mode 100644 index cac55df8..00000000 --- a/webapp/controller/MallController.class.php +++ /dev/null @@ -1,270 +0,0 @@ -priceLowBn = phpcommon\bnInit(self::PRICE_LOW); - $this->priceHighBn = phpcommon\bnInit(self::PRICE_HIGH); - } - - public function productList() - { - $page = getReqVal('page', 0); - $seller = getReqVal('seller', ''); - $queryData = array(); - if (!empty($seller)) { - $queryData['seller'] = $seller; - } - $queryData['price_filter'] = getReqVal('price_filter', ''); - $orderBy = ''; - $orderAsc = 'ASC'; - if (getReqVal('order_asc', '') == 1) { - $orderAsc = 'DESC'; - } - switch (getReqVal('order_method', '')) { - case 1: - { - $orderBy = 'ORDER BY createtime ' . $orderAsc; - } - break; - case 2: - { - $orderBy = 'ORDER BY length(price) ' . $orderAsc . ', price ' . $orderAsc; - } - break; - } - - $out = array( - 'pagination' => array(), - 'rows' => array() - ); - SqlHelper::rawQueryPage( - myself()->_getMySql(''), - 'SELECT * FROM t_mall WHERE status=:status', - array( - ':status' => Mall::PENDING_STATE - ), - array( - 'page' => $page, - 'perPage' => 8, - 'filter' => array( - 'data' => $queryData, - 'fields' => array( - array( - 'name' => 'seller', - 'field_name' => 'seller_address', - 'cond' => '=', - 'ignore_empty' => true, - ), - array( - 'name' => 'price_filter', - 'field_name' => '', - 'cond' => 'custom', - 'ignore_empty' => true, - 'custom_func' => function () use ($queryData) { - $priceFilters = $queryData['price_filter']; - $arrPriceFilter = explode('|', $priceFilters); - $priceLow = $arrPriceFilter[0]; - $priceHigh = $arrPriceFilter[1]; - return " AND (length(price) >= length('${priceLow}') AND length(price) <= length('${priceHigh}')) " - . " AND (price >= '${priceLow}' AND price <= '${priceHigh}') "; - } - ), - ) - ), - 'orderBy' => $orderBy, - 'handle' => function ($row) use(&$out) { - array_push($out['rows'], Mall::toDto($row)); - } - ), - $out['pagination'] - ); - myself()->_rspData($out); - } - - public function sell() - { - $address = myself()->_getAddress(); - if (!$address) { - $this->_rspErr(1, 'address not found'); - return; - } - $itemId = getReqVal('item_id', ''); - $amount = intval(getReqVal('amount', ''), 10); - $currency = getReqVal('currency', ''); - $priceBn = phpcommon\bnInit(getReqVal('price', '')); - if ($itemId != V_ITEM_GOLD) { - $this->_rspErr(1, 'only support gold'); - return; - } - if ($amount <= 0) { - $this->_rspErr(1, 'amount must > 0'); - return; - } - if (!$this->checkPrice($priceBn)) { - return; - } - if (!in_array( - $currency, - array( - BlockChainService::CURRENCY_CEG, - BlockChainService::CURRENCY_USDC, - BlockChainService::CURRENCY_USDT, - ) - )) { - $this->_rspErr(1, 'paramater error currency'); - return; - } - $costItems = array( - array( - 'item_id' => $itemId, - 'item_num' => $amount - ) - ); - $lackItem = null; - if (!$this->_hasEnoughItems($costItems, $lackItem)) { - $this->_rspErr(2, $this->_getLackItemErrMsg($lackItem)); - return; - } - $this->_decItems($costItems); - if ($itemId == V_ITEM_GOLD) { - //埋点 - $event = [ - 'name' => LogService::MARKET_SELL_GOLD, - 'val' => $amount - ]; - LogService::consumeGold($event); - } - $orderId = OrderId::gen(); - Mall::Add( - $orderId, - $orderId, - $itemId, - $amount, - $currency, - phpcommon\bnToStr($priceBn) - ); - myself()->_rspOk(); - } - - public function cancel() - { - $goodsUuid = getReqVal('goods_uuid', ''); - $goodsDb = Mall::findByGoodsUuid($goodsUuid); - if (!$goodsDb) { - myself()->_rspErr(1, 'goods not found'); - return; - } - $goodsDto = Mall::toDto($goodsDb); - if ($goodsDto['cancel_countdown'] != 0) { - myself()->_rspErr(1, 'cant cancel'); - return; - } - $awardService = new AwardService(); - $propertyChgService = new PropertyChgService(); - switch ($goodsDb['item_id']) { - case V_ITEM_GOLD: - { - $items = array( - array( - 'item_id' => $goodsDb['item_id'], - 'item_num' => $goodsDb['item_num'], - ) - ); - Mall::cancel($goodsDto['goods_uuid']); - myself()->_addItems($items, $awardService, $propertyChgService); - { - //埋点 - $event = [ - 'name' => LogService::MARKET_CANCEL_SELL_GOLD, - 'val' => $goods['amount'] - ]; - LogService::productGold($event); - } - } - break; - default: - { - myself()->_rspErr(1, 'cant cancel'); - return; - } - break; - } - myself()->_rspData(array( - 'award' => $awardService->toDto(), - 'property_chg' => $propertyChgService->toDto(), - )); - } - - public function modifyPrice() - { - $goodsUuid = getReqVal('goods_uuid', ''); - $priceBn = phpcommon\bnInit(getReqVal('price', '')); - if (!$this->checkPrice($priceBn)) { - return; - } - $goodsDb = Mall::findByGoodsUuid($goodsUuid); - if (!$goodsDb) { - myself()->_rspErr(1, 'goods not found'); - return; - } - $goodsDto = Mall::toDto($goodsDb); - if ($goodsDto['modify_countdown'] != 0) { - myself()->_rspErr(1, 'cant modify price'); - return; - } - Mall::modifyPrice($goodsDto['goods_uuid'], phpcommon\bnToStr($priceBn)); - myself()->_rspOk(); - } - - private function checkPrice($priceBn) - { - if ($priceBn === false) { - myself()->_rspErr(1, 'price format error1'); - return false; - } - if (phpcommon\bnCmp($this->priceLowBn, $priceBn) > 0) { - myself()->_rspErr(1, 'price format error2'); - return false; - } - if (phpcommon\bnCmp($this->priceHighBn, $priceBn) < 0) { - myself()->_rspErr(1, 'price format error3'); - return false; - } - return true; - } - -} diff --git a/webapp/services/CallBack.php b/webapp/services/CallBack.php index 44122111..4107688c 100644 --- a/webapp/services/CallBack.php +++ b/webapp/services/CallBack.php @@ -8,10 +8,6 @@ class CallBackService extends BaseService { 'mintNftHero' => 'MintNftHero' , 'gameItemMallBuyOk' => 'GameItemMallBuyOk', 'gameItemMarketBuyOk' => 'GameItemMarketBuyOk', - 'MarketSellOrderOk' => 'MarketSellOrderOk', - 'MarketBuyOrderOk' => 'MarketBuyOrderOk', - 'MarketCancelOrderOk' => 'MarketCancelOrderOk', - 'MarketPriceUpdateOrderOk' => 'MarketPriceUpdateOrderOk', 'inappPurchase' => 'InAppPurchase', 'outappPurchase' => 'OutAppPurchase', 'staked721' => 'Staked721', diff --git a/webapp/services/callback/MarketBuyOrderOk.php b/webapp/services/callback/MarketBuyOrderOk.php deleted file mode 100644 index 4feda385..00000000 --- a/webapp/services/callback/MarketBuyOrderOk.php +++ /dev/null @@ -1,33 +0,0 @@ -_rspOk(); - } - -} diff --git a/webapp/services/callback/MarketCancelOrderOk.php b/webapp/services/callback/MarketCancelOrderOk.php deleted file mode 100644 index aa7b78f2..00000000 --- a/webapp/services/callback/MarketCancelOrderOk.php +++ /dev/null @@ -1,28 +0,0 @@ -_rspOk(); - } - -} diff --git a/webapp/services/callback/MarketPriceUpdateOrderOk.php b/webapp/services/callback/MarketPriceUpdateOrderOk.php deleted file mode 100644 index 15643695..00000000 --- a/webapp/services/callback/MarketPriceUpdateOrderOk.php +++ /dev/null @@ -1,31 +0,0 @@ -_rspOk(); - } - -} diff --git a/webapp/services/callback/MarketSellOrderOk.php b/webapp/services/callback/MarketSellOrderOk.php deleted file mode 100644 index 845f15b7..00000000 --- a/webapp/services/callback/MarketSellOrderOk.php +++ /dev/null @@ -1,65 +0,0 @@ -_rspOk(); - } - -}