mirror of
https://git.auk.su/Dinect/bonus-import-tools.git
synced 2025-12-28 18:10:01 +00:00
128 lines
4.6 KiB
Markdown
128 lines
4.6 KiB
Markdown
# 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
|