From 96c14d0a54baf2906f62487bfdc6b8e12d19a452 Mon Sep 17 00:00:00 2001 From: chuan <2154243450@qq.com> Date: Mon, 17 Mar 2025 11:17:01 +0800 Subject: [PATCH] IPO --- app/admin/controller/setting/PreStock.php | 3 ++- app/admin/service/setting/IPOService.php | 19 +++++++++++++++++-- app/home/service/IPOService.php | 1 + 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/app/admin/controller/setting/PreStock.php b/app/admin/controller/setting/PreStock.php index 5cb07ddf..a9abed68 100644 --- a/app/admin/controller/setting/PreStock.php +++ b/app/admin/controller/setting/PreStock.php @@ -37,7 +37,8 @@ class PreStock extends AdminBaseController $result = (new IPOService())->stockIPO($market_type,$this->request->param()); return json($result); } - public function fote(){ + + public function note(){ $service = new IPOService(); $market_type=intval($this->request->param('market_type')); $result = $service->repeatNoteGo($market_type,$this->request->param()); diff --git a/app/admin/service/setting/IPOService.php b/app/admin/service/setting/IPOService.php index 87a26eb2..6964efcb 100644 --- a/app/admin/service/setting/IPOService.php +++ b/app/admin/service/setting/IPOService.php @@ -35,8 +35,10 @@ use app\model\StockThaListModel; use app\model\TradeFeeModel; use app\model\UserArrearsModel; use app\model\UserModel; +use app\model\UserUsPreStockOrderModel; use think\exception\ValidateException; use think\facade\Db; +use think\facade\Log; use think\facade\Queue; use function app\admin\service\getTreeMenu; @@ -341,6 +343,8 @@ class IPOService extends AdminBaseService $preHkStock['company_open_time'] = $param['company_open_time']; $preHkStock['company_info'] = $param['company_info']; $preHkStock['logo'] = $param['logo']; + $preHkStock['trade_status'] = 2; + $preHkStock['hq_status'] = 2; if ($market_type == 5) $preHkStock['numeric_code'] = $param['numeric_code'] ?? '0'; $bool = Db::table($table_obj['stock_table'])->insert($preHkStock); @@ -629,6 +633,7 @@ class IPOService extends AdminBaseService return $this->toData('1', '主键 无效'); } + // 判断是否签名 if ($preInStock['sign_status'] != 1) { return $this->toData('1', '还未签名'); @@ -714,9 +719,16 @@ class IPOService extends AdminBaseService if ($market_type == 7) $hqArr['source'] = 2; if ($market_type == 5) $hqArr['numeric_code'] = $preInStock['numeric_code']; - Db::commit(); + // 查询bot_user_us_pre_stock_order表,即所有申购了该股票的订单记录,修改其status状态为3 + Log::info("新股上市 - 修改股票申购状态:pre_stock_id = ".$preInStock['id']); + $stockOrderList = UserUsPreStockOrderModel::where(['pre_stock_id'=>$preInStock['id']])->select()->toArray(); + if (!empty($stockOrderList)) { + foreach ($stockOrderList as $itm) { + UserUsPreStockOrderModel::update(['status'=>3], ['id'=>$itm['id']]); + } + } return $this->toData('0', 'SUCCESS'); } catch (\Exception $exception) { @@ -794,6 +806,8 @@ class IPOService extends AdminBaseService 'company_info' => $preInStock['company_info'], 'country' => $table_obj['country'], 'id' => $preInStock['id'], + 'source' => 0, + 'market_type' => $market_type, ], 'sendGo'); } if ($preInStock['trade_status'] == 2 && $param['type'] == 'trade') { @@ -801,7 +815,8 @@ class IPOService extends AdminBaseService 'type' => 'trade', 'id' => $preInStock['id'], 'stock_code' => $preInStock['stock_code'], - 'market_type' => $market_type + 'market_type' => $market_type, + 'source' => 0, ], 'sendGo'); } return $this->toData('0', 'SUCCESS'); diff --git a/app/home/service/IPOService.php b/app/home/service/IPOService.php index b14115b7..828a4798 100644 --- a/app/home/service/IPOService.php +++ b/app/home/service/IPOService.php @@ -584,6 +584,7 @@ class IPOService extends BaseHomeService 'stock_code' => $preStock['stock_code'], 'order_no' => $orderNo, 'market_type' => $marketType, + 'source' => 0, ], 'sendGo'); }