bourse stock
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.

72 lines
2.7 KiB

<?php
namespace app\admin\job;
use app\admin\service\AdminBaseService;
use app\admin\service\setting\IPOService;
use think\Db;
use think\queue\Job;
class SendGo
{
/**
* @param Job $job
* @param $data
* @return void
*/
public function fire(Job $job, $data)
{
try {
trace('--接收-通知go---' . json_encode($data), 'error');
switch ($data['type']) {
// 通知交易
case 'trade':
$bool = (new IPOService())->sendStockToGo($data['id'], $data['stock_code'], $data['market_type']);
if (!$bool) {
trace('---通知交易异常---', 'error');
$status = 2;
} else {
$status = 1;
}
(new IPOService())->updateIPOStatus($data['market_type'], $data['id'], $data['type'], $status);
break;
//后支付通知交易
case 'last_trade':
$bool = (new IPOService())->sendStockToTrade($data['order_no'], $data['stock_code'], $data['market_type']);
if (!$bool) {
trace('---通知交易异常---', 'error');
$status = 2;
} else {
$status = 1;
}
(new IPOService())->updateIPOStatus($data['market_type'], $data['id'], $data['type'], $status, $data['order_no']);
break;
// 通知行情
case 'hq':
$bool = (new IPOService())->sendNewStockToGo($data['country'], $data['stock_code'], $data['stock_code'], $data['stock_name'], $data['tape'], $data['price'], $data['isReal'], $data['company_info'], $data['source'], $data['numeric_code'] ?? 0);
if (!$bool) {
trace('---通知行情异常---', 'error');
$status = 2;
} else {
$status = 1;
}
(new IPOService())->updateIPOStatus($data['market_type'], $data['id'], $data['type'], $status);
break;
case 'fee':
$bool = (new IPOService())->stockIPOFee($data['market_type'], $data['id'], $data['stock_code']);
if (!$bool) {
trace('---通知扣除异常---', 'error');
}
break;
}
} catch (\Exception $exception) {
trace('---通知GO异常---' . $exception->getMessage(), 'error');
}
$job->delete();
}
}