diff --git a/app/admin/service/setting/StockMarketService.php b/app/admin/service/setting/StockMarketService.php index 7ccb8ceb..53feb356 100644 --- a/app/admin/service/setting/StockMarketService.php +++ b/app/admin/service/setting/StockMarketService.php @@ -9,6 +9,7 @@ use app\model\StockGBXListModel; use app\model\StockHkdListModel; use app\model\StockIdnListModel; use app\model\StockInListModel; +use app\model\StockJpListModel; use app\model\StockListModel; use app\model\StockMarketModel; use app\model\StockMysListModel; @@ -23,11 +24,11 @@ class StockMarketService extends AdminBaseService try { $list = StockMarketModel::order('stock_market_type', 'asc')->select(); $rows = []; - if(!$list->isEmpty()){ + if (!$list->isEmpty()) { $rows = $list->toArray(); } - return $this->toData('0','SUCCESS', [ + return $this->toData('0', 'SUCCESS', [ 'total' => count($rows), 'list' => $rows, 'extent' => [ @@ -35,7 +36,7 @@ class StockMarketService extends AdminBaseService 'trade_day_type' => StockMarketModel::TRADE_DAY_TYPE, ] ]); - }catch (\Exception $exception){ + } catch (\Exception $exception) { return $this->toData('1', '系统繁忙', [$exception->getMessage()]); } } @@ -49,13 +50,13 @@ class StockMarketService extends AdminBaseService $tradeDayTypeArr = StockMarketModel::TRADE_DAY_TYPE; $stockMarketTypeKeys = array_keys($stockMarketTypeArr); $tradeDayTypeKeys = array_keys($tradeDayTypeArr); - if(empty($param['stock_market_type']) || !in_array($param['stock_market_type'], $stockMarketTypeKeys)){ + if (empty($param['stock_market_type']) || !in_array($param['stock_market_type'], $stockMarketTypeKeys)) { return $this->toData('1', '股票市场类型无效', []); } // 判断是否已经存在 $stockM = StockMarketModel::where('stock_market_type', $param['stock_market_type'])->find(); - if($stockM){ + if ($stockM) { return $this->toData('1', '股票市场类型已经存在', []); } @@ -64,73 +65,73 @@ class StockMarketService extends AdminBaseService $pmOpenTime = '00:00'; $pmCloseTime = '00:00'; $num = 0; - if(isset($param['am_open_time']) && is_string($param['am_open_time'])){ + if (isset($param['am_open_time']) && is_string($param['am_open_time'])) { $amOpenTimestamp = strtotime($param['am_open_time']); - if($amOpenTimestamp !== false && date('H:i', $amOpenTimestamp) === $param['am_open_time']){ + if ($amOpenTimestamp !== false && date('H:i', $amOpenTimestamp) === $param['am_open_time']) { $amOpenTime = $param['am_open_time']; $num++; } } - if(isset($param['am_close_time']) && is_string($param['am_close_time'])){ + if (isset($param['am_close_time']) && is_string($param['am_close_time'])) { $amCloseTimestamp = strtotime($param['am_close_time']); - if($amCloseTimestamp !== false && date('H:i', $amCloseTimestamp) === $param['am_close_time']){ + if ($amCloseTimestamp !== false && date('H:i', $amCloseTimestamp) === $param['am_close_time']) { $amCloseTime = $param['am_close_time']; $num++; } } - if(isset($param['pm_open_time']) && is_string($param['pm_open_time'])){ + if (isset($param['pm_open_time']) && is_string($param['pm_open_time'])) { $pmOpenTimestamp = strtotime($param['pm_open_time']); - if($pmOpenTimestamp !== false && date('H:i', $pmOpenTimestamp) === $param['pm_open_time']){ + if ($pmOpenTimestamp !== false && date('H:i', $pmOpenTimestamp) === $param['pm_open_time']) { $pmOpenTime = $param['pm_open_time']; $num++; } } - if(isset($param['pm_close_time']) && is_string($param['pm_close_time'])){ + if (isset($param['pm_close_time']) && is_string($param['pm_close_time'])) { $pmCloseTimestamp = strtotime($param['pm_close_time']); - if($pmCloseTimestamp !== false && date('H:i', $pmCloseTimestamp) === $param['pm_close_time']){ + if ($pmCloseTimestamp !== false && date('H:i', $pmCloseTimestamp) === $param['pm_close_time']) { $pmCloseTime = $param['pm_close_time']; $num++; } } - if(empty($param['status']) || !in_array($param['status'], [StockMarketModel::STATUS_NO, StockMarketModel::STATUS_OFF])){ + if (empty($param['status']) || !in_array($param['status'], [StockMarketModel::STATUS_NO, StockMarketModel::STATUS_OFF])) { return $this->toData('1', '状态类型无效', []); } // 如果是开启状态 必须设置开盘时间 - if($param['status'] == StockMarketModel::STATUS_NO && $num < 4){ + if ($param['status'] == StockMarketModel::STATUS_NO && $num < 4) { return $this->toData('1', '需要设置开盘时间', []); } // 货币单位 - if(empty($param['unit']) || !is_string($param['unit']) || strlen($param['unit']) > 10){ + if (empty($param['unit']) || !is_string($param['unit']) || strlen($param['unit']) > 10) { return $this->toData('1', '货币单位无效', []); } // 货币符号 - if(empty($param['symbol']) || !is_string($param['symbol']) || strlen($param['symbol']) > 10){ + if (empty($param['symbol']) || !is_string($param['symbol']) || strlen($param['symbol']) > 10) { return $this->toData('1', '货币符号无效', []); } // 兑换汇率 - if(empty($param['rate']) || !is_numeric($param['rate']) || strlen($param['rate']) > 200){ + if (empty($param['rate']) || !is_numeric($param['rate']) || strlen($param['rate']) > 200) { return $this->toData('1', '兑换汇率无效', []); } // 如果是开启状态必须设置 交易日限制 如果是关闭状态 - if($param['status'] == StockMarketModel::STATUS_NO){ - if(empty($param['trade_day_type']) || !in_array($param['trade_day_type'], $tradeDayTypeKeys)){ + if ($param['status'] == StockMarketModel::STATUS_NO) { + if (empty($param['trade_day_type']) || !in_array($param['trade_day_type'], $tradeDayTypeKeys)) { return $this->toData('1', '交易日限制无效', []); } $tradeDayType = $param['trade_day_type']; - }else{ - if(empty($param['trade_day_type']) || !in_array($param['trade_day_type'], $tradeDayTypeKeys)){ + } else { + if (empty($param['trade_day_type']) || !in_array($param['trade_day_type'], $tradeDayTypeKeys)) { $tradeDayType = 0; - } else{ + } else { $tradeDayType = $param['trade_day_type']; } } @@ -140,17 +141,17 @@ class StockMarketService extends AdminBaseService $stockMin = 0; $leverMin = 1; $leverMax = 1; - if(!empty($param['lever_status']) && is_numeric($param['lever_status']) && $param['lever_status'] == StockMarketModel::LEVER_STATUS_ON){ + if (!empty($param['lever_status']) && is_numeric($param['lever_status']) && $param['lever_status'] == StockMarketModel::LEVER_STATUS_ON) { $leverStatus = $param['lever_status']; - if(empty($param['stock_min']) || !is_numeric($param['stock_min']) || $param['stock_min'] <=0){ + if (empty($param['stock_min']) || !is_numeric($param['stock_min']) || $param['stock_min'] <= 0) { return $this->toData('1', '杠杆最小使用股数无效', []); } - if(empty($param['lever_min']) || !is_numeric($param['lever_min']) || $param['lever_min'] <=0){ + if (empty($param['lever_min']) || !is_numeric($param['lever_min']) || $param['lever_min'] <= 0) { return $this->toData('1', '最小杠杆无效', []); } - if(empty($param['lever_max']) || !is_numeric($param['lever_max']) || $param['lever_max'] <=0 || $param['lever_max'] < $param['lever_min']){ + if (empty($param['lever_max']) || !is_numeric($param['lever_max']) || $param['lever_max'] <= 0 || $param['lever_max'] < $param['lever_min']) { return $this->toData('1', '最大杠杆无效', []); } @@ -183,21 +184,21 @@ class StockMarketService extends AdminBaseService $stockMarket->save(); // 缓存 - $list_key="STOCK_MARKET:LIST:" .$stockMarket->stock_market_type; + $list_key = "STOCK_MARKET:LIST:" . $stockMarket->stock_market_type; $redis = $this->getRedis(); $redis->del($list_key); $redis->hMset($list_key, [ - 'id'=>$stockMarket->id, - 'stock_market_type'=>$stockMarket->stock_market_type, - 'trade_day_type'=>$stockMarket->trade_day_type, - 'unit'=>$stockMarket->unit, - 'rate'=>$stockMarket->rate, - 'symbol'=>$stockMarket->symbol, - 'status'=>$stockMarket->status, - 'am_open_time'=>$stockMarket->am_open_time, - 'am_close_time'=>$stockMarket->am_close_time, - 'pm_open_time'=>$stockMarket->pm_open_time, - 'pm_close_time'=>$stockMarket->pm_close_time, + 'id' => $stockMarket->id, + 'stock_market_type' => $stockMarket->stock_market_type, + 'trade_day_type' => $stockMarket->trade_day_type, + 'unit' => $stockMarket->unit, + 'rate' => $stockMarket->rate, + 'symbol' => $stockMarket->symbol, + 'status' => $stockMarket->status, + 'am_open_time' => $stockMarket->am_open_time, + 'am_close_time' => $stockMarket->am_close_time, + 'pm_open_time' => $stockMarket->pm_open_time, + 'pm_close_time' => $stockMarket->pm_close_time, 'lever_status' => $leverStatus, 'stock_min' => $stockMin, @@ -206,21 +207,21 @@ class StockMarketService extends AdminBaseService ]); - return $this->toData('0','SUCCESS'); - }catch (\Exception $exception){ - return $this->toData('1', '系统繁忙', [$exception->getMessage(),$exception->getLine()]); + return $this->toData('0', 'SUCCESS'); + } catch (\Exception $exception) { + return $this->toData('1', '系统繁忙', [$exception->getMessage(), $exception->getLine()]); } } public function edit($param) { try { - if(empty($param['id']) || !is_numeric($param['id'])){ + if (empty($param['id']) || !is_numeric($param['id'])) { return $this->toData('1', '主键无效', []); } $stockMarket = StockMarketModel::where('id', $param['id'])->find(); - if(empty($stockMarket)){ + if (empty($stockMarket)) { return $this->toData('1', '主键无效', []); } @@ -229,7 +230,7 @@ class StockMarketService extends AdminBaseService // 状态 - if(empty($param['status']) || !in_array($param['status'], [StockMarketModel::STATUS_NO, StockMarketModel::STATUS_OFF])){ + if (empty($param['status']) || !in_array($param['status'], [StockMarketModel::STATUS_NO, StockMarketModel::STATUS_OFF])) { return $this->toData('1', '状态类型无效', []); } @@ -238,74 +239,74 @@ class StockMarketService extends AdminBaseService $pmOpenTime = '00:00'; $pmCloseTime = '00:00'; $num = 0; - if(isset($param['am_open_time']) && is_string($param['am_open_time'])){ + if (isset($param['am_open_time']) && is_string($param['am_open_time'])) { $amOpenTimestamp = strtotime($param['am_open_time']); - if($amOpenTimestamp !== false && date('H:i', $amOpenTimestamp) === $param['am_open_time']){ + if ($amOpenTimestamp !== false && date('H:i', $amOpenTimestamp) === $param['am_open_time']) { $amOpenTime = $param['am_open_time']; $num++; } } - if(isset($param['am_close_time']) && is_string($param['am_close_time'])){ + if (isset($param['am_close_time']) && is_string($param['am_close_time'])) { $amCloseTimestamp = strtotime($param['am_close_time']); - if($amCloseTimestamp !== false && date('H:i', $amCloseTimestamp) === $param['am_close_time']){ + if ($amCloseTimestamp !== false && date('H:i', $amCloseTimestamp) === $param['am_close_time']) { $amCloseTime = $param['am_close_time']; $num++; } } - if(isset($param['pm_open_time']) && is_string($param['pm_open_time'])){ + if (isset($param['pm_open_time']) && is_string($param['pm_open_time'])) { $pmOpenTimestamp = strtotime($param['pm_open_time']); - if($pmOpenTimestamp !== false && date('H:i', $pmOpenTimestamp) === $param['pm_open_time']){ + if ($pmOpenTimestamp !== false && date('H:i', $pmOpenTimestamp) === $param['pm_open_time']) { $pmOpenTime = $param['pm_open_time']; $num++; } } - if(isset($param['pm_close_time']) && is_string($param['pm_close_time'])){ + if (isset($param['pm_close_time']) && is_string($param['pm_close_time'])) { $pmCloseTimestamp = strtotime($param['pm_close_time']); - if($pmCloseTimestamp !== false && date('H:i', $pmCloseTimestamp) === $param['pm_close_time']){ + if ($pmCloseTimestamp !== false && date('H:i', $pmCloseTimestamp) === $param['pm_close_time']) { $pmCloseTime = $param['pm_close_time']; $num++; } } // 如果是开启状态 必须设置开盘时间 - if($param['status'] == StockMarketModel::STATUS_NO && $num < 4){ + if ($param['status'] == StockMarketModel::STATUS_NO && $num < 4) { return $this->toData('1', '需要设置开盘时间', []); } // 货币单位 - if(empty($param['unit']) || !is_string($param['unit']) || strlen($param['unit']) > 10){ + if (empty($param['unit']) || !is_string($param['unit']) || strlen($param['unit']) > 10) { return $this->toData('1', '货币单位无效', []); } // 货币符号 - if(empty($param['symbol']) || !is_string($param['symbol']) || strlen($param['symbol']) > 10){ + if (empty($param['symbol']) || !is_string($param['symbol']) || strlen($param['symbol']) > 10) { return $this->toData('1', '货币符号无效', []); } // 兑换汇率 - if(empty($param['rate']) || !is_numeric($param['rate']) || strlen($param['rate']) > 200){ + if (empty($param['rate']) || !is_numeric($param['rate']) || strlen($param['rate']) > 200) { return $this->toData('1', '兑换汇率无效', []); } $tradeDayType = $stockMarket->trade_day_type; // 只有在没有设置过的情况下可以设置 设置之后不能修改 - if($tradeDayType == 0){ - if($param['status'] == StockMarketModel::STATUS_NO){ + if ($tradeDayType == 0) { + if ($param['status'] == StockMarketModel::STATUS_NO) { // 如果是开启状态 必须设置 - if(empty($param['trade_day_type']) || !in_array($param['trade_day_type'], $tradeDayTypeKeys)){ + if (empty($param['trade_day_type']) || !in_array($param['trade_day_type'], $tradeDayTypeKeys)) { return $this->toData('1', '交易日限制无效', []); } $tradeDayType = $param['trade_day_type']; - }else{ + } else { // 关闭状态 可以不设置 - if(!empty($param['trade_day_type']) && in_array($param['trade_day_type'], $tradeDayTypeKeys)){ + if (!empty($param['trade_day_type']) && in_array($param['trade_day_type'], $tradeDayTypeKeys)) { $tradeDayType = $param['trade_day_type']; - } else{ + } else { $tradeDayType = 0; } } @@ -316,22 +317,19 @@ class StockMarketService extends AdminBaseService $stockMin = 0; $leverMin = 1; $leverMax = 1; - if(!empty($param['lever_status']) && is_numeric($param['lever_status']) && $param['lever_status'] == StockMarketModel::LEVER_STATUS_ON){ + if (!empty($param['lever_status']) && is_numeric($param['lever_status']) && $param['lever_status'] == StockMarketModel::LEVER_STATUS_ON) { $leverStatus = $param['lever_status']; - if(empty($param['stock_min']) || !is_numeric($param['stock_min']) || $param['stock_min'] <=0){ + if (empty($param['stock_min']) || !is_numeric($param['stock_min']) || $param['stock_min'] <= 0) { return $this->toData('1', '杠杆最小使用股数无效', []); } - if(empty($param['lever_min']) || !is_numeric($param['lever_min']) || $param['lever_min'] <=0){ + if (empty($param['lever_min']) || !is_numeric($param['lever_min']) || $param['lever_min'] <= 0) { return $this->toData('1', '最小杠杆无效', []); } - if(empty($param['lever_max']) || !is_numeric($param['lever_max']) || $param['lever_max'] <=0 || $param['lever_max'] < $param['lever_min']){ + if (empty($param['lever_max']) || !is_numeric($param['lever_max']) || $param['lever_max'] <= 0 || $param['lever_max'] < $param['lever_min']) { return $this->toData('1', '最大杠杆无效', []); } - - - } $stockMin = $param['stock_min']; $leverMin = ceil($param['lever_min']); @@ -358,31 +356,31 @@ class StockMarketService extends AdminBaseService $stockMarket->save(); // 缓存 - $list_key="STOCK_MARKET:LIST:" .$stockMarket->stock_market_type; + $list_key = "STOCK_MARKET:LIST:" . $stockMarket->stock_market_type; $redis = $this->getRedis(); $redis->del($list_key); $redis->hMset($list_key, [ - 'id'=>$stockMarket->id, - 'stock_market_type'=>$stockMarket->stock_market_type, - 'trade_day_type'=>$stockMarket->trade_day_type, - 'status'=>$stockMarket->status, - 'symbol'=>$stockMarket->symbol, - 'unit'=>$stockMarket->unit, - 'rate'=>$stockMarket->rate, - 'am_open_time'=>$stockMarket->am_open_time, - 'am_close_time'=>$stockMarket->am_close_time, - 'pm_open_time'=>$stockMarket->pm_open_time, - 'pm_close_time'=>$stockMarket->pm_close_time, + 'id' => $stockMarket->id, + 'stock_market_type' => $stockMarket->stock_market_type, + 'trade_day_type' => $stockMarket->trade_day_type, + 'status' => $stockMarket->status, + 'symbol' => $stockMarket->symbol, + 'unit' => $stockMarket->unit, + 'rate' => $stockMarket->rate, + 'am_open_time' => $stockMarket->am_open_time, + 'am_close_time' => $stockMarket->am_close_time, + 'pm_open_time' => $stockMarket->pm_open_time, + 'pm_close_time' => $stockMarket->pm_close_time, 'lever_status' => $leverStatus, 'stock_min' => $stockMin, 'lever_min' => $leverMin, 'lever_max' => $leverMax, ]); - $arr=$redis->hGetAll($list_key); + $arr = $redis->hGetAll($list_key); - return $this->toData('0','SUCCESS',$arr); - }catch (\Exception $exception){ + return $this->toData('0', 'SUCCESS', $arr); + } catch (\Exception $exception) { return $this->toData('1', '系统繁忙', [$exception->getMessage()]); } } @@ -393,25 +391,24 @@ class StockMarketService extends AdminBaseService { try { $marketTypeList = StockMarketModel::STOCK_MARKET_TYPE; - if(empty($param['market_type']) || !in_array($param['market_type'], array_keys($marketTypeList))){ + if (empty($param['market_type']) || !in_array($param['market_type'], array_keys($marketTypeList))) { return $this->toData('1', '股票市场无效', []); } $where = []; - if(empty($param['page']) || !is_numeric($param['page']) || ceil($param['page']) != $param['page'] || $param['page'] <= 0){ + if (empty($param['page']) || !is_numeric($param['page']) || ceil($param['page']) != $param['page'] || $param['page'] <= 0) { return $this->toData('1', '分页参数无效', []); } - if(empty($param['limit']) || !is_numeric($param['limit']) || ceil($param['limit']) != $param['limit'] || $param['limit'] <= 0){ + if (empty($param['limit']) || !is_numeric($param['limit']) || ceil($param['limit']) != $param['limit'] || $param['limit'] <= 0) { return $this->toData('1', '分页参数无效', []); } - if(!empty($param['stock_code']) && is_string($param['stock_code'])){ - $where[] = ['stock_code', 'like', '%'.$param['stock_code']]; + if (!empty($param['stock_code']) && is_string($param['stock_code'])) { + $where[] = ['stock_code', 'like', '%' . $param['stock_code']]; } - switch ($param['market_type']) - { + switch ($param['market_type']) { // 美股 case StockMarketModel::STOCK_MARKET_USA: $stockList = StockListModel::where($where)->page($param['page'], $param['limit'])->select(); @@ -449,20 +446,24 @@ class StockMarketService extends AdminBaseService $stockList = StockEurListModel::where($where)->page($param['page'], $param['limit'])->select(); $total = StockEurListModel::where($where)->count(); break; + case StockMarketModel::STOCK_MARKET_JP: + $stockList = StockJpListModel::where($where)->page($param['page'], $param['limit'])->select(); + $total = StockJpListModel::where($where)->count(); + break; default: return $this->toData('1', '股票市场无效', []); } $rows = []; - if(!$stockList->isEmpty()){ + if (!$stockList->isEmpty()) { $rows = $stockList->toArray(); } - return $this->toData('0','SUCCESS', ['total' => $total, 'list' => $rows, 'extent' => [ + return $this->toData('0', 'SUCCESS', ['total' => $total, 'list' => $rows, 'extent' => [ 'stock_market_type_list' => StockMarketModel::STOCK_MARKET_TYPE, 'trade_day_type' => StockMarketModel::TRADE_DAY_TYPE, ]]); - }catch (\Exception $exception){ + } catch (\Exception $exception) { return $this->toData('1', '系统繁忙', [$exception->getMessage()]); } } @@ -471,17 +472,16 @@ class StockMarketService extends AdminBaseService public function searchStockById($param) { $marketTypeList = StockMarketModel::STOCK_MARKET_TYPE; - if(empty($param['market_type']) || !in_array($param['market_type'], array_keys($marketTypeList))){ + if (empty($param['market_type']) || !in_array($param['market_type'], array_keys($marketTypeList))) { return []; } - if(empty($param['stock_id']) || !is_numeric($param['stock_id'])){ + if (empty($param['stock_id']) || !is_numeric($param['stock_id'])) { return []; } - switch ($param['market_type']) - { + switch ($param['market_type']) { // 美股 case StockMarketModel::STOCK_MARKET_USA: $stock = StockListModel::where('id', $param['stock_id'])->find(); @@ -514,9 +514,9 @@ class StockMarketService extends AdminBaseService return []; } - if(empty($stock)){ + if (empty($stock)) { return []; } return $stock->toArray(); } -} \ No newline at end of file +}