111 lines
1.9 KiB
PHP
111 lines
1.9 KiB
PHP
<?php
|
|
|
|
require_once('DAO.class.php');
|
|
|
|
class Gchange {
|
|
|
|
private $dao;
|
|
|
|
public function __construct () {
|
|
|
|
$this->dao = DAO::getInstance();
|
|
}
|
|
|
|
public function getNearbyOffers ($lat, $lon, $maxDistance, $minDistance = NULL) {
|
|
|
|
$n = 20;
|
|
|
|
$queryParams = [
|
|
'size' => $n,
|
|
'query' => [
|
|
'bool' => [
|
|
'must' => [
|
|
[
|
|
'geo_distance' => [
|
|
|
|
"distance" => $maxDistance . 'km',
|
|
"geoPoint"=> [
|
|
"lat" => $lat,
|
|
"lon" => $lon
|
|
]
|
|
]
|
|
], [
|
|
'range' => [
|
|
'stock' => [
|
|
'gte' => 1
|
|
]
|
|
]
|
|
]
|
|
]
|
|
]
|
|
]
|
|
];
|
|
|
|
$json = $this->dao->fetchJson('/market/record/_search?pretty', 'gchange', $queryParams);
|
|
$result = json_decode($json);
|
|
|
|
return $result->hits->hits;
|
|
}
|
|
|
|
public function getImmaterialOffers () {
|
|
|
|
$n = 20;
|
|
|
|
$queryParams = [
|
|
'size' => $n,
|
|
'query' => [
|
|
'nested' => [
|
|
'path' => 'category',
|
|
'query' => [
|
|
'bool' => [
|
|
'should' => [
|
|
[ 'term' => [ 'category.parent' => 'cat31' ] ],
|
|
[ 'term' => [ 'category.id' => 'cat31' ] ],
|
|
[ 'term' => [ 'category.parent' => 'cat74' ] ],
|
|
[ 'term' => [ 'category.id' => 'cat74' ] ]
|
|
],
|
|
'must_not' => [
|
|
[ "term" => ["category.id" => "cat65"] ]
|
|
]
|
|
]
|
|
]
|
|
]
|
|
]
|
|
];
|
|
|
|
$json = $this->dao->fetchJson('/market/record/_search?pretty', 'gchange', $queryParams);
|
|
$result = json_decode($json);
|
|
|
|
return $result->hits->hits;
|
|
}
|
|
|
|
public function getShippable () {
|
|
|
|
$n = 20;
|
|
|
|
$queryParams = [
|
|
'size' => $n,
|
|
'query' => [
|
|
'match' => [
|
|
'description' => 'envoi possible'
|
|
]
|
|
]
|
|
];
|
|
|
|
$json = $this->dao->fetchJson('/market/record/_search?pretty', 'gchange', $queryParams);
|
|
$result = json_decode($json);
|
|
|
|
return $result->hits->hits;
|
|
}
|
|
|
|
public function getHousingOffers () {
|
|
|
|
|
|
}
|
|
|
|
public function getShippableOffers () {
|
|
|
|
|
|
}
|
|
}
|