diff --git a/app/admin/controller/Config.php b/app/admin/controller/Config.php index a6081720..e45c3484 100644 --- a/app/admin/controller/Config.php +++ b/app/admin/controller/Config.php @@ -4,6 +4,8 @@ namespace app\admin\controller; use app\admin\service\ConfigService; use app\utility\MongoConnection; +use MongoDB\BSON\ObjectId; +use phpDocumentor\Reflection\Types\Object_; use think\facade\Cache; use think\facade\Filesystem; use app\model\ConfigModel; @@ -97,7 +99,7 @@ class Config extends AdminBaseController public function quoteList() { $params = $this->request->param(); - if (!isset($params['page']) || !isset($params['page_size'])) { + if (!isset($params['page']) || !isset($params['limit'])) { return json([ 'code' => 400, 'message' => '缺少参数', @@ -106,8 +108,8 @@ class Config extends AdminBaseController } // 分页计算 - $page = $params['page']; - $pageSize = $params['page_size']; + $page = (int)$params['page']; + $pageSize = (int)$params['limit']; $options = [ 'skip' => ($page - 1) * $pageSize, 'limit' => $pageSize, @@ -140,8 +142,8 @@ class Config extends AdminBaseController return json([ - 'code' => 400, - 'message' => '缺少参数', + 'code' => 0, + 'message' => 'ok', 'data' => [ 'total' => $total, 'page' => $page, @@ -155,14 +157,34 @@ class Config extends AdminBaseController public function quoteTopData() { $params = $this->request->param(); - if (empty($params['id'])) { + if (empty($params['id']) || empty($params['sort'])) { return json([ 'code' => 400, 'message' => '缺少参数', 'data' => [] ]); } - $res = Cache::store('redis')->lPush(MongoConnection::QUOTE_TOP_DATA_LIST_KEY, trim($params['id'])); + // 获取行情数据 + $client = MongoConnection::getClient(); + $collection = $client->selectCollection('bourse', 'stockListBak'); + $doc = $collection->find(['_id'=>new ObjectId($params['id'])]); + $results = iterator_to_array($doc); + if (!isset($results[0]['Code']) || !isset($results[0]['Type'])) { + return json([ + 'code' => 400, + 'message' => '行情数据错误', + 'data' => [] + ]); + } + $buildArr = [ + 'Code' => $results[0]['Code'], + 'Type' => $results[0]['Type'], + 'Sort' => $params['sort'], + ]; + $jsonStr = json_encode($buildArr); + + + $res = Cache::store('redis')->hSet(MongoConnection::QUOTE_TOP_DATA_HASH_KEY, $results[0]['Code'], $jsonStr); return json([ 'code' => 0, 'message' => 'ok', diff --git a/app/admin/route/app.php b/app/admin/route/app.php index a26de921..6a052729 100644 --- a/app/admin/route/app.php +++ b/app/admin/route/app.php @@ -14,7 +14,7 @@ $header = [ //Route::get('/test', 'Test/index'); Route::post('/test', 'Test/testMongo'); Route::post('/test_upload', 'Upload/uploadVideo'); -Route::post('test_api', 'Index/dailyUserRegistration'); +Route::post('test_api', 'Config/quoteTopData'); Route::group('/', function () { // 国家和地区 Route::post('/country', 'Country/getAll'); diff --git a/app/utility/MongoConnection.php b/app/utility/MongoConnection.php index 1d174cc8..1ae3e808 100644 --- a/app/utility/MongoConnection.php +++ b/app/utility/MongoConnection.php @@ -5,7 +5,7 @@ use MongoDB\Client; class MongoConnection { - const QUOTE_TOP_DATA_LIST_KEY = 'QUOTE_TOP_DATA_LIST'; + const QUOTE_TOP_DATA_HASH_KEY = 'QUOTE_TOP_DATA_HASH'; private static $client = null; public static function getClient() {