/** * import prices * @return boolean */ private function importPrices() { $this->prod = load_product(); $this->partners = load_partners(); $partners_external = array(); foreach ($this->partners as $partner) { $partners_external[$partner['external_id']] = $partner['code']; } foreach ($this->xml->СписокЦен as $offer) { //prepare update data $data = array(); $data['external_id'] = $offer->ID . ''; $data['price'] = number_format((double) $offer->Цена, 2, '.', ''); $data['action'] = (int) $offer->ЭтоАкционнаяЦена; if ($offer->IDWebНоменклатура . '') { $data['product_id'] = $offer->IDWebНоменклатура . ''; } else { foreach ($this->prod as $key => $product) { if ($product == $offer->IDНоменклатура . '') { $data['product_id'] = $key; break; } } } $data['partner_external_id'] = $offer->IDОрганизация . ''; if (!is_partner($data['partner_external_id'], $this->partners)) { return FALSE; } $data['partner_code'] = $partners_external[$data['partner_external_id']]; $price_exist = is_price($data['external_id'], $this->prices); if ($offer->IDWeb || $price_exist) { $data['id'] = $offer->IDWeb . '' ? $offer->IDWeb . '' : $price_exist['id']; $this->update[] = $data; } else { $this->insert[] = $data; } } $this->insertData($this->prices_table); $this->updateData($this->prices_table, 'external_id'); }
/** * import prices * @return boolean */ private function importPrices() { $this->prod = load_product(); $this->partners = load_partners(); foreach ($this->xml->СписокЦен as $offer) { //prepare update data $data = array(); $data['price'] = (double) $offer->Цена; $data['action'] = (int) $offer->ЭтоАкционнаяЦена; $data['product_external_id'] = $offer->IDНоменклатура . ''; $data['partner_external_id'] = $offer->IDОрганизация . ''; if (!is_prod($data['product_external_id'], $this->prod)) { return FALSE; } if (!is_partner($data['partner_external_id'], $this->partners)) { return FALSE; } if (is_price($data, $this->prices)) { $this->ci->db->where('product_external_id', $data['product_external_id'])->where('partner_external_id', $data['partner_external_id'])->update($this->prices_table, $data); } else { $this->ci->db->insert($this->prices_table, $data); } } }