quanwei
2026-01-17 e1e2fe5710a5b5cd9c19bd3aa99c998a1a613ca8
admin/app/common/model/product/Product.php
@@ -39,13 +39,35 @@
    {
        return json_encode($data);
    }
    /**
     * 修改器:预告开启购买时间
     */
    public function setPreviewTimeAttr($value)
    {
        return $value ? strtotime($value) : 0;
    }
    /**
     * 优惠券数组转换
     * @param $value
     * @param $data
     * @return string
     */
    public function setOpenCouponsAttr($value)
    {
        return $value ? json_encode($value) : '';
    }
    /**
     * 数组转换
     * @param $value
     * @param $data
     * @return string
     */
    public function getOpenCouponsAttr($value)
    {
        return $value ? json_decode($value, 1) : [];
    }
    /**
@@ -126,7 +148,7 @@
    public function supplier()
    {
        return $this->belongsTo('app\\common\\model\\supplier\\Supplier', 'shop_supplier_id', 'shop_supplier_id')
            ->field(['shop_supplier_id', 'name', 'address', 'logo_id']);
            ->field(['shop_supplier_id', 'name', 'address', 'logo_id','supplier_type','gift_type']);
    }
    /**
@@ -136,6 +158,7 @@
    {
        return $this->hasOne('app\\common\\model\\file\\UploadFile', 'file_id', 'video_id');
    }
    /**
     * 关联视频封面
     */
@@ -224,7 +247,7 @@
        // 是否有城市ids by yj
        if (!empty($params['city_supplier_ids'])) {
            $city_supplier_ids = explode(",",$params['city_supplier_ids']);
            $city_supplier_ids = explode(",", $params['city_supplier_ids']);
            $model = $model->where('product.shop_supplier_id', 'IN', $city_supplier_ids);
        }
        // 排序规则
@@ -241,14 +264,14 @@
        if (isset($params['type'])) {
            $model = $this->buildProductType($model, $params['type']);
        }
        if(isset($params['shop_supplier_id'])&&$params['shop_supplier_id']){
        if (isset($params['shop_supplier_id']) && $params['shop_supplier_id']) {
            $model = $model->where('product.shop_supplier_id', '=', $params['shop_supplier_id']);
        }
        if(isset($params['shop_supplier_ids'])&&$params['shop_supplier_ids']){
        if (isset($params['shop_supplier_ids']) && $params['shop_supplier_ids']) {
            $model = $model->where('product.shop_supplier_id', 'in', $params['shop_supplier_ids']);
        }
        if(isset($params['product_id'])&&$params['product_id']){
            $model = $model->whereNotIn('product_id',$params['product_id']);
        if (isset($params['product_id']) && $params['product_id']) {
            $model = $model->whereNotIn('product_id', $params['product_id']);
        }
        // 多规格商品 最高价与最低价
        $ProductSku = new ProductSku;
@@ -264,7 +287,7 @@
                "$maxPriceSql AS product_max_price"
            ])
            ->with(['category', 'image.file', 'sku', 'supplier', 'spec_rel.spec'])
            ->join('supplier supplier', 'product.shop_supplier_id = supplier.shop_supplier_id','left')
            ->join('supplier supplier', 'product.shop_supplier_id = supplier.shop_supplier_id', 'left')
            ->where('product.is_delete', '=', 0)
            ->where('supplier.is_delete', '=', 0)
            ->where('supplier.status', '=', 0)
@@ -364,23 +387,23 @@
            // 商品默认规格
            $product['product_sku'] = self::getShowSku($product);
            // 等级id转换成数组
            if(!is_array ($product['grade_ids'])){
                if($product['grade_ids'] != ''){
            if (!is_array($product['grade_ids'])) {
                if ($product['grade_ids'] != '') {
                    $product['grade_ids'] = explode(',', $product['grade_ids']);
                } else {
                    $product['grade_ids'] = [];
                }
            }
            // 可核销门店ids by yj
            if(!is_array($product['verify_store_ids'])){
                if($product['verify_store_ids'] != ''){
            if (!is_array($product['verify_store_ids'])) {
                if ($product['verify_store_ids'] != '') {
                    $product['verify_store_ids'] = explode(',', $product['verify_store_ids']);
                } else {
                    $product['verify_store_ids'] = [];
                }
            }
            // 核销有效时间段
            if($product['verify_type'] == 20){
            if ($product['verify_type'] == 20) {
                $product['verify_time'] = [date('Y-m-d H:i:s', $product['verify_start_time']), date('Y-m-d H:i:s', $product['verify_end_time'])];
            }
            // 商品多分类 by lyzflash
@@ -594,12 +617,12 @@
    public static function getShowSku($product)
    {
        //如果是单规格
        if($product['spec_type'] == 10){
        if ($product['spec_type'] == 10) {
            return $product['sku'][0];
        }else{
        } else {
            //多规格返回最低价
            foreach ($product['sku'] as $sku){
                if($product['product_price'] == $sku['product_price']){
            foreach ($product['sku'] as $sku) {
                if ($product['product_price'] == $sku['product_price']) {
                    return $sku;
                }
            }