Files
bonus-import-tools/README.md
2025-01-21 14:18:30 +03:00

128 lines
4.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
```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
Внимание : bonus_amount - целое число !
```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,
```
### Обязательные поля:
```text
user_id или card или phone, bonus_amount
```
## Перед любым запуском настройте переменные окружения в .env
```shell
cp .env.example .env
```
```ini
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
### Предустановка
```shell
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
```shell
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 +
### Предустановка
```shell
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 контейнер
```shell
git clone https://git.auk.su/dinect-public/bonus-import-tools
cd bonus-import-tools
docker-compose up -d
```
### Запуск exe (TODO)
- Nuitka