Commit 3fc83563 authored by jianghaiming's avatar jianghaiming

Merge branch 'develop' of https://gitlab.yidian-inc.com/bp/goods into develop

parents 273efa30 fa6d58e8
......@@ -13,11 +13,11 @@ class GoodsAuditValidate extends BaseValidate
{
protected $rule = [
'goods_spu_id' => 'require',
'status' => 'require',
'audit_status' => 'require',
];
protected $message = [
"goods_spu_id" => "商品id不能为空",
"status" => "商品审核状态不能为空",
"audit_status" => "商品审核状态不能为空",
];
}
\ No newline at end of file
......@@ -22,6 +22,24 @@ class GoodsSku extends MysqlBase
const ONLINE_STATUS_ONLINE = 1;//已上架
const ONLINE_STATUS_OFFLINE = 2;//已下架
const RULE_REFUND_1 = 1;
const RULE_REFUND_2 = 2;
const RULE_REFUND_3 = 3;
public static $ruleRefundList = [
self::RULE_REFUND_1 => "到期自动退款",
self::RULE_REFUND_2 => "购买后不允许退款",
self::RULE_REFUND_3 => "到期后不退款",
];
const RULE_DATE_TYPE_1 = 1;
const RULE_DATE_TYPE_2 = 2;
public static $ruleDataTypeList = [
self::RULE_DATE_TYPE_1 => "周末、法定节假日通用",
self::RULE_DATE_TYPE_2 => "仅工作日可用",
];
public static function getRecord($where, $colums = [])
{
if (empty($colums)) {
......
......@@ -70,27 +70,30 @@ class GoodsToEsController extends Cli
//门店信息
$subShopList = ShopService::getRelationShop($goodsSkuId);
$data = [
"goods_sku_id" => $goodsSkuInfo["goods_sku_id"],
"goods_desc_pic_url" => $goodsSkuInfo["desc_pic_url"],
"goods_name" => $goodsSkuInfo["goods_name"],
"inventory_rest" => $goodsSkuInfo["inventory_rest"],
"total_amount_sold" => $goodsSkuInfo["total_amount_sold"],
"original_price" => $goodsSkuInfo["original_price"] / 100,
"price" => $goodsSkuInfo["price"] / 100,
"price_sort" => (int)$goodsSkuInfo["price"],
"audit_status" => $goodsSkuInfo["audit_status"],
"online_status" => $goodsSkuInfo["online_status"],
"desc" => $goodsSkuInfo["desc"],
"category_1_name" => $nameList[0],
"category_2_name" => $nameList[1],
"life_account_name" => empty($lifeAccountRes["response"]["result"]["life_account_name"]) ? "" : $lifeAccountRes["response"]["result"]["life_account_name"],
"life_account_icon" => empty($lifeAccountRes["response"]["result"]["life_account_icon"]) ? "" : $lifeAccountRes["response"]["result"]["life_account_icon"],
"shop_name" => empty($subShopList[0]["shop_name"]) ? "" : $subShopList[0]["shop_name"],
"shop_longitude" => empty($subShopList[0]["longitude"]) ? "" : $subShopList[0]["longitude"],
"shop_latitude" => empty($subShopList[0]["latitude"]) ? "" : $subShopList[0]["latitude"],
];
return ElasticGoodService::indexDoc($goodsSkuId, $data);
$latitude = empty($subShopList[0]["latitude"]) ? "" : $subShopList[0]["latitude"];
$longitude = empty($subShopList[0]["longitude"]) ? "" : $subShopList[0]["longitude"];
if (!empty($longitude) || !empty($latitude)) {
$data = [
"goods_sku_id" => $goodsSkuInfo["goods_sku_id"],
"goods_desc_pic_url" => $goodsSkuInfo["desc_pic_url"],
"goods_name" => $goodsSkuInfo["goods_name"],
"inventory_rest" => $goodsSkuInfo["inventory_rest"],
"total_amount_sold" => $goodsSkuInfo["total_amount_sold"],
"original_price" => $goodsSkuInfo["original_price"] / 100,
"price" => $goodsSkuInfo["price"] / 100,
"price_sort" => (int)$goodsSkuInfo["price"],
"audit_status" => $goodsSkuInfo["audit_status"],
"online_status" => $goodsSkuInfo["online_status"],
"desc" => $goodsSkuInfo["desc"],
"category_1_name" => $nameList[0],
"category_2_name" => $nameList[1],
"life_account_name" => empty($lifeAccountRes["response"]["result"]["life_account_name"]) ? "" : $lifeAccountRes["response"]["result"]["life_account_name"],
"life_account_icon" => empty($lifeAccountRes["response"]["result"]["life_account_icon"]) ? "" : $lifeAccountRes["response"]["result"]["life_account_icon"],
"shop_name" => empty($subShopList[0]["shop_name"]) ? "" : $subShopList[0]["shop_name"],
"shop_location" => $latitude.",".$longitude,
];
return ElasticGoodService::indexDoc($goodsSkuId, $data);
}
}
}
......
......@@ -49,6 +49,9 @@ class ElasticGoodService
'type' => 'text',
'analyzer' => 'ik_max_word',
],
'shop_location' => [
'type' => 'geo_point',
],
]
]
];
......
......@@ -201,6 +201,7 @@ class GoodsService
"rule_limit" => $skuData["rule_limit"],
"rule_desc" => $skuData["rule_desc"],
"rule_refund" => $skuData["rule_refund"],
"rule_date_type" => empty($skuData["rule_date_type"]) ? GoodsSku::RULE_DATE_TYPE_1 : $skuData["rule_date_type"],
"rule_start_time" => empty($skuData["rule_start_time"]) ? "" : $skuData["rule_start_time"],
"rule_end_time" => empty($skuData["rule_end_time"]) ? "" : $skuData["rule_end_time"],
"inventory_total" => $skuData["inventory"],
......@@ -575,6 +576,7 @@ class GoodsService
"rule_limit" => $params["rule_limit"],
"rule_desc" => $params["rule_desc"],
"rule_refund" => $params["rule_refund"],
"rule_date_type" => empty($params["rule_date_type"]) ? GoodsSku::RULE_DATE_TYPE_1 : $params["rule_date_type"],
"rule_start_time" => empty($params["rule_start_time"]) ? "" : $params["rule_start_time"],
"rule_end_time" => empty($params["rule_end_time"]) ? "" : $params["rule_end_time"],
"inventory_total" => $skuData["inventory_total"] + $params["inventory_add"],
......@@ -729,9 +731,10 @@ class GoodsService
public static function getGoodsSkuInfo($params = [])
{
$data = [];
$sku = GoodsSku::get(["goods_sku_id", "category_1_id", "category_2_id", "goods_name", "desc_pic_url", "desc", "introduce"
, "introduce_pic_url", "expiration_time", "rule_limit", "rule_desc", "rule_refund", "inventory_rest"
, "total_amount_sold", "original_price", "price"]
$sku = GoodsSku::get(["life_account_id", "goods_sku_id", "category_1_id", "category_2_id", "goods_name",
"desc_pic_url", "desc", "introduce", "introduce_pic_url", "expiration_time", "rule_limit",
"rule_desc", "rule_refund", "rule_date_type", "rule_start_time", "rule_end_time", "inventory_rest",
"total_amount_sold", "original_price", "price"]
, ["goods_sku_id" => $params["goods_sku_id"]]);
if (empty($sku)) {
throw new GoodsException(["cus" => 15]);
......@@ -753,6 +756,16 @@ class GoodsService
$categoryNameList = Category::select("name", ["category_id" => [$sku["category_1_id"], $sku["category_2_id"]]]);
$data["goods_info"]["category_1_name"] = $categoryNameList[0];
$data["goods_info"]["category_2_name"] = $categoryNameList[1];
$ruleRefundDesc = GoodsSku::$ruleRefundList[$sku["rule_refund"]];
$ruleDateTypeDesc = GoodsSku::$ruleDataTypeList[$sku["rule_date_type"]];
$data["goods_info"]["rule"]["rule_limit"] = $sku["rule_limit"];
$data["goods_info"]["rule"]["rule_refund"] = $ruleRefundDesc;
$data["goods_info"]["rule"]["rule_date_type"] = $ruleDateTypeDesc;
$data["goods_info"]["rule"]["rule_time"] = date('H:i', strtotime($sku["rule_start_time"]))." ~ ".date('H:i', strtotime($sku["rule_end_time"]));
$data["goods_info"]["rule"]["rule_desc"] = $sku["rule_desc"];
$data["goods_info"]["rule"]["expiration_time"] = $sku["expiration_time"];
//门店
$goodsSkuSubShopList = GoodsSkuSubShop::select("*", ["goods_sku_id" => $sku["goods_sku_id"]]);
if (!empty($goodsSkuSubShopList)) {
......@@ -914,29 +927,34 @@ class GoodsService
//门店信息
$subShopList = ShopService::getRelationShop($goodsSkuId);
$data = [
"doc" => [
"id" => $goodsSkuInfo["goods_sku_id"],
"goods_desc_pic_url" => $goodsSkuInfo["desc_pic_url"],
"goods_name" => $goodsSkuInfo["goods_name"],
"inventory_rest" => $goodsSkuInfo["inventory_rest"],
"total_amount_sold" => $goodsSkuInfo["total_amount_sold"],
"original_price" => $goodsSkuInfo["original_price"] / 100,
"price" => $goodsSkuInfo["price"] / 100,
"price_sort" => (int)$goodsSkuInfo["price"],
"audit_status" => $goodsSkuInfo["audit_status"],
"online_status" => $goodsSkuInfo["online_status"],
"desc" => $goodsSkuInfo["desc"],
"category_1_name" => $nameList[0],
"category_2_name" => $nameList[1],
"life_account_name" => empty($lifeAccountRes["response"]["result"]["life_account_name"]) ? "" : $lifeAccountRes["response"]["result"]["life_account_name"],
"life_account_icon" => empty($lifeAccountRes["response"]["result"]["life_account_icon"]) ? "" : $lifeAccountRes["response"]["result"]["life_account_icon"],
"shop_name" => empty($subShopList[0]["shop_name"]) ? "" : $subShopList[0]["shop_name"],
"shop_longitude" => empty($subShopList[0]["longitude"]) ? "" : $subShopList[0]["longitude"],
"shop_latitude" => empty($subShopList[0]["latitude"]) ? "" : $subShopList[0]["latitude"],
],
];
return ElasticGoodService::updateDoc($goodsSkuId, $data);
if (!empty($subShopList)) {
foreach ($subShopList as $subShop) {
if (!empty($subShop["latitude"]) && !empty($subShop["longitude"])) {
$data = [
"doc" => [
"goods_sku_id" => $goodsSkuInfo["goods_sku_id"],
"goods_desc_pic_url" => $goodsSkuInfo["desc_pic_url"],
"goods_name" => $goodsSkuInfo["goods_name"],
"inventory_rest" => $goodsSkuInfo["inventory_rest"],
"total_amount_sold" => $goodsSkuInfo["total_amount_sold"],
"original_price" => $goodsSkuInfo["original_price"] / 100,
"price" => $goodsSkuInfo["price"] / 100,
"price_sort" => (int)$goodsSkuInfo["price"],
"audit_status" => $goodsSkuInfo["audit_status"],
"online_status" => $goodsSkuInfo["online_status"],
"desc" => $goodsSkuInfo["desc"],
"category_1_name" => $nameList[0],
"category_2_name" => $nameList[1],
"life_account_name" => empty($lifeAccountRes["response"]["result"]["life_account_name"]) ? "" : $lifeAccountRes["response"]["result"]["life_account_name"],
"life_account_icon" => empty($lifeAccountRes["response"]["result"]["life_account_icon"]) ? "" : $lifeAccountRes["response"]["result"]["life_account_icon"],
"shop_name" => empty($subShopList[0]["shop_name"]) ? "" : $subShopList[0]["shop_name"],
"shop_location" => $subShop["latitude"].",".$subShop["longitude"],
],
];
ElasticGoodService::updateDoc($goodsSkuId, $data);
}
}
}
}
}
......@@ -948,8 +966,15 @@ class GoodsService
private static function addGoodsInfoToEs($skuParams)
{
$nameList = Category::select("name", ["category_id" => [$skuParams["category_1_id"], $skuParams["category_2_id"]]]);
//生活号信息
$url = config('interface', 'goods.public.get_life_account_by_id');
if (empty($url)) {
throw new InterfaceException(['cus' => 0]);
}
$lifeAccountRes = (new Request())->get($url, ["life_account_id" => $skuParams["life_account_id"]]);
$data = [
"id" => $skuParams["goods_sku_id"],
"goods_sku_id" => $skuParams["goods_sku_id"],
"goods_desc_pic_url" => $skuParams["desc_pic_url"],
"goods_name" => $skuParams["goods_name"],
"inventory_rest" => $skuParams["inventory_rest"],
......@@ -962,6 +987,8 @@ class GoodsService
"desc" => $skuParams["desc"],
"category_1_name" => $nameList[0],
"category_2_name" => $nameList[1],
"life_account_name" => empty($lifeAccountRes["response"]["result"]["life_account_name"]) ? "" : $lifeAccountRes["response"]["result"]["life_account_name"],
"life_account_icon" => empty($lifeAccountRes["response"]["result"]["life_account_icon"]) ? "" : $lifeAccountRes["response"]["result"]["life_account_icon"],
];
$esRes = ElasticGoodService::indexDoc($skuParams["goods_sku_id"], $data);
if ($esRes["result"] == "created" && $esRes["_shards"]["successful"] == 1) {
......
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