mohnstrudel / store_manager_v2

0 stars 0 forks source link

Sync purchases from google spreadsheet #35

Closed mohnstrudel closed 8 months ago

mohnstrudel commented 11 months ago

To-Do:

Image

evgeny-matveev commented 11 months ago

Данные нужны в CSV или сразу в джейсоне, если гуголь-таблицы так умеют.

Перевести названия колонок на наименование из кода или на английский, если нет соответствия в коде:

Insgesamt = amount Preis p. Stück = item_price Order ID = order_reference Vendor = Supplier Variant = Version Pro Stück = Product

Решить, что делать с платежами (Bezahlt). Если важно сохранить историю платежей, то предлагаю пронумеровать:

Еще я вижу, что на скриншоте продукты называются по разным стандартам — значит, что у нас в базе будет еще больше товаров и когда-то нужно будет решать вопрос нормализации данных 🥲

Насчем немецкой частички "von". Мы не используем "von" для отделения брендов — мы их вообще без приставки пишем. Поэтому я бы ее не переводил, а даже убрал.

mohnstrudel commented 11 months ago

Проверь, плиз, в целом всё ли устраивает? Если да, то я попрошу привести названия в порядок

scratch_9.json

evgeny-matveev commented 11 months ago

@mohnstrudel Все ок 👌 Предлагаю вместо названия продукта писать ID из Ву. Или не вместо, а дополнительно.

mohnstrudel commented 10 months ago

@evgeny-matveev ещё дополнение к тикету:

mohnstrudel commented 10 months ago

Обновленный файл. На его основе можно уже делать парсер и смотреть, какие ошибки он выдает.

Я добавил ещё одну колонку, там, где true - эти строки можно игнорировать. Это поставщик, который меня кинул. Можно в принципе тебе и удалить, но мне нужно сохранить, так как я хочу ещё с него хотя бы что-то вытянуть и для этого нужно понимать, какие заказы я делал.

scratch_13.json

evgeny-matveev commented 9 months ago

Дублирую, чтобы не потерять. Текущие проблемы с джейсоном:

  1. Не всегда есть дата платежа. Например, есть paymentvalue2, но нет paymentdate2. Пока я это решил тем, что беру за дату платежа текущий день.
  2. Странные значения в paymentvalue и paymentdate. В примере ниже видно, что в дате может быть число, которое явно не дата. А в размере платежа две даты и "u." в качестве разделителя.
    "paymentvalue0": 180,
    "paymentdate0": 360,
    "paymentvalue1": "13.02.2023 u. 06.04.2023",
    "paymentdate1": 360,
mohnstrudel commented 9 months ago

@evgeny-matveev Можешь попробовать с этим файлом? У меня сразу на входе ругается 3.2.2 :002 > Purchase.sync_purchases_from_file("purchases.json") /Users/anton.kostin/.rvm/gems/ruby-3.2.2/gems/json-2.7.1/lib/json/common.rb:219:inparse': unexpected token at 'purchases.json' (JSON::ParserError)`

По поводу твоих комментариев:

  1. Можно обрабатывать такие значения и выводить инпут, в какой строке и товар с каким названием не имеет даты оплаты? Это достаточно важно и лучше я это сейчас проверю, чем потом буду ошибочно исходить из того, что я оплатил.
  2. Это все примеры? Я видимо попутал столбцы. А там где "u." - это "und", т.е. так как было очень много платежей, а колонок всего две, я совместил(

purchases.json