Доделать функционал ЛК на сайте

25 000 руб. за проект
28 ноября 2019, 16:53 • 4 отклика • 63 просмотра
Есть сайт написанный на SIMPLACMS. Его задача прием заполненных анкет на займы и отправка их по крону в 1С. Есть недоделанный ЛК на сайте, который должен функционировать согласно следующей логике:

Описание действий и результатов:
Клиент оставляет заявку на сайте - сначала ФИО + подтверждение телефона СМС кодом, потом в раскрывшейся форме заполняет адреса и паспортные данные, причем все эти поля надо сделать обязательным к заполнению – анкетные данные отправляется в 1с, а клиента авторизует в ЛК сайта. Создается сущность клиента, его характеризуют номер телефона и UID, который назначает 1С. После отправки заявки с сайта клиента автоматически редиректит в авторизованный ЛК. Тут видны его ФИО, статус отправленной заявки (сумма, срок, дата отправки), а также доступны формы загрузки сканов паспорта (10+ файлов) и фото (анфас/профиль). При загрузке сканов эти документы передаются в 1С, а в ЛК сохраняются и видны в виде превьюшек и нет возможности их редактирования. Для этого в api/Users.php сделаны функции для добавления и получения файлов пользователя
$this->users->get_user_files($user_id)
$this->users->add_user_files($user_files) - поля: айди пользователя, имя файла, тип, статус
$this->users->update_user_file($id) - айди файла, чтобы обновить статус
три типа изображений (passport,face1,face2)
статус нужен для последующей отправки файлов в 1с
файлы сохраняются в папке /files/users/
Нужно по образцу как отправляется информация по пользователю (/simpla/public_html/simpla/cron/soap_uid_cron.php) так же сделать отправку файлов, забирать файлы со статусом 0, отправлять в 1с и менять статус файла на 1 при нормальном ответе системы
Также в лк доступна кнопка «привязать карту», при нажатии на нее сайт кидает запрос в 1с с UID клиента, в ответ получает ссылку на привязку карты и выдает в интерфейс. После успешной привязки карты данные о привязке записываются в 1с, а также теперь в ЛК отображается успешно привязанная карта в виде ********1234.
Условно можно разделить этапы предоставления информации так:
Заполнены анкетные данные, телефон авторизован
В ЛК клиента успешно привязана карта
В ЛК загружены сканы паспорта и фото
Выдача займа возможна только после совершения всех вышеуказанных событий. Информация о том все ли этапы завешены также передается в 1С.
При одобрении клиента в 1с нажимается кнопка и, при условии выполнении всех пунктов, в Тинькофф отправляется запрос на перевод денег на привязанную карту клиента. При успешной отправке денег в 1С создается долг у клиента, который также отдается в ЛК и там отображается сумма выданного займа, сумма текущего долга, сумма начисленных процентов. В списке заявок заявка отображается как выданная. Теперь появляется кнопка, вызывающая форму оплаты задолженности с привязанной карты или любой другой. Возможны следующие виды оплаты (предустановленны кнопками):
Оплата всего долга (ОД+%)
Оплата только %
Оплата части %
При совершении оплаты через сайт в 1с должна передаваться инфа об этой транзакции – сумма, время оплаты. В папке крона (/simpla/public_html/simpla/cron/) создана отправка оплат в 1с
После проведения оплаты в 1С баланс, отображаемый в ЛК должен измениться на актуальный.
Тинькофф сделан через стандартное MerchantApi от него же, ссылка на оплату формируется /simpla/public_html/ajax/payment_link.php (к номеру заказа добавляется рандомное число для уникальности)
привязка карт осуществляется через сервис 1с, /simpla/public_html/view/UserView.php
строчка $add_card = $this->notify->soap_add_card($user->uid);
Можно для надежности вызывать метод статуса оплаты и отправлять только по факту успешной, в данный момент сделано так, что успешная оплата ведет на страницу в личном кабинете и поэтому на сайте и не перепроверяется
Необходимо предусмотреть способы, позволяющие менять анкетные данные, которые отображаются в ЛК путем изменения их в 1С. Можно так: со стороны 1с есть сервис, который отправляет все заполненные поля по недавно измененным юзерам (например тех, которые были изменены в течение часа) со строны сайта по крону забираются эти пользователи, тоже раз в час и обновляются есть функция update_user($id, $user), по образу и подобию надо сделать такую же, только вместо id искать по uid

Что уже сделано:
Авторизация в ЛК с помощью кода на мобильный. Заявки с сайта уходят в 1С. Баланс из 1С отображается в лк. Привязан эквайринг от Тинькофф, вызывается форма оплаты. Через запрос в 1С вызывается форма привязки карты.

Графика, шрифты, кнопки и тд есть