Browse Source

fix: ipo后支付

master
liyang 2 months ago
parent
commit
e17d58850e
  1. 2
      app/admin/route/app.php
  2. 32
      app/admin/service/OrderService.php
  3. 8
      app/home/service/IPOService.php

2
app/admin/route/app.php

@ -189,7 +189,7 @@ Route::group('/', function () {
// 申购订单 // 申购订单
Route::post('/order/pre_stock_order', 'Order/preStock'); Route::post('/order/pre_stock_order', 'Order/preStock');
Route::post('/order/update_order_num', 'Order/updateGetNum')->middleware('admin_log'); // 修改中签数 Route::post('/order/update_order_num', 'Order/updateGetNum')->append(['market_type' => 18])->middleware('admin_log'); // 修改中签数
Route::post('/order/pre_refund', 'Order/preRefund')->middleware('admin_log'); // ipo订单退款 Route::post('/order/pre_refund', 'Order/preRefund')->middleware('admin_log'); // ipo订单退款
//基金订单 //基金订单

32
app/admin/service/OrderService.php

@ -2252,22 +2252,30 @@ class OrderService extends AdminBaseService
if (in_array($order['status'], [7, 8])) return $this->toData('1', '订单已退款,不可操作'); if (in_array($order['status'], [7, 8])) return $this->toData('1', '订单已退款,不可操作');
if ($param['get_num'] > $order['num']) { // if ($param['get_num'] > $order['num']) {
return $this->toData('1', '修改中签数不能大于订单申购数'); // return $this->toData('1', '修改中签数不能大于订单申购数');
} // }
// 1 2 5 状态才能修改数量
$getTime = Db::table($tableObj['stock_table'])->where('id', $order['pre_stock_id'])->value('get_time'); if (!in_array($order['status'], [1, 2, 5])) {
if (env('USER_ARREARS.HAS_USER_ARREARS') == 1 && $order['pay_type'] == 2 && in_array($order['status'], [5, 6])) { return $this->toData('1', 'IPO已上市,无法修改');
} else { }
if (strtotime($getTime) < time()) return $this->toData('1', 'IPO已中签,无法修改'); // $getTime = Db::table($tableObj['stock_table'])->where('id', $order['pre_stock_id'])->value('get_time');
} // if (env('USER_ARREARS.HAS_USER_ARREARS') == 1 && $order['pay_type'] == 2 && in_array($order['status'], [5, 6])) {
// } else {
$bool = Db::table($tableObj['order_table'])->where('id', $param['id'])->update([ // if (strtotime($getTime) < time()) return $this->toData('1', 'IPO已中签,无法修改');
// }
$updateArr = [
'get_num' => $param['get_num'], 'get_num' => $param['get_num'],
'get_amount' => $param['get_num'] * $order['price'], 'get_amount' => $param['get_num'] * $order['price'],
'get_fee' => $order['get_amount'] * $order['fee_rate'], 'get_fee' => $order['get_amount'] * $order['fee_rate'],
'update_time' => date('Y-m-d H:i:s') 'update_time' => date('Y-m-d H:i:s')
]); ];
if ($order['pay_type'] == 2) {
$updateArr['num'] = $param['get_num'];
$updateArr['amount'] = $param['get_num'] * $order['price'];
$updateArr['fee'] = $updateArr['amount'] * $order['fee_rate'];
}
$bool = Db::table($tableObj['order_table'])->where('id', $param['id'])->update($updateArr);
if (!$bool) return $this->toData('1', '修改失败'); if (!$bool) return $this->toData('1', '修改失败');
return $this->toData('0', 'SUCCESS', []); return $this->toData('0', 'SUCCESS', []);

8
app/home/service/IPOService.php

@ -221,9 +221,9 @@ class IPOService extends BaseHomeService
if ($preStock['price'] <= 0) { if ($preStock['price'] <= 0) {
return $this->toData('1', lang('price_error'), []); return $this->toData('1', lang('price_error'), []);
} }
$param['pay_type'] = 2;
// 支付类型 // 支付类型
if (empty($param['pay_type']) || !is_numeric($param['pay_type']) || !in_array($param['pay_type'], [1, 2])) { if (empty($param['pay_type']) || !is_numeric($param['pay_type']) || !in_array($param['pay_type'], [2])) {
return $this->toData('1', lang('parameter_error'), []); return $this->toData('1', lang('parameter_error'), []);
} }
@ -619,7 +619,9 @@ class IPOService extends BaseHomeService
if (empty($hasOrder)) { if (empty($hasOrder)) {
return $this->toData('1', lang('parameter_error'), []); return $this->toData('1', lang('parameter_error'), []);
} }
if ($hasOrder['get_num'] <= 0) {
return $this->toData('1', '割当評価と配分を待っています', []);
}
$orderNo = $hasOrder['order_no']; $orderNo = $hasOrder['order_no'];
Db::startTrans(); Db::startTrans();

Loading…
Cancel
Save