|
|
@ -103,12 +103,12 @@ class IPOService extends BaseHomeService |
|
|
|
} |
|
|
|
|
|
|
|
$extend = (new adminIPOService)->getStockTape($marketType); |
|
|
|
return $this->toData('0', 'SUCCESS', ['list' => $rows, 'total' => $total, 'extend' => [ |
|
|
|
return $this->toData('0', lang('success'), ['list' => $rows, 'total' => $total, 'extend' => [ |
|
|
|
'tape_list' => $extend['tape'], |
|
|
|
'stock_type_list' => $extend['type'], |
|
|
|
]]); |
|
|
|
} catch (\Exception $exception) { |
|
|
|
return $this->toData('1', 'System error', [$exception->getMessage(),$exception->getTrace()]); |
|
|
|
return $this->toData('1', lang('system_busy'), [$exception->getMessage(), $exception->getTrace()]); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -117,7 +117,7 @@ class IPOService extends BaseHomeService |
|
|
|
{ |
|
|
|
try { |
|
|
|
if (empty($param['id']) || !is_numeric($param['id'])) { |
|
|
|
return $this->toData('1', 'Params error', []); |
|
|
|
return $this->toData('1', lang('parameter_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
$tableObj = (new adminIPOService)->getStockModel($marketType); |
|
|
@ -125,7 +125,7 @@ class IPOService extends BaseHomeService |
|
|
|
|
|
|
|
$preStock = Db::table($tableObj['stock_table'])->where('id', $param['id'])->where('is_delete', 1)->where('status', 1)->find(); |
|
|
|
if (empty($preStock)) { |
|
|
|
return $this->toData('1', 'Params error', []); |
|
|
|
return $this->toData('1', lang('parameter_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
$is_defer = '0'; |
|
|
@ -170,12 +170,12 @@ class IPOService extends BaseHomeService |
|
|
|
]; |
|
|
|
|
|
|
|
$extend = (new adminIPOService)->getStockTape($marketType); |
|
|
|
return $this->toData('0', 'SUCCESS', ['data' => $data, 'extend' => [ |
|
|
|
return $this->toData('0', lang('success'), ['data' => $data, 'extend' => [ |
|
|
|
'tape_list' => $extend['tape'], |
|
|
|
'stock_type_list' => $extend['type'], |
|
|
|
]]); |
|
|
|
} catch (\Exception $exception) { |
|
|
|
return $this->toData('1', 'System error', []); |
|
|
|
return $this->toData('1', lang('system_busy'), []); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -184,7 +184,7 @@ class IPOService extends BaseHomeService |
|
|
|
{ |
|
|
|
try { |
|
|
|
if (empty($param['id']) || !is_numeric($param['id'])) { |
|
|
|
return $this->toData('1', 'Params error', []); |
|
|
|
return $this->toData('1', lang('parameter_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
$tableObj = (new adminIPOService)->getStockModel($marketType); |
|
|
@ -197,42 +197,42 @@ class IPOService extends BaseHomeService |
|
|
|
->whereTime('end_time', '>=', $nowDate) |
|
|
|
->find(); |
|
|
|
if (empty($preStock)) { |
|
|
|
return $this->toData('1', 'Params error', []); |
|
|
|
return $this->toData('1', lang('parameter_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
$hasOrder = Db::table($tableObj['order_table'])->where('user_id', $userId)->where('pre_stock_id', $param['id'])->count(); |
|
|
|
if ($preStock['limit_get_num'] <= $hasOrder) { |
|
|
|
return $this->toData('1', 'Had Purchased', []); |
|
|
|
return $this->toData('1', lang('had_purchased'), []); |
|
|
|
} |
|
|
|
|
|
|
|
// 下单参数 |
|
|
|
if (empty($param['num']) || !is_numeric($param['num']) || ceil($param['num']) != $param['num'] || $param['num'] <= 0) { |
|
|
|
return $this->toData('1', 'Params error', []); |
|
|
|
return $this->toData('1', lang('parameter_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
if ($param['num'] < $preStock['min']) { |
|
|
|
return $this->toData('1', 'Order quantity less than the minimum', []); |
|
|
|
return $this->toData('1', lang('order_quantity_less_than_the_minimum'), []); |
|
|
|
} |
|
|
|
|
|
|
|
if ($preStock['max'] > 0 && $param['num'] > $preStock['max']) { |
|
|
|
return $this->toData('1', 'Order quantity greater than maximum', []); |
|
|
|
return $this->toData('1', lang('order_quantity_greater_than_the_maximum'), []); |
|
|
|
} |
|
|
|
|
|
|
|
if ($preStock['price'] <= 0) { |
|
|
|
return $this->toData('1', 'Price error', []); |
|
|
|
return $this->toData('1', lang('price_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
// 支付类型 |
|
|
|
if (empty($param['pay_type']) || !is_numeric($param['pay_type']) || !in_array($param['pay_type'], [1, 2])) { |
|
|
|
return $this->toData('1', 'Params error', []); |
|
|
|
return $this->toData('1', lang('parameter_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
// 计算金额 |
|
|
|
$amount = bcmul($param['num'], $preStock['price'], 18); |
|
|
|
// 计算手续费 |
|
|
|
$purchaseFee = FeeSettingModel::where('market_type', $marketType)->value('purchase_fee'); |
|
|
|
if($purchaseFee == null){ |
|
|
|
return $this->toData('1', 'Setting error', []); |
|
|
|
if ($purchaseFee == null) { |
|
|
|
return $this->toData('1', lang('setting_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
if ($purchaseFee <= 0) { |
|
|
@ -265,19 +265,19 @@ class IPOService extends BaseHomeService |
|
|
|
$insertOrderNum = Db::table($tableObj['order_table'])->insert($insertOrderArr); |
|
|
|
if ($insertOrderNum <= 0) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'create order error', []); |
|
|
|
return $this->toData('1', lang('create_order_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
if ($param['pay_type'] == 2) { |
|
|
|
Db::commit(); |
|
|
|
return $this->toData('0', 'SUCCESS', []); |
|
|
|
return $this->toData('0', lang('success'), []); |
|
|
|
} |
|
|
|
|
|
|
|
// 扣除用户资产 |
|
|
|
$beforeAmount = Db::table($tableObj['user_table'])->where('stock_id', $tableObj['stock_id'])->where('user_id', $userId)->value('usable_num'); |
|
|
|
if ($beforeAmount < $amount) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'assert not enough', []); |
|
|
|
return $this->toData('1', lang('assert_not_enough'), []); |
|
|
|
} |
|
|
|
|
|
|
|
$updateNum = Db::table($tableObj['user_table'])->where('stock_id', $tableObj['stock_id'])->where('user_id', $userId) |
|
|
@ -286,7 +286,7 @@ class IPOService extends BaseHomeService |
|
|
|
->update(['update_time' => $nowDate]); |
|
|
|
if ($updateNum <= 0) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'Update user amount error', []); |
|
|
|
return $this->toData('1', lang('update_user_funds_failed'), []); |
|
|
|
} |
|
|
|
|
|
|
|
// 生成流水 |
|
|
@ -303,7 +303,7 @@ class IPOService extends BaseHomeService |
|
|
|
$insertStockLogNum = Db::table($tableObj['log_table'])->insert($insertStockLogArr); |
|
|
|
if ($insertStockLogNum <= 0) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'create user log error', []); |
|
|
|
return $this->toData('1', lang('create_user_log_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
// 扣除手续费 |
|
|
@ -311,7 +311,7 @@ class IPOService extends BaseHomeService |
|
|
|
$beforeFee = Db::table($tableObj['user_table'])->where('stock_id', $tableObj['stock_id'])->where('user_id', $userId)->value('usable_num'); |
|
|
|
if ($beforeFee < $fee) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'assert not enough', []); |
|
|
|
return $this->toData('1', lang('assert_not_enough'), []); |
|
|
|
} |
|
|
|
|
|
|
|
$updateNumFee = Db::table($tableObj['user_table'])->where('stock_id', $tableObj['stock_id'])->where('user_id', $userId) |
|
|
@ -320,7 +320,7 @@ class IPOService extends BaseHomeService |
|
|
|
->update(['update_time' => $nowDate]); |
|
|
|
if ($updateNumFee <= 0) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'Update user amount error', []); |
|
|
|
return $this->toData('1', lang('update_user_funds_failed'), []); |
|
|
|
} |
|
|
|
|
|
|
|
// 生成流水 |
|
|
@ -337,15 +337,15 @@ class IPOService extends BaseHomeService |
|
|
|
$insertStockLogNumFee = Db::table($tableObj['log_table'])->insert($insertStockLogArrFee); |
|
|
|
if ($insertStockLogNumFee <= 0) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'create user log error', []); |
|
|
|
return $this->toData('1', lang('create_user_log_error'), []); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
Db::commit(); |
|
|
|
return $this->toData('0', 'SUCCESS', []); |
|
|
|
return $this->toData('0', lang('success'), []); |
|
|
|
} catch (\Exception $exception) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'System error', [$exception->getMessage(),$exception->getTrace()]); |
|
|
|
return $this->toData('1', lang('system_busy'), [$exception->getMessage(), $exception->getTrace()]); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -354,7 +354,7 @@ class IPOService extends BaseHomeService |
|
|
|
{ |
|
|
|
try { |
|
|
|
if (empty($param['id']) || empty($param['stock_code']) || !is_numeric($param['id'])) { |
|
|
|
return $this->toData('1', 'Params error2', []); |
|
|
|
return $this->toData('1', lang('parameter_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
$tableObj = (new adminIPOService)->getStockModel($marketType); |
|
|
@ -364,7 +364,7 @@ class IPOService extends BaseHomeService |
|
|
|
->where('status', 1) |
|
|
|
->where('is_delete', 1) |
|
|
|
->where('is_post_pay', 2) |
|
|
|
// ->whereTime('pay_deadline_time', '>=', $nowDate) |
|
|
|
// ->whereTime('pay_deadline_time', '>=', $nowDate) |
|
|
|
->find(); |
|
|
|
if (empty($preStock)) { |
|
|
|
return $this->toData('1', 'Payment deadline exceeded', []); |
|
|
@ -372,7 +372,7 @@ class IPOService extends BaseHomeService |
|
|
|
|
|
|
|
$hasOrder = Db::table($tableObj['order_table'])->where('user_id', $userId)->where('id', $param['id'])->where('pay_type', 2)->where('status', 5)->find(); |
|
|
|
if (empty($hasOrder)) { |
|
|
|
return $this->toData('1', 'Params error3', []); |
|
|
|
return $this->toData('1', lang('parameter_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
$orderNo = $hasOrder['order_no']; |
|
|
@ -384,14 +384,14 @@ class IPOService extends BaseHomeService |
|
|
|
$getNum = $hasOrder['get_num']; |
|
|
|
if ($getNum <= 0) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'get num error', []); |
|
|
|
return $this->toData('1', lang('get_num_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
// 扣除用户资产 |
|
|
|
$beforeAmount = Db::table($tableObj['user_table'])->where('stock_id', $tableObj['stock_id'])->where('user_id', $userId)->value('usable_num'); |
|
|
|
if ($beforeAmount < $amount) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'assert not enough', []); |
|
|
|
return $this->toData('1', lang('assert_not_enough'), []); |
|
|
|
} |
|
|
|
|
|
|
|
$updateNum = Db::table($tableObj['user_table'])->where('stock_id', $tableObj['stock_id'])->where('user_id', $userId) |
|
|
@ -400,7 +400,7 @@ class IPOService extends BaseHomeService |
|
|
|
->update(['update_time' => $nowDate]); |
|
|
|
if ($updateNum <= 0) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'Update user amount error', []); |
|
|
|
return $this->toData('1', lang('update_user_funds_failed'), []); |
|
|
|
} |
|
|
|
|
|
|
|
// 生成流水 |
|
|
@ -417,7 +417,7 @@ class IPOService extends BaseHomeService |
|
|
|
$insertStockLogNum = Db::table($tableObj['log_table'])->insert($insertStockLogArr); |
|
|
|
if ($insertStockLogNum <= 0) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'create user log error', []); |
|
|
|
return $this->toData('1', lang('create_user_log_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
// 扣除手续费 |
|
|
@ -425,7 +425,7 @@ class IPOService extends BaseHomeService |
|
|
|
$beforeFee = Db::table($tableObj['user_table'])->where('stock_id', $tableObj['stock_id'])->where('user_id', $userId)->value('usable_num'); |
|
|
|
if ($beforeFee < $fee) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'assert not enough', []); |
|
|
|
return $this->toData('1', lang('assert_not_enough'), []); |
|
|
|
} |
|
|
|
|
|
|
|
$updateNum = Db::table($tableObj['user_table'])->where('stock_id', $tableObj['stock_id'])->where('user_id', $userId) |
|
|
@ -434,7 +434,7 @@ class IPOService extends BaseHomeService |
|
|
|
->update(['update_time' => $nowDate]); |
|
|
|
if ($updateNum <= 0) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'Update user amount error', []); |
|
|
|
return $this->toData('1', lang('update_user_funds_failed'), []); |
|
|
|
} |
|
|
|
|
|
|
|
// 生成流水 |
|
|
@ -451,7 +451,7 @@ class IPOService extends BaseHomeService |
|
|
|
$insertStockLogNumFee = Db::table($tableObj['log_table'])->insert($insertStockLogArrFee); |
|
|
|
if ($insertStockLogNumFee <= 0) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'create user log error', []); |
|
|
|
return $this->toData('1', lang('create_user_log_error'), []); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -460,15 +460,14 @@ class IPOService extends BaseHomeService |
|
|
|
$bool = Db::table($tableObj['order_table'])->where('id', $param['id'])->update(['status' => 2, 'update_time' => $nowDate]); |
|
|
|
if (!$bool) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'update order error', []); |
|
|
|
return $this->toData('1', lang('update_order_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
} elseif ($preStock['open_status'] == 2) { |
|
|
|
//已上市 |
|
|
|
$bool = Db::table($tableObj['order_table'])->where('id', $param['id'])->update(['status' => 3, 'update_time' => $nowDate]); |
|
|
|
if (!$bool) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'update order error', []); |
|
|
|
return $this->toData('1', lang('update_order_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
// 已上市 扣除手续费 冻结资金 |
|
|
@ -501,7 +500,7 @@ class IPOService extends BaseHomeService |
|
|
|
$beforeAmount = Db::table($tableObj['user_table'])->where('stock_id', $tableObj['stock_id'])->where('user_id', $userId)->value('usable_num'); |
|
|
|
if ($beforeAmount < $amount) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'assert not enough', []); |
|
|
|
return $this->toData('1', lang('assert_not_enough'), []); |
|
|
|
} |
|
|
|
|
|
|
|
$updateNum = Db::table($tableObj['user_table'])->where('stock_id', $tableObj['stock_id'])->where('user_id', $userId) |
|
|
@ -510,7 +509,7 @@ class IPOService extends BaseHomeService |
|
|
|
->update(['update_time' => $nowDate]); |
|
|
|
if ($updateNum <= 0) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'Update user amount error', []); |
|
|
|
return $this->toData('1', lang('update_user_funds_failed'), []); |
|
|
|
} |
|
|
|
|
|
|
|
// 生成流水 |
|
|
@ -527,7 +526,7 @@ class IPOService extends BaseHomeService |
|
|
|
$insertStockLogNum = Db::table($tableObj['log_table'])->insert($insertStockLogArr); |
|
|
|
if ($insertStockLogNum <= 0) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'create user log error', []); |
|
|
|
return $this->toData('1', lang('create_user_log_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
// 扣除手续费 |
|
|
@ -535,7 +534,7 @@ class IPOService extends BaseHomeService |
|
|
|
$beforeFee = Db::table($tableObj['user_table'])->where('stock_id', $tableObj['stock_id'])->where('user_id', $userId)->value('usable_num'); |
|
|
|
if ($beforeFee < $fee) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'assert not enough', []); |
|
|
|
return $this->toData('1', lang('assert_not_enough'), []); |
|
|
|
} |
|
|
|
|
|
|
|
$updateNumFee = Db::table($tableObj['user_table'])->where('stock_id', $tableObj['stock_id'])->where('user_id', $userId) |
|
|
@ -544,7 +543,7 @@ class IPOService extends BaseHomeService |
|
|
|
->update(['update_time' => $nowDate]); |
|
|
|
if ($updateNumFee <= 0) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'Update user amount error', []); |
|
|
|
return $this->toData('1', lang('update_user_funds_failed'), []); |
|
|
|
} |
|
|
|
|
|
|
|
// 生成流水 |
|
|
@ -561,23 +560,22 @@ class IPOService extends BaseHomeService |
|
|
|
$insertStockLogNumFee = Db::table($tableObj['log_table'])->insert($insertStockLogArrFee); |
|
|
|
if ($insertStockLogNumFee <= 0) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'create user log error', []); |
|
|
|
return $this->toData('1', lang('create_user_log_error'), []); |
|
|
|
} |
|
|
|
} |
|
|
|
$bool = Db::table($tableObj['order_table'])->where('id', $param['id'])->update(['status' => 1, 'update_time' => $nowDate]); |
|
|
|
if (!$bool) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'update order error', []); |
|
|
|
return $this->toData('1', lang('update_order_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'Params error4', []); |
|
|
|
return $this->toData('1', lang('parameter_error'), []); |
|
|
|
} |
|
|
|
Db::commit(); |
|
|
|
|
|
|
|
//已上市IPO 订单通知交易 转持仓 |
|
|
|
if ($preStock->open_status == 2){ |
|
|
|
if ($preStock->open_status == 2) { |
|
|
|
Queue::push('app\admin\job\SendGo', [ |
|
|
|
'type' => 'last_trade', |
|
|
|
'id' => $preStock['id'], |
|
|
@ -588,16 +586,17 @@ class IPOService extends BaseHomeService |
|
|
|
], 'sendGo'); |
|
|
|
} |
|
|
|
|
|
|
|
return $this->toData('0', 'SUCCESS', []); |
|
|
|
return $this->toData('0', lang('success'), []); |
|
|
|
} catch (\Exception $exception) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'System error110', [$exception->getMessage(),$exception->getTrace()]); |
|
|
|
return $this->toData('1', 'System error110', [$exception->getMessage(), $exception->getTrace()]); |
|
|
|
} |
|
|
|
} |
|
|
|
public function postPay($marketType, $param, $userId){ |
|
|
|
public function postPay($marketType, $param, $userId) |
|
|
|
{ |
|
|
|
try { |
|
|
|
if (empty($param['id']) || empty($param['stock_code']) || !is_numeric($param['id'])) { |
|
|
|
return $this->toData('1', 'Params error2', []); |
|
|
|
return $this->toData('1', lang('parameter_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
$tableObj = (new adminIPOService)->getStockModel($marketType); |
|
|
@ -607,18 +606,18 @@ class IPOService extends BaseHomeService |
|
|
|
->where('status', 1) |
|
|
|
->where('is_delete', 1) |
|
|
|
->where('is_post_pay', 2) |
|
|
|
// ->whereTime('pay_deadline_time', '>=', $nowDate) |
|
|
|
// ->whereTime('pay_deadline_time', '>=', $nowDate) |
|
|
|
->find(); |
|
|
|
if (empty($preStock)) { |
|
|
|
return $this->toData('1', 'Payment deadline exceeded', []); |
|
|
|
} |
|
|
|
if(strtotime($preStock['pay_deadline_time']) < time()){ |
|
|
|
if (strtotime($preStock['pay_deadline_time']) < time()) { |
|
|
|
return $this->toData('1', 'The order has passed the payment deadline', []); |
|
|
|
} |
|
|
|
|
|
|
|
$hasOrder = Db::table($tableObj['order_table'])->where('user_id', $userId)->where('id', $param['id'])->where('pay_type', 2)->whereIn('status', [5,6])->find(); |
|
|
|
$hasOrder = Db::table($tableObj['order_table'])->where('user_id', $userId)->where('id', $param['id'])->where('pay_type', 2)->whereIn('status', [5, 6])->find(); |
|
|
|
if (empty($hasOrder)) { |
|
|
|
return $this->toData('1', 'Params error3', []); |
|
|
|
return $this->toData('1', lang('parameter_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
$orderNo = $hasOrder['order_no']; |
|
|
@ -629,7 +628,7 @@ class IPOService extends BaseHomeService |
|
|
|
$amount = $hasOrder['get_amount']; |
|
|
|
$fee = $hasOrder['get_fee']; |
|
|
|
$getNum = $hasOrder['get_num']; |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
//未签名 |
|
|
|
$amount = $hasOrder['amount']; |
|
|
|
$fee = $hasOrder['fee']; |
|
|
@ -637,14 +636,14 @@ class IPOService extends BaseHomeService |
|
|
|
} |
|
|
|
if ($getNum <= 0) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'get num error', []); |
|
|
|
return $this->toData('1', lang('get_num_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
// 扣除用户资产 |
|
|
|
$beforeAmount = Db::table($tableObj['user_table'])->where('stock_id', $tableObj['stock_id'])->where('user_id', $userId)->value('usable_num'); |
|
|
|
if ($beforeAmount < $amount) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'assert not enough', []); |
|
|
|
return $this->toData('1', lang('assert_not_enough'), []); |
|
|
|
} |
|
|
|
$updateNum = Db::table($tableObj['user_table'])->where('stock_id', $tableObj['stock_id'])->where('user_id', $userId) |
|
|
|
->where('usable_num', '>=', $amount)->dec('usable_num', $amount) |
|
|
@ -652,7 +651,7 @@ class IPOService extends BaseHomeService |
|
|
|
->update(['update_time' => $nowDate]); |
|
|
|
if ($updateNum <= 0) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'Update user amount error', []); |
|
|
|
return $this->toData('1', lang('update_user_funds_failed'), []); |
|
|
|
} |
|
|
|
// 生成流水 |
|
|
|
$insertStockLogArr = [ |
|
|
@ -668,7 +667,7 @@ class IPOService extends BaseHomeService |
|
|
|
$insertStockLogNum = Db::table($tableObj['log_table'])->insert($insertStockLogArr); |
|
|
|
if ($insertStockLogNum <= 0) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'create user log error', []); |
|
|
|
return $this->toData('1', lang('create_user_log_error'), []); |
|
|
|
} |
|
|
|
|
|
|
|
// 扣除手续费 |
|
|
@ -701,7 +700,7 @@ class IPOService extends BaseHomeService |
|
|
|
$insertStockLogNumFee = Db::table($tableObj['log_table'])->insert($insertStockLogArrFee); |
|
|
|
if ($insertStockLogNumFee <= 0) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'create user log error', []); |
|
|
|
return $this->toData('1', lang('create_user_log_error'), []); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -710,14 +709,14 @@ class IPOService extends BaseHomeService |
|
|
|
$bool = Db::table($tableObj['order_table'])->where('id', $param['id'])->update(['status' => 2, 'update_time' => $nowDate]); |
|
|
|
if (!$bool) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'update order error', []); |
|
|
|
return $this->toData('1', lang('update_order_error'), []); |
|
|
|
} |
|
|
|
} elseif ($preStock['open_status'] == 2 && $preStock['sign_status'] == 1) { |
|
|
|
//已上市 |
|
|
|
$bool = Db::table($tableObj['order_table'])->where('id', $param['id'])->update(['status' => 3, 'update_time' => $nowDate]); |
|
|
|
if (!$bool) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('1', 'update order error', []); |
|
|
|
return $this->toData('1', lang('update_order_error'), []); |
|
|
|
} |
|
|
|
// 已上市 扣除手续费 冻结资金 |
|
|
|
$num = Db::table($tableObj['user_table'])->where('user_id', $userId)->where('stock_id', $tableObj['stock_id']) |
|
|
@ -742,7 +741,7 @@ class IPOService extends BaseHomeService |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if ($preStock['sign_status'] == 2){ |
|
|
|
if ($preStock['sign_status'] == 2) { |
|
|
|
$bool = Db::table($tableObj['order_table'])->where('id', $param['id'])->update(['status' => 1, 'update_time' => $nowDate]); |
|
|
|
if (!$bool) { |
|
|
|
Db::rollback(); |
|
|
@ -752,10 +751,10 @@ class IPOService extends BaseHomeService |
|
|
|
|
|
|
|
|
|
|
|
Db::commit(); |
|
|
|
return $this->toData('0', 'SUCCESS', []); |
|
|
|
return $this->toData('0', lang('success'), []); |
|
|
|
} catch (\Exception $exception) { |
|
|
|
Db::rollback(); |
|
|
|
return $this->toData('500', lang('system_busy'), [$exception->getMessage(),$exception->getTrace()]); |
|
|
|
return $this->toData('500', lang('system_busy'), [$exception->getMessage(), $exception->getTrace()]); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -769,7 +768,7 @@ class IPOService extends BaseHomeService |
|
|
|
} |
|
|
|
|
|
|
|
if (empty($param['status'])) { |
|
|
|
return $this->toData('1', 'Params error'); |
|
|
|
return $this->toData('1', lang('parameter_error')); |
|
|
|
} |
|
|
|
|
|
|
|
$tableObj = (new adminIPOService)->getStockModel($marketType); |
|
|
@ -836,7 +835,7 @@ class IPOService extends BaseHomeService |
|
|
|
} |
|
|
|
|
|
|
|
$extend = (new adminIPOService)->getStockTape($marketType); |
|
|
|
return $this->toData('0', 'SUCCESS', ['list' => $rows, 'total' => $total, 'extend' => [ |
|
|
|
return $this->toData('0', lang('success'), ['list' => $rows, 'total' => $total, 'extend' => [ |
|
|
|
'tape_list' => $extend['tape'], |
|
|
|
'stock_type_list' => $extend['type'], |
|
|
|
]]); |
|
|
@ -894,14 +893,12 @@ class IPOService extends BaseHomeService |
|
|
|
]; |
|
|
|
|
|
|
|
$extend = (new adminIPOService)->getStockTape($marketType); |
|
|
|
return $this->toData('0', 'SUCCESS', ['data' => $data, 'extend' => [ |
|
|
|
return $this->toData('0', lang('success'), ['data' => $data, 'extend' => [ |
|
|
|
'tape_list' => $extend['tape'], |
|
|
|
'stock_type_list' => $extend['type'], |
|
|
|
]]); |
|
|
|
} catch (\Exception $exception) { |
|
|
|
return $this->toData('500', lang('system_busy'), [$exception->getMessage(),$exception->getTrace()]); |
|
|
|
return $this->toData('500', lang('system_busy'), [$exception->getMessage(), $exception->getTrace()]); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|