ЭБэнк
Электронная система для внутреннего виртуального накопления баллов и агрегации платежей.
Проект функционально полностью готов к использованию, работает без сбоев и находится в стадии непрерывной поддержки. При возникновении проблем с использованием можно создать issue.
Этот проект является полностью открытым исходным кодом и имеет завершённый функционал (уже используется многими компаниями электронной коммерции). Мы будем продолжать оптимизировать проект на основе проблем, возникающих при эксплуатации в реальных условиях, а также обновлять код в ветке dev для публичного тестирования. Код в ветке master стабилен и подходит для небольших и средних проектов электронной коммерции. Приглашаем изучить документацию и использовать проект.
Mysql5.7+ / MariaDB
Проект использует Vue для создания бэкенда. В этом проекте уже есть скомпилированные файлы для фронтенда.
Бэкенд-аккаунт и пароль:
Агрегация платежей уже интегрирована с laravel-pay
Все способы оплаты вызывают возврат значения, которое можно найти в разделе «Создание единого заказа». Нет необходимости просматривать документацию laravel-pay. Поддерживается одновременный выбор баллов для совместной оплаты (только один из сторонних платёжных сервисов, неограниченное количество внутренних кошельков), а также реализация требований по накоплению баллов и другим функциям. Для других сторонних платёжных систем необходимо проверить исходный код и разработать собственную интеграцию.
Баллы являются ключевым аспектом разработки, и API тщательно спроектирован. Каждый раз, когда происходит изменение баллов, оно записывается в таблицу для удобства аудита и бухгалтерского учёта. Подробности можно найти в белой книге проекта.
- Проект поддерживает различные методы реализации баллов для разных бизнес-логик проекта. У каждого типа баллов изначально есть системный общий счётчик, который можно использовать для пополнения или отправки пользователям
- Различные типы баллов могут быть преобразованы друг в друга, и все операции с баллами мы называем «переводами». У каждой операции с баллами должен быть отправитель и получатель, поэтому у системы изначально есть сумма на счёте, которая используется для вычета
- Каждая операция с баллами должна иметь причину перевода (параметр reason). Для каждой бизнес-операции существует своя причина, например, успешный вывод средств — 300001, отправка красного конверта — 300002. Это используется разработчиками для описания этой бизнес-операции на китайском языке и для подтверждения правильности баланса баллов пользователя после каждой операции перевода
- Переводы между различными типами баллов не ограничены, просто подключите свои бизнес-требования, и всё готово. Требуются ли какие-либо переводы, зависит от вашего бизнеса
- Подробнее... Что такое центральный банк, что такое системный банк, значение причины, мультипроектная интеграция см. белую книгу проекта
github
码云(не гарантируется своевременность обновлений)
Если вы используете Windows, из-за того, что проект включает в себя большие денежные расчёты (более 10^18, без использования bcmath), требуется PHP версии 7.1.12 или выше. Рекомендуется использовать docker + laradock для создания среды разработки, чтобы избежать проблемы с целочисленной длиной PHP в 2147483647. На платформах Mac/Linux такой проблемы нет.
laradock для установки среды разработки, тестирования и производства
Установка с помощью Makefile в Linux
1. cd [каталог проекта]
2. cp .env.example .env
// Создание базы данных
CREATE SCHEMA `ebank` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
3. Отредактируйте файл .env, настройте базу данных, redis, SMTP и т. д., затем продолжите выполнение следующих команд
4. make && make install
Ручная установка в Windows
1. cd [каталог проекта]
2. copy .env.example .env
// Подключение к базе данных и выполнение оператора для создания базы данных
3. CREATE SCHEMA `ebank` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
// Отредактируйте файл .env для настройки базы данных, redis, SMTP и т.д., а затем выполните следующие команды
4. npm install && npm run prod
5. composer install
6. php artisan app:install
Настройте nginx для доступа и мониторинга очередей:
В каталоге проекта есть примеры файлов ebank_nginx.conf и ebank_supervisor.ini. Вы можете настроить их самостоятельно.
- Q1: Почему в базе данных есть такие числа, как 2147483647?
- A1: Проект не использует расширение bcmath, PHP версии 7.1.12 и выше напрямую поддерживает большие денежные расчёты, но PHP любой версии в среде Windows по-прежнему не может выполнять большие денежные расчёты напрямую, поэтому рекомендуется использовать docker for windows + laradock для создания среды разработки в среде Windows (также можно использовать supervisor), чтобы избежать проблем с большими денежными расчётами. Конечно, сервер также может использовать docker + laradock для построения той же производственной среды.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )