<?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(); } }