You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.4 KiB
83 lines
2.4 KiB
<?php
|
|
|
|
namespace App\Observers;
|
|
|
|
use App\Models\InsideTradeOrder;
|
|
use Carbon\Carbon;
|
|
use GatewayClient\Gateway;
|
|
|
|
class InsideTradeOrderObserver
|
|
{
|
|
/**
|
|
* Handle the inside trade order "created" event.
|
|
*
|
|
* @param \App\Models\InsideTradeOrder $insideTradeOrder
|
|
* @return void
|
|
*/
|
|
public function created(InsideTradeOrder $insideTradeOrder)
|
|
{
|
|
$symbol = strtolower(str_before($insideTradeOrder['symbol'], '/') . str_after($insideTradeOrder['symbol'], '/'));
|
|
$group_id2 = 'tradeList_' . $symbol; //最近成交明细
|
|
$cache_data = [
|
|
'amount' => $insideTradeOrder['trade_amount'],
|
|
'direction' => "buy",
|
|
'id' => $insideTradeOrder['order_id'],
|
|
'increase' => "0",
|
|
'increaseStr' => "+0.00%",
|
|
'price' => $insideTradeOrder['unit_price'],
|
|
'tradeId' => $insideTradeOrder['order_id'],
|
|
'buy_user_id' => $insideTradeOrder['buy_user_id'],
|
|
'sell_user_id' => $insideTradeOrder['sell_user_id'],
|
|
'ts' => Carbon::now()->getPreciseTimestamp(3),
|
|
];
|
|
|
|
Gateway::$registerAddress = '127.0.0.1:1236';
|
|
if (Gateway::getClientIdCountByGroup($group_id2) > 0) {
|
|
Gateway::sendToGroup($group_id2, json_encode(['code' => 0, 'msg' => 'success', 'data' => $cache_data, 'sub' => $group_id2, 'type' => 'dynamic']));
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Handle the inside trade order "updated" event.
|
|
*
|
|
* @param \App\Models\InsideTradeOrder $insideTradeOrder
|
|
* @return void
|
|
*/
|
|
public function updated(InsideTradeOrder $insideTradeOrder)
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Handle the inside trade order "deleted" event.
|
|
*
|
|
* @param \App\Models\InsideTradeOrder $insideTradeOrder
|
|
* @return void
|
|
*/
|
|
public function deleted(InsideTradeOrder $insideTradeOrder)
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Handle the inside trade order "restored" event.
|
|
*
|
|
* @param \App\Models\InsideTradeOrder $insideTradeOrder
|
|
* @return void
|
|
*/
|
|
public function restored(InsideTradeOrder $insideTradeOrder)
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Handle the inside trade order "force deleted" event.
|
|
*
|
|
* @param \App\Models\InsideTradeOrder $insideTradeOrder
|
|
* @return void
|
|
*/
|
|
public function forceDeleted(InsideTradeOrder $insideTradeOrder)
|
|
{
|
|
//
|
|
}
|
|
}
|
|
|