Додайте свій проект безкоштовно і почніть отримувати пропозиції від фрілансерів-виконавців вже через хвилини після публікації!
1 500 ₽

Скрипт обработки YML-прайса на сервере PHP/Pyton, etc

проект завершено


Задача - менять значения в файлах XML, беря значения из CSV + будет файл настроек для скрипта


Исходные данные будут браться из файла CSV, в котором будет 3 столбца:

- Артикул товара

- Цена

- Наличие


Пример файла XML

В нем нужно будет менять 2 поля

<offer available="true" id="647979469">, где "id=" всегда присваивать значение <vendorCode>fm-transmitter</vendorCode>

Значение available="true"/false - брать из CSV

<price>208</price> нужно будет присваивать значение из файла CSV.

<oldprice>260</oldprice> - значение будет не для всех товаров, а для определенного процента, указанного в файле настроек


Скрипт из нескольких файлов XML, которые будут загружены на сервер в директорию XML должен будет генерировать 1 результирующий, в котором шапка до ноды <offers> будет общая.

Настройки скрипта для каждого файла XML – всего 7:

[Тег магазина] - файлы, которые имеют данный тег, попадают в 1 результирующий. Поскольку магазинов несколько, поставщиков несколько, то файлов из которых собирать результирующий будет несколько, а кол-во результирующих файлов будет равно кол-ву тегов. Результирующий файл будет иметь название такое же, как этот тег.

[Название файла XML] - лежит в папке xml в директории скрипта

[Название соответствующего файла CSV] - лежит в папке CSV в директории скрипта

[Наценка в зависимости от категории] - если товар принадлежит <category id="27838848">, то делать наценку помимо той, что указана в 2 настойках ниже. То есть, цена из файла CSV+CSV*наценка от категории = <price> в итоговом XML. Настройку можно прописать так: 27842342=0,03;27842317=0,05;36247337=0,035

[Процент товаров, на которые нужно сделать скидку] - данное кол-во товаров будет рандомным. Если 50% - значит каждый второй товар будет иметь скидку.

[Процент скидки, который присваивать товарам] - Диапазон целых чисел. Например, 7-20%. Это значит, что для предыдущего указанного процента товаров нужно присвоить скидку - случайное число от 7 до 20% - значение <oldprice>. То есть формула - <oldprice>=<price>(с наценкой категории)+<price>*случайный процент.

[Нет в наличии]  - false - если товар не найден в CSV или наличие не указано, поле оставить пустым, true - не менять поле

Відгук замовника про співпрацю з Даниилом Костиным

Якість
Професіоналізм
Вартість
Контактність
Терміни

Все отлично, за недорого имею инструмент точно согласно ТЗ.
Буду обращаться еще.

Відгук фрілансера про співпрацю з Виталием Вернигорой

Оплата
Постановка задачі
Чіткість вимог
Контактність

Все отлично, уже второй проект от Виталия. Не против, если и третий появится 🙂

Даниил Даниил Костин


Зробити ставку!

Замовник не бажає робити передплату? Оплату через Сейф допоможе уникнути можливого шахрайства.

  1. 2 дні1 500 ₽Переможець
    Даниил
    Даниил Костин
    865     39  0   1

    Обращайтесь, сделаю сегодня (на PHP), задача несложная.               

    Росія Благовєщенськ (Амурська обл.) | 11 грудня 2019 |
  2. 3 дні3 000 ₴
    Игорь
    Игорь Евтушенко
    4213     132  0   1

    Здравствуйте. Готов сделать.

    Україна Мелітополь | 8 грудня 2019 |
  3. 5 днів2 000 ₽
    Михаил
    Михаил Абдуллоев
    426     9  0

    Здравствуйте, буду рад выполнить Ваш заказ.
    Сделаю все быстро и качественно. Буду рад сотрудничеству!

    Языки: PHP, HTML, CSS, JavaScript
    PWA: Quasar, Vue, JavaScript
    FrontEnd: Vue.JS , VueTify JS, Nuxt JS
    BackEnd: PHP, Node.JS, Laravel 5.8, Yii2
    СУБД: MySQL, ELOQUENT ORM

    Таджикистан Душанбе | 8 грудня 2019 |
  4. ставка прихована фрілансером
  5. 1 день3 000 ₽
    Максим
    Максим Кутепов
    1400     26  0   1

    Готов сделать сегодня. Опыт в программировании более четырёх лет, успешно выполнил десятки проектов.

    Росія Єкатеринбург | 8 грудня 2019 |
  6. 1 день500 ₴
    andriy
    andriy nakar
    246     1  0

    Привітт, можу зробити на протязі дня.
    Привітт, можу зробити на протязі дня.

    Україна Україна | 8 грудня 2019 |
  • Александр Петров
    8 грудня 2019 |

    По бюджету что ?

  • Виталий Вернигора — замовник проекту
    8 грудня 2019 |

    Ориентируюсь на ставки фрилансеров

  • Максим Кутепов
    8 грудня 2019 |

    Для настроек нужен графический интерфейс или можно ограничиться CLI + файл с настройками? Рассматриваете реализацию на Node.js?

  • Виталий Вернигора — замовник проекту
    8 грудня 2019 |

    Графический интерфейс не нужен. Настройки в файле без расширения можно прописывать? но лучше если этот файл нельзя было бы из браузера прочитать. В технология не сильно разбираюсь. Если Node.js сделает то, что по ТЗ - проблем нет/

  • free web
    8 грудня 2019 |

    Не совсем понятна формула, т.е. получается увеличенная старая цена ?

    <oldprice>=<price>(с наценкой категории)+<price>*случайный процент.

  • Виталий Вернигора — замовник проекту
    8 грудня 2019 |

    oldprice - это цена до скидки. Но вы же понимаете, что никаких скидок в магазине не будет. Будет реальная цена с наценкой - это цена до скидки. 

  • free web
    8 грудня 2019 |

    Если 50% - значит каждый второй товар будет иметь скидку. 

    А если 35% - как считать ?

  • Виталий Вернигора — замовник проекту
    8 грудня 2019 |

    Значит делаем массив товаров, считаем кол-во - 100 штук, 35% - это 35 штук. Вот 100 раз берем рандомное число от 1 до 100. Числа и будут порядковые артикулы в массиве