mirror of
https://git.auk.su/Dinect/bonus-import-tools.git
synced 2025-12-28 18:10:01 +00:00
3ef9a6c81990abb3471d00c54c013f586e642ac0
Bonus-import-tools - Приложение для импорта бонусных баллов.
После запуска, приложение опрашивает каждую минуту подкаталог CSV на наличие *.scv файлов соответствующих названий.
- users-*.csv : для импорта покупателей
- transaction-*.csv : для импорта транзакций бонусных баллов
Правила заполнения входных CSV файлов
- Кодировка файла : UTF-8
- Разделитель полей : , [Запятая]
- Разделитель разрядов: . [Точка]
- Номер телефона (Только Российские номера) = 12 символов в формате E164: +7XXXXXXXXXX [+76543210987]
- Формат даты : YYYY-MM-DD [2002-03-11]
- Формат времени : HH:MM:SS [21:05:36]
- Гендер: M/F [M]
- Первая строка - названия полей
Значения не должны содержать специальных символов.
Пример файла пользователей
Название файла должно начинаться с "users-". Расширение файла : .csv Пример: users-example.csv
nickname, full_name, card, phone, email, gender
Ivan 1,Иван Петров ,654897321321,+78906543210, user@examplse.com, M
Ivana,Ивана Иванова,654897321123,+78906233212, user2@examplse.com, F
Обязательные поля:
nickname, card, phone
Пример файла транзакций
Название файла должно начинаться с "transaction-". Расширение файла : .csv Пример: transaction-example.csv
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,
Обязательные поля:
user_id или card или phone, bonus_amount
Перед любым запуском настройте переменные окружения в .env
cp .env.example .env
APP_TOKEN="1234567890" :Токен приложения - Запросите у технической поддержки
POS_TOKEN="0987654321" :Токен кассы - Запросите у технической поддержки
PRODUCTION=1 :Если не пусто - работает в PRODUCTION среде, иначе в тестовой
CURRENCY='RUS' :Код страны
COUNTRY='RU' :Код валюты транзакций
DRY_RUN= :Если пусто - все транзакции проводятся, иначе - инсценируются, без проведения [НЕ РЕАЛИЗОВАНО]
Типы установки
- через python VENV (для разработки)
- через docker-compose (на сервере)
- через Nuitka (TODO)(у стороннего клиента)
Требования для установки через pipenv
- Ubuntu 22.04
- Python 3.11
Предустановка
apt update && apt upgrade -y
apt install git wget curl build-essential mc tmux -y
apt install libssl-dev libffi-dev libxml2-dev libxslt1-dev zlib1g-dev python3-pip python3-dev -y
pip3 install setuptools && pip3 install pipenv
Установка в venv
git clone https://git.auk.su/dinect-public/bonus-import-tools
cd bonus-import-tools
pip install -r requirements.txt
Требования для установки через docker-compose
- Ubuntu 22.04 / alpine 3.14
- Docker
- Docker compose 2.24 +
Предустановка
sudo apt update && sudo apt upgrade -y
sudo apt install apt-transport-https ca-certificates curl software-properties-common tmux curl mc wget git -y
curl -sSL https://get.docker.com/ | CHANNEL=stable bash
docker --version
sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
Установка в Docker контейнер
git clone https://git.auk.su/dinect-public/bonus-import-tools
cd bonus-import-tools
docker-compose up -d
Запуск exe (TODO)
- Nuitka
Description
Languages
Python
97.7%
Dockerfile
2.3%