107 lines
2.8 KiB
PHP
107 lines
2.8 KiB
PHP
<?php
|
|
|
|
namespace models;
|
|
|
|
use phpcommon\SqlHelper;
|
|
|
|
class Market extends BaseModel {
|
|
|
|
const PENDING_STATE = 0;
|
|
const BUY_OK_STATE = 1;
|
|
const CANCEL_STATE = 2;
|
|
|
|
public static function find($orderId, $netId){
|
|
$row = SqlHelper::ormSelectOne(
|
|
myself()->_getMysql(''),
|
|
't_market',
|
|
array(
|
|
'order_id' => $orderId,
|
|
'net_id' => $netId,
|
|
)
|
|
);
|
|
return $row;
|
|
}
|
|
|
|
public static function add($orderId, $netId, $tokenId, $seller, $nftToken,
|
|
$amount, $currency, $price, $fieldsKv) {
|
|
if (empty($fieldsKv)) {
|
|
$fieldsKv = array();
|
|
}
|
|
$fieldsKv = array_merge(
|
|
$fieldsKv,
|
|
array(
|
|
'token_id' => $tokenId,
|
|
'seller' => $seller,
|
|
'nft_token' => $nftToken,
|
|
'amount' => $amount,
|
|
'currency' => strtolower($currency),
|
|
'price' => $price,
|
|
'activated' => 1,
|
|
'selltime' => myself()->_getNowTime(),
|
|
'createtime' => myself()->_getNowTime(),
|
|
'modifytime' => myself()->_getNowTime(),
|
|
));
|
|
self::internalUpdate(
|
|
$orderId,
|
|
$netId,
|
|
$fieldsKv);
|
|
}
|
|
|
|
public static function updatePrice($orderId, $netId, $price) {
|
|
self::internalUpdate(
|
|
$orderId,
|
|
$netId,
|
|
array(
|
|
'update_price' => $price,
|
|
'update_time' => myself()->_getNowTime(),
|
|
));
|
|
}
|
|
|
|
public static function buyOk($orderId, $netId) {
|
|
self::internalUpdate(
|
|
$orderId,
|
|
$netId,
|
|
array(
|
|
'status' => self::BUY_OK_STATE,
|
|
));
|
|
}
|
|
|
|
public static function cancel($orderId, $netId) {
|
|
self::internalUpdate(
|
|
$orderId,
|
|
$netId,
|
|
array(
|
|
'status' => self::CANCEL_STATE,
|
|
));
|
|
}
|
|
|
|
private static function internalUpdate($orderId, $netId, $fieldsKv){
|
|
SqlHelper::upsert
|
|
(myself()->_getMysql(''),
|
|
't_market',
|
|
array(
|
|
'order_id' => $orderId,
|
|
'net_id' => $netId,
|
|
),
|
|
array(
|
|
),
|
|
array(
|
|
'order_id' => $orderId,
|
|
'net_id' => $netId,
|
|
'createtime' => myself()->_getNowTime(),
|
|
'modifytime' => myself()->_getNowTime(),
|
|
)
|
|
);
|
|
SqlHelper::update
|
|
(myself()->_getMysql(''),
|
|
't_market',
|
|
array(
|
|
'order_id' => $orderId,
|
|
'net_id' => $netId,
|
|
),
|
|
$fieldsKv
|
|
);
|
|
}
|
|
|
|
}
|