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.
145 lines
4.7 KiB
145 lines
4.7 KiB
<?php
|
|
|
|
namespace app\home\service;
|
|
|
|
|
|
use app\model\PreHkdStockModel;
|
|
use app\model\UserModel;
|
|
|
|
class PreStockService extends BaseHomeService
|
|
{
|
|
|
|
// 列表
|
|
public function index($param)
|
|
{
|
|
try {
|
|
// stock_type 3 美股 4 印尼 5 马股 6 泰股 9 新加坡股票
|
|
if (empty($param['market_type'])) {
|
|
return $this->toData('1', 'Params error');
|
|
}
|
|
|
|
$server = new IPOService();
|
|
return $server->index($param['market_type'], $param);
|
|
} catch (\Exception $exception) {
|
|
return $this->toData('0', 'The system is busy. Please try again later.', [$exception->getMessage(),$exception->getTrace()]);
|
|
}
|
|
}
|
|
|
|
// 列表
|
|
public function stockDetail($param)
|
|
{
|
|
try {
|
|
// stock_type 3 美股 4 印尼 5 马股 6 泰股
|
|
if (empty($param['market_type'])) {
|
|
return $this->toData('1', 'Params error');
|
|
}
|
|
|
|
$server = new IPOService();
|
|
return $server->stockDetail($param['market_type'], $param);
|
|
} catch (\Exception $exception) {
|
|
return $this->toData('0', 'The system is busy. Please try again later.', [$exception->getMessage()]);
|
|
}
|
|
}
|
|
|
|
// 下单
|
|
public function order($param, $userId)
|
|
{
|
|
try {
|
|
if (empty($userId)) {
|
|
return $this->toData('1', 'Login fail');
|
|
}
|
|
|
|
// 需要完成实名认证之后才能下单
|
|
$user = UserModel::where('user_id', $userId)->find();
|
|
if (empty($user) || $user->is_real != 1) {
|
|
return $this->toData('405', 'Only after completing real-name authentication can you place an order.');
|
|
}
|
|
|
|
// stock_type 3 美股 4 印尼 5 马股 6 泰股
|
|
if (empty($param['market_type'])) {
|
|
return $this->toData('1', 'Params error');
|
|
}
|
|
|
|
$server = new IPOService();
|
|
return $server->order($param['market_type'], $param, $userId);
|
|
} catch (\Exception $exception) {
|
|
return $this->toData('0', 'The system is busy. Please try again later.', [$exception->getMessage()]);
|
|
}
|
|
}
|
|
|
|
// 后支付-付款
|
|
/*
|
|
|
|
支付金额(先支付)= 申购数量*申购价格+手续费
|
|
申购开始时间-公布中签时间
|
|
支付金额(后支付)=申购数量*申购价格+手续费
|
|
公布中签时间-申购截止时间
|
|
支付金额(后支付)=分配数量*申购价格+手续费
|
|
|
|
*/
|
|
public function postPay($param, $userId)
|
|
{
|
|
try {
|
|
if (empty($userId)) {
|
|
return $this->toData('1', 'Login fail');
|
|
}
|
|
|
|
// 需要完成实名认证之后才能下单
|
|
$user = UserModel::where('user_id', $userId)->find();
|
|
if (empty($user) || $user->is_real != 1) {
|
|
return $this->toData('405', 'Only after completing real-name authentication can you place an order.');
|
|
}
|
|
|
|
// stock_type 3 美股 4 印尼 5 马股 6 泰股
|
|
if (empty($param['market_type'])) {
|
|
return $this->toData('1', 'Params error');
|
|
}
|
|
|
|
|
|
$server = new IPOService();
|
|
return $server->postPay($param['market_type'], $param, $userId);
|
|
} catch (\Exception $exception) {
|
|
return $this->toData('0', 'The system is busy. Please try again later.', [$exception->getMessage()]);
|
|
}
|
|
}
|
|
|
|
// 申购记录
|
|
public function list($param, $userId)
|
|
{
|
|
try {
|
|
// stock_type 3 美股 4 印尼 5 马股 6 泰股
|
|
if (empty($param['market_type'])) {
|
|
return $this->toData('1', 'Params error');
|
|
}
|
|
|
|
if (empty($userId)) {
|
|
return $this->toData('1', 'Login fail');
|
|
}
|
|
|
|
$server = new IPOService();
|
|
return $server->list($param['market_type'], $param, $userId);
|
|
} catch (\Exception $exception) {
|
|
return $this->toData('0', 'The system is busy. Please try again later.', [$exception->getMessage()]);
|
|
}
|
|
}
|
|
|
|
// 申购订单详情
|
|
public function detail($param, $userId)
|
|
{
|
|
try {
|
|
// stock_type 3 美股 4 印尼 5 马股 6 泰股
|
|
if (empty($param['market_type'])) {
|
|
return $this->toData('1', 'Params error');
|
|
}
|
|
|
|
if (empty($userId)) {
|
|
return $this->toData('1', 'Login fail');
|
|
}
|
|
|
|
$server = new IPOService();
|
|
return $server->detail($param['market_type'], $param, $userId);
|
|
} catch (\Exception $exception) {
|
|
return $this->toData('0', 'The system is busy. Please try again later.', [$exception->getMessage()]);
|
|
}
|
|
}
|
|
}
|