255], [['unit'], 'string', 'max' => 32], ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'mall_id' => 'Mall ID', 'supply_id' => 'Supply ID', 'mall_goods_id' => '商城对应的商品id', 'goods_id' => '中台商品id', 'title' => '商品名称', 'image_url' => '商品主图', 'source' => '来源 0中台 1云仓(聚合供应链) 2京东 6阿里 7天猫', 'agreement_price' => '协议价', 'guide_price' => '指导价', 'activity_price' => '营销价', 'market_price' => '市场价', 'sale_price' => '销售价', 'cost_price' => '成本价', 'stock' => '库存', 'sales' => '销量', 'sn' => '商品编号', 'is_display' => '上下架 0下1上', 'desc' => '商品描述', 'unit' => '商品单位', 'barcode' => '商品条码', 'gallery' => '商品组图json', 'detail_images' => '商品详情', 'attrs' => '商品属性json', 'skus' => '商品规格json', 'brand' => '商品品牌json', 'category_1' => 'Category 1', 'category_2' => 'Category 2', 'category_3' => 'Category 3', ]; } // 过滤字段 public static function filterField(array $data): array { $safe_attr = self::getTableSchema()->getColumnNames(); $not_safe_attr = array_diff(array_keys($data), $safe_attr); foreach ($not_safe_attr as $key) { unset($data[$key]); } return $data; } /** * 通过ids下架商品 * * @param array $ids * @return int */ public static function GoodsPullByMiddleIds(array $ids) { return static::updateAll([ 'is_display' => 0 ], [ 'goods_id' => $ids ]); } /** * @param int $goods_id * @param int $sku_id * @return int */ public static function getMinBuyQty(int $goods_id, int $sku_id) { $sku = GoodsSkuModel::getSku($goods_id, $sku_id); if (empty($sku)) return 0; return (int) self::find()->where(['goods_id' => $sku->supply_goods_id, 'mall_id' => $sku->mall_id])->select('min_buy_qty')->scalar(); } }