| | |
| | | $order = [$param['order_field'] => $param['order']]; |
| | | } |
| | | |
| | | return $this->with(['product', 'groupbuySku']) |
| | | return $this->with(['product', 'groupbuySku', 'active']) |
| | | ->alias('gp') |
| | | ->join('product p', 'p.product_id = gp.product_id') |
| | | ->where($filter) |
| | |
| | | public function add($data) |
| | | { |
| | | $this->startTrans(); |
| | | $data['app_id'] = $this->app_id; |
| | | try { |
| | | // 检查商品是否已存在该活动中 |
| | | $exist = $this->where([ |
| | |
| | | $this->error = $e->getMessage(); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 批量添加团购商品 |
| | | */ |
| | | public function batchAdd($productsData) |
| | | { |
| | | $results = []; |
| | | foreach ($productsData as $productData) { |
| | | $results[] = $this->add($productData); |
| | | } |
| | | return array_filter($results); // 返回成功的数量 |
| | | } |
| | | |
| | | /** |
| | |
| | | { |
| | | $skuModel = new \app\shop\model\plus\groupbuy\ProductSku(); |
| | | |
| | | // 先删除原有SKU |
| | | $skuModel->where('groupbuy_product_id', $this->groupbuy_product_id)->delete(); |
| | | // 先获取现有的SKU ID 列表 |
| | | $existingSkus = $skuModel->where('groupbuy_product_id', $this->groupbuy_product_id)->select(); |
| | | $existingSkuIds = []; |
| | | foreach ($existingSkus as $existingSku) { |
| | | $existingSkuIds[$existingSku['product_sku_id']] = $existingSku['groupbuy_product_sku_id']; |
| | | } |
| | | |
| | | // 添加新的团购SKU |
| | | // 添加或更新团购SKU |
| | | foreach ($skuList as $sku) { |
| | | $sku['groupbuy_product_id'] = $this->groupbuy_product_id; |
| | | $skuModel->create($sku); |
| | | $sku['app_id'] = $this->app_id; |
| | | |
| | | // 检查是否是现有SKU |
| | | if (isset($existingSkuIds[$sku['product_sku_id']])) { |
| | | // 更新现有SKU |
| | | $skuModel->save($sku, ['groupbuy_product_sku_id' => $existingSkuIds[$sku['product_sku_id']]]); |
| | | } else { |
| | | // 创建新SKU |
| | | $skuModel->create($sku); |
| | | } |
| | | } |
| | | } |
| | | |