diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..69ffcb2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM python:3.11-alpine + +RUN apk update && apk add gcc python3-dev build-base linux-headers +# copy the requirements file into the image +COPY ./requirements.txt /app/requirements.txt +# switch working directory +WORKDIR /app +# install the dependencies and packages in the requirements file +RUN pip install -r requirements.txt +# copy every content from the local file to the image +COPY . /app +# configure the container to run in an executed manner +ENTRYPOINT ["python"] +CMD ["app.py"] \ No newline at end of file diff --git a/README.md b/README.md index b4be062..6781868 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,10 @@ # Bonus-import-tools - Приложение для импорта бонусных баллов. +После запуска, приложение опрашивает каждую минуту подкаталог CSV на наличие *.scv файлов соответствующих названий. + +- users-*.csv : для импорта покупателей +- transaction-*.csv : для импорта транзакций бонусных баллов + ## Правила заполнения входных CSV файлов - Кодировка файла : UTF-8 @@ -34,16 +39,29 @@ nickname, card, phone Пример: transaction-example.csv ```csv -user_id, card, phone, summ_total, summ_discount, sum_with_discount, bonus_amount, transaction_date, transaction_time -15689, 654897321321,+78906543210,12345.67,123.56,12222.11,121,2002-03-11,21:05:36 -6578, 654897321123,+78906233212,345.67,45.00,300.67,12,2002-03-12,01:05:36 +user_id, card, phone, summ_total, summ_discount, sum_with_discount, bonus_amount, transaction_date, transaction_time, doc_id +15689, 654897321321,+78906543210,12345.67,123.56,12222.11,121,2002-03-11,21:05:36,чек-100 +6578, 654897321123,+78906233212,345.67,45.00,300.67,12,2002-03-12,01:05:36, ``` ### Обязательные поля: -```csv +```text user_id или card или phone, bonus_amount ``` +## Перед любым запуском настройте переменные окружения в .env + +```shell +cp .env.example .env +``` +```ini +APP_TOKEN="1234567890" :Токен приложения - Запросите у технической поддержки +POS_TOKEN="0987654321" :Токен кассы - Запросите у технической поддержки +PRODUCTION= :Если не пусто - работает в PRODUCTION среде, иначе в тестовой +CURRENCY='RUS' :Код страны +COUNTRY='RU' :Код валюты транзакций +DRY_RUN= :Если пусто - все транзакции проводятся, иначе инсценируются, без проведения [НЕ РЕАЛИЗОВАНО] +``` @@ -67,7 +85,6 @@ apt install libssl-dev libffi-dev libxml2-dev libxslt1-dev zlib1g-dev python3-pi pip3 install setuptools && pip3 install pipenv ``` - ### Установка в venv ```shell diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..0210a62 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,14 @@ +version: '3.9' + +services: + bonus-import-tools: + container_name: bonus-import-tools + build: . + restart: unless-stopped + volumes: + - ./.env:/app/.env + - ./csv:/app/csv + +#networks: +# backend: +# driver: bridge \ No newline at end of file