fix: API路由补齐+后台全面中文化
This commit is contained in:
@@ -0,0 +1,162 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Currency;
|
||||
use App\CurrencyMatch;
|
||||
use App\MarketHour;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use App\MyQuotation as NeedleModel;
|
||||
|
||||
class MyQuotation extends \App\Http\Controllers\Admin\Controller
|
||||
{
|
||||
//
|
||||
public function index(Request $request)
|
||||
{
|
||||
|
||||
$bases=DB::table("currency_matches")->where("market_from",2)->select("currency_id")->get();
|
||||
$bases=json_decode(json_encode($bases),true);
|
||||
foreach ($bases as $k=>$v){
|
||||
$one=DB::table("currency")->where("id",$v["currency_id"])->select("id","name")->first();
|
||||
$bases[$k]["name"]=$one->name;
|
||||
}
|
||||
// var_dump($bases);die;
|
||||
$base=$request->get("base",$bases[0]["name"]);
|
||||
|
||||
$news = NeedleModel::where("base",$base)->orderBy('id', 'desc')->paginate(10);
|
||||
$news->appends(['base'=>$base])->render();
|
||||
$data = [
|
||||
'currencys' => $currencys = CurrencyMatch::where('market_from', 3)->get(),
|
||||
'news' => $news
|
||||
];
|
||||
$res=[
|
||||
'data' => $data,
|
||||
"bases"=>$bases,
|
||||
"base"=>$base
|
||||
];
|
||||
//$res->appends(['base'=>$base])->render();
|
||||
|
||||
return view('admin.needle.quotation', $res);
|
||||
}
|
||||
|
||||
public function lists(Request $request)
|
||||
{
|
||||
|
||||
$param = [
|
||||
'index' => 'market.quotation',
|
||||
'type' => 'doc',//$type,
|
||||
'body' => [
|
||||
'query' => [
|
||||
'bool' => [
|
||||
'must' => [
|
||||
['match' => ['base' => $request->get('currency')]],
|
||||
],
|
||||
],
|
||||
],
|
||||
'sort' => [
|
||||
'itime' => ['order' => 'asc']
|
||||
],
|
||||
'size' => $request->get('limit'),
|
||||
'from' => ($request->get('page') - 1) * $request->get('limit')
|
||||
],
|
||||
];
|
||||
$esclient = MarketHour::getEsearchClient();
|
||||
$result = $esclient->search($param);
|
||||
$total = 0;
|
||||
$data = [];
|
||||
if (isset($result['hits'])) {
|
||||
$data = array_column($result['hits']['hits'], '_source');
|
||||
$total = $result['hits']['total']['value'];
|
||||
}
|
||||
$res = ['code' => 0,
|
||||
'msg' => '',
|
||||
'count' => $total,
|
||||
'data' => $data];
|
||||
return $res;
|
||||
}
|
||||
|
||||
public function delete(Request $request)
|
||||
{
|
||||
$param = [
|
||||
'index' => 'market.quotation',
|
||||
'type' => 'doc',//$type,
|
||||
];
|
||||
}
|
||||
|
||||
public function reset(Request $request)
|
||||
{
|
||||
$param = [
|
||||
'index' => 'market.quotation',
|
||||
];
|
||||
$eclient = MarketHour::getEsearchClient();
|
||||
$eclient->indices()->delete($param);
|
||||
|
||||
foreach (['5min', '15min', '30min', '60min', '1day', '1week', '1mon'] as $v) {
|
||||
try {
|
||||
$param = [
|
||||
'index' => 'market.kline.' . $v,
|
||||
];
|
||||
$eclient = MarketHour::getEsearchClient();
|
||||
$eclient->indices()->delete($param);
|
||||
} catch (\Exception $e) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
return ['code' => 1];
|
||||
}
|
||||
|
||||
public static function needleList($num = 0, $name)
|
||||
{
|
||||
$esclient = MarketHour::getEsearchClient();
|
||||
|
||||
$param = [
|
||||
'index' => 'market.quotation',
|
||||
'type' => 'doc',//$type,
|
||||
'body' => [
|
||||
'query' => [
|
||||
'bool' => [
|
||||
'must' => [
|
||||
['match' => ['base' => $_POST]],
|
||||
['match' => ['base-currency' => $base_currency]],
|
||||
['match' => ['quote-currency' => $quote_currency]],
|
||||
],
|
||||
'filter' => [
|
||||
'range' => [
|
||||
'id' => [
|
||||
'gte' => $from,
|
||||
'lte' => $to,
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'sort' => [
|
||||
],
|
||||
'size' => 20,
|
||||
'from' => 20
|
||||
],
|
||||
];
|
||||
$result = $esclient->search($param);
|
||||
if (isset($result['hits'])) {
|
||||
$data = [];
|
||||
// foreach($result['hits']['hits'] as $val)
|
||||
// {
|
||||
// $val['_source'];
|
||||
// }
|
||||
$data = array_column($result['hits']['hits'], '_source');
|
||||
|
||||
return $data;
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
// $news_query = NeedleModel::where(function ($query) use ($cId) {
|
||||
// $cId > 0 && $query->where('id', $cId);
|
||||
// })->orderBy('id', 'desc');
|
||||
$news = $num != 0 ? $news_query->paginate($num) : $news_query->get();
|
||||
return $news;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user