Commit b3d6c4da authored by luhongguang's avatar luhongguang

update:调整返回数据结构

parent 84928268
...@@ -9,6 +9,7 @@ use \Validate\GoodsAddValidate; ...@@ -9,6 +9,7 @@ use \Validate\GoodsAddValidate;
use \Validate\GoodsEditValidate; use \Validate\GoodsEditValidate;
use \Validate\GoodsInfoOpValidate; use \Validate\GoodsInfoOpValidate;
use \Validate\GoodsInfoFeValidate; use \Validate\GoodsInfoFeValidate;
use \App\Services\goods\ElasticGoodService;
class GoodsController extends Base class GoodsController extends Base
...@@ -19,7 +20,7 @@ class GoodsController extends Base ...@@ -19,7 +20,7 @@ class GoodsController extends Base
public function get_goods_category_listAction() public function get_goods_category_listAction()
{ {
$categoryList = CategoryService::getCategoryList(); $categoryList = CategoryService::getCategoryList();
$this->success(["data" => $categoryList]); $this->success(["result" => $categoryList]);
} }
/** /**
...@@ -55,7 +56,7 @@ class GoodsController extends Base ...@@ -55,7 +56,7 @@ class GoodsController extends Base
$params = $this->params; $params = $this->params;
$data = GoodsService::getGoodsSpuInfo($params); $data = GoodsService::getGoodsSpuInfo($params);
$this->success(["data" => $data]); $this->success(["result" => $data]);
} }
/** /**
...@@ -67,7 +68,7 @@ class GoodsController extends Base ...@@ -67,7 +68,7 @@ class GoodsController extends Base
$params = $this->params; $params = $this->params;
$data = GoodsService::getGoodsSkuInfo($params); $data = GoodsService::getGoodsSkuInfo($params);
$this->success(["data" => $data]); $this->success(["result" => $data]);
} }
/** /**
...@@ -105,7 +106,7 @@ class GoodsController extends Base ...@@ -105,7 +106,7 @@ class GoodsController extends Base
$params = $this->params; $params = $this->params;
$res = GoodsService::checkGoodsName($params["name"], $params["life_account_id"]); $res = GoodsService::checkGoodsName($params["name"], $params["life_account_id"]);
$this->success(["data" => $res]); $this->success(["result" => $res]);
} }
/** /**
...@@ -116,7 +117,7 @@ class GoodsController extends Base ...@@ -116,7 +117,7 @@ class GoodsController extends Base
$params = $this->params; $params = $this->params;
$data = GoodsService::getOpGoodsSpuList($params); $data = GoodsService::getOpGoodsSpuList($params);
$this->success(["data" => $data]); $this->success(["result" => $data]);
} }
/** /**
...@@ -129,9 +130,13 @@ class GoodsController extends Base ...@@ -129,9 +130,13 @@ class GoodsController extends Base
/** /**
* c端 es:商品列表 (sku list) * c端 es:商品列表 (sku list)
* @throws Exception
*/ */
public function goods_list_cAction() public function goods_list_cAction()
{ {
$params = $this->params;
$data = ElasticGoodService::searchDoc($params);
$this->success(["result" => $data]);
} }
} }
\ No newline at end of file
...@@ -4,8 +4,9 @@ namespace App\Services\goods; ...@@ -4,8 +4,9 @@ namespace App\Services\goods;
use Api\PhpUtils\Elastic\ElasticUtil; use Api\PhpUtils\Elastic\ElasticUtil;
class ElasticService class ElasticGoodService
{ {
const INDEX = "bp_goods";
public static function createIndex($index) public static function createIndex($index)
{ {
$elasticClient = ElasticUtil::getInstance(); $elasticClient = ElasticUtil::getInstance();
...@@ -27,28 +28,26 @@ class ElasticService ...@@ -27,28 +28,26 @@ class ElasticService
/** /**
* 写入 es 一条数据 * 写入 es 一条数据
* @param $index
* @param $data * @param $data
* @param $id * @param $id
* @return array|callable * @return array|callable
*/ */
public static function indexDoc($index, $id, $data) public static function indexDoc($id, $data)
{ {
$elasticClient = ElasticUtil::getInstance(); $elasticClient = ElasticUtil::getInstance();
return $elasticClient->indexDoc($index, $data, $id); return $elasticClient->indexDoc(self::INDEX, $data, $id);
} }
/** /**
* 修改 es 一条数据 * 修改 es 一条数据
* @param $index
* @param $id * @param $id
* @param $data * @param $data
* @return array|callable * @return array|callable
*/ */
public static function updateDoc($index, $id, $data) public static function updateDoc($id, $data)
{ {
$elasticClient = ElasticUtil::getInstance(); $elasticClient = ElasticUtil::getInstance();
return $elasticClient->updateDoc($index, $id, $data); return $elasticClient->updateDoc(self::INDEX, $id, $data);
} }
public static function bulk($index) public static function bulk($index)
...@@ -67,25 +66,58 @@ class ElasticService ...@@ -67,25 +66,58 @@ class ElasticService
var_export($res); var_export($res);
} }
public static function searchDoc($index, $searchContent, $sortType, $from = 0, $size = 10) /**
* @param array $params
* @return array|object
*/
public static function searchDoc($params = [])
{ {
if (!empty($params["search_content"])) {
}
$sortType = 0;
if (!empty($params["sort_type"])) {
$sortType = $params["sort_type"];
}
$from = empty($params["from"]) ? 0 : (int)$params["from"];
$size = empty($params["size"]) ? 10 : (int)$params["size"];
$sortList = [
["price_sort" => "asc", "total_amount_sold" => "desc"],
//todo 距离排序
["total_amount_sold" => "desc"],
["price_sort" => "asc"],
];
$data = [ $data = [
"size"=>$size, "from" => $from,
"from"=>$from, "size" => $size,
"query" => [ // "query" => [
"match" => [ // "bool" => [],
"test_field" => "中国" // ],
] "sort" => $sortList[$sortType],
],
"sort" => [
"match" => [
"test_field" => "中国"
]
],
]; ];
$elasticClient = ElasticUtil::getInstance(); $elasticClient = ElasticUtil::getInstance();
$res = $elasticClient->searchDoc($index, $data); $res = $elasticClient->searchDoc(self::INDEX, $data);
var_export($res);
$result = [];
if (!empty($res["hits"]["total"]["value"])) {
$result["count"] = $res["hits"]["total"]["value"];
foreach ($res["hits"]["hits"] as $key=>$source) {
$result["data"][$key]["id"] = empty($source["_source"]["id"]) ? $source["_source"]["doc"]["id"] : $source["_source"]["id"];
$result["data"][$key]["goods_pic"] = empty($source["_source"]["goods_pic"]) ? $source["_source"]["doc"]["goods_pic"] : $source["_source"]["goods_pic"];
$result["data"][$key]["name"] = empty($source["_source"]["name"]) ? $source["_source"]["doc"]["name"] : $source["_source"]["name"];
$result["data"][$key]["inventory_rest"] = empty($source["_source"]["inventory_rest"]) ? $source["_source"]["doc"]["inventory_rest"] : $source["_source"]["inventory_rest"];
$result["data"][$key]["total_amount_sold"] = empty($source["_source"]["total_amount_sold"]) ? $source["_source"]["doc"]["total_amount_sold"] : $source["_source"]["total_amount_sold"];
$result["data"][$key]["original_price"] = empty($source["_source"]["original_price"]) ? $source["_source"]["doc"]["original_price"] : $source["_source"]["original_price"];
$result["data"][$key]["price"] = empty($source["_source"]["price"]) ? $source["_source"]["doc"]["price"] : $source["_source"]["price"];
$result["data"][$key]["status"] = empty($source["_source"]["status"]) ? $source["_source"]["doc"]["status"] : $source["_source"]["status"];
$result["data"][$key]["online_status"] = empty($source["_source"]["online_status"]) ? $source["_source"]["doc"]["online_status"] : $source["_source"]["online_status"];
}
}
//为避免空数据时候返回给前端错误结构
return $result ? $result : (object)$result;
} }
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment