forum.bitel.ru
http://forum.bitel.ru/

Создание договоров через web
http://forum.bitel.ru/viewtopic.php?f=22&t=12885
Страница 1 из 1

Автор:  lexusrid [ 07 май 2018, 15:45 ]
Заголовок сообщения:  Создание договоров через web

Добрый день.
Существует ли в bgbilling возможность создания договоров самим пользователем через специальную страницу?

Автор:  zavndw [ 08 май 2018, 11:09 ]
Заголовок сообщения:  Re: Создание договоров через web

Делаете у себя на сайте страницу на которой пользователь вводит нужные данные и дальше используя api биллинга создаете договор и заполняете параметры

Автор:  pafflootiy [ 20 июн 2018, 23:30 ]
Заголовок сообщения:  Re: Создание договоров через web

Возник тот же вопрос. И я с трудом назвал бы документацию по api дружелюбной. Может есть у кого наработки? Хотя бы от чего оттолкнуться.

Автор:  skn [ 21 июн 2018, 15:50 ]
Заголовок сообщения:  Re: Создание договоров через web

http://wiki.bitel.ru/index.php/%D0%97%D ... 0.BD.D0.B3

Автор:  pafflootiy [ 22 июн 2018, 14:57 ]
Заголовок сообщения:  Re: Создание договоров через web

skn писал(а):
http://wiki.bitel.ru/index.php/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0#.D0.9F.D0.B5.D1.80.D0.B5.D0.BD.D0.BE.D1.81_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85_.D0.B2_.D0.B1.D0.B8.D0.BB.D0.BB.D0.B8.D0.BD.D0.B3

Очень интересно. А что не https://google.com оттуда точно никто не возвращается =)
Не нашёл в wiki ни одного ответа на мой вопрос. Предполагаю что как-то можно по средству модуля card, но как это сделать без непосредственно карточек.
Очень прошу помочь.

Автор:  skn [ 22 июн 2018, 15:49 ]
Заголовок сообщения:  Re: Создание договоров через web

пишите в хелпдеск

готового решения для вашей задачи нет
вам предложили решение по созданию собственной страницы и занесением данных в биилнг
а вам дал ссылку на примеры переноса данных из других биллингов, в которых собственно и создается договор и заполняется через апи

Автор:  pafflootiy [ 22 июн 2018, 16:31 ]
Заголовок сообщения:  Re: Создание договоров через web

skn писал(а):
готового решения для вашей задачи нет
Это я догадался
skn писал(а):
вам предложили решение по созданию собственной страницы и занесением данных в биилнг
а вам дал ссылку на примеры переноса данных из других биллингов, в которых собственно и создается договор
Простите, не сразу понял к чему вы и о чём вы. Теперь понял, спасибо.
skn писал(а):
заполняется через апи
Вот здесь, если можно, поподробней, пожалуйста. Мне понадобится дин код из [url=http://wiki.bitel.ru/index.php/Пример_конвертера_данных_из_CSV-файлов_в_базу_BGBilling_-_3]этой статьи[/url] (при условии что у меня биллинг 7.0, как в ней указано), так? И передавать csv на ...куда? На какой контекст?
Спасибо!

Автор:  dimOn [ 22 июн 2018, 17:51 ]
Заголовок сообщения:  Re: Создание договоров через web

по ссылке не готовый код, и он не связан с вашей задачей
csv вообще ни при чём, там в примерах дин.кода просто надо почерпнуть пример вызова API для создания договора.
всё вокруг этого кусочка кода надо написать вам под вашу задачу, ну типа как сформулированное выше "делаете у себя на сайте страницу на которой пользователь вводит нужные данные и дальше используя api биллинга создаете договор и заполняете параметры".

Автор:  pafflootiy [ 22 июн 2018, 22:01 ]
Заголовок сообщения:  Re: Создание договоров через web

dimOn писал(а):
по ссылке не готовый код, и он не связан с вашей задачей
csv вообще ни при чём, там в примерах дин.кода просто надо почерпнуть пример вызова API для создания договора.
всё вокруг этого кусочка кода надо написать вам под вашу задачу, ну типа как сформулированное выше "делаете у себя на сайте страницу на которой пользователь вводит нужные данные и дальше используя api биллинга создаете договор и заполняете параметры".

Примерно понял, спасибо.

Автор:  Вторник [ 02 июл 2018, 10:25 ]
Заголовок сообщения:  Re: Создание договоров через web

pafflootiy писал(а):
Возник тот же вопрос. И я с трудом назвал бы документацию по api дружелюбной. Может есть у кого наработки? Хотя бы от чего оттолкнуться.


Здесь поищите contracts().

Автор:  Phricker [ 02 июл 2018, 12:39 ]
Заголовок сообщения:  Re: Создание договоров через web

Я бы рекомендовал пользоваться этим, а не костылями вроде вызова Action, которые постепенно отмирают.

Соответственно раз рекомендую
Код:
package api.ru.test.bgbilling.test.impl;

import bitel.billing.server.contract.bean.ContractManager;
import org.apache.log4j.Logger;
import ru.bitel.bgbilling.common.BGException;
import ru.bitel.bgbilling.kernel.container.service.server.AbstractService;
import ru.bitel.bgbilling.server.util.ServerUtils;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import java.sql.Connection;
import java.util.Calendar;

@WebService(name = "TestService",
        targetNamespace = "http://test.bgbilling.ru/",
        serviceName = "TestService")
public class TestServiceImpl extends AbstractService{

    private static final Logger logger = Logger.getLogger(TestServiceImpl.class);
    private Connection con;

    public TestServiceImpl() {
    }

    @PostConstruct
    protected void init() throws BGException {
        logger.info("Init");
        this.con = getConnection();
    }

    @PreDestroy
    private void destroy() {
        logger.info("Destroy");
        if (this.con != null) {
            ServerUtils.commitConnection(this.con);
            ServerUtils.closeConnection(this.con);
        }
    }

    @WebMethod(operationName = "CreateContract", action = "http://test.bgbilling.ru/createContract")
    @WebResult(name = "CreateContract", targetNamespace = "http://test.bgbilling.ru/")
    public Integer createContract(@WebParam(name = "contractPatternId", targetNamespace = "http://test.bgbilling.ru") int contractPatternId) {
        try (ContractManager contractManager = new ContractManager(this.con)) {
            return contractManager.createFromPattern(contractPatternId, null, Calendar.getInstance(), "").getId();
        } catch (Exception e) {
            return null;
        }
    }
}


Изображение
Изображение

Автор:  Phricker [ 02 июл 2018, 12:56 ]
Заголовок сообщения:  Re: Создание договоров через web

Так же рекомендую обратить внимание на следующую тему

В таком случае добавится интерфейс
Код:
package api.ru.test.bgbilling.test.impl.common;

import javax.jws.WebParam;
import javax.jws.WebService;

/**
 * @author SinTeZ
 */
@WebService
public interface TestService {
    Integer createContract(@WebParam(name = "contractPatternId", targetNamespace = "http://test.bgbilling.ru") int contractPatternId);
}


Сервис поменяется на
Код:
package api.ru.test.bgbilling.test.impl;

import api.ru.test.bgbilling.test.impl.common.TestService;
import bitel.billing.server.contract.bean.ContractManager;
import org.apache.log4j.Logger;
import ru.bitel.bgbilling.common.BGException;
import ru.bitel.bgbilling.kernel.container.service.server.AbstractService;
import ru.bitel.bgbilling.server.util.ServerUtils;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import java.sql.Connection;
import java.util.Calendar;

@WebService(name = "TestService",
        targetNamespace = "http://test.bgbilling.ru/",
        serviceName = "TestService",
        endpointInterface = "api.ru.test.bgbilling.test.impl.common.TestService")
public class TestServiceImpl extends AbstractService implements TestService {

    private static final Logger logger = Logger.getLogger(TestServiceImpl.class);
    private Connection con;

    public TestServiceImpl() {
    }

    @PostConstruct
    protected void init() throws BGException {
        logger.info("Init");
        this.con = getConnection();
    }

    @PreDestroy
    private void destroy() {
        logger.info("Destroy");
        if (this.con != null) {
            ServerUtils.commitConnection(this.con);
            ServerUtils.closeConnection(this.con);
        }
    }

    @WebMethod(operationName = "CreateContract", action = "http://test.bgbilling.ru/createContract")
    @WebResult(name = "CreateContract", targetNamespace = "http://test.bgbilling.ru/")
    public Integer createContract(@WebParam(name = "contractPatternId", targetNamespace = "http://test.bgbilling.ru") int contractPatternId) {
        try (ContractManager contractManager = new ContractManager(this.con)) {
            return contractManager.createFromPattern(contractPatternId, null, Calendar.getInstance(), "").getId();
        } catch (Exception e) {
            return null;
        }
    }
}


А в конфиг сервера добавится строка
Код:
dynservice:test.TestService=api.ru.test.bgbilling.test.impl.TestServiceImpl


И можно будет вызвать через http(s)
Изображение

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/