Skip to content

Instantly share code, notes, and snippets.

@SinTeZWh1te
Created April 22, 2024 06:21
Show Gist options
  • Save SinTeZWh1te/b1b2516afaa7417662cf06254d9c7167 to your computer and use it in GitHub Desktop.
Save SinTeZWh1te/b1b2516afaa7417662cf06254d9c7167 to your computer and use it in GitHub Desktop.
package ru.test.bgbilling.kernel.scripts.global;
import au.com.bytecode.opencsv.CSVReader;
import bitel.billing.server.contract.bean.Contract;
import bitel.billing.server.contract.bean.ContractManager;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import ru.bitel.bgbilling.kernel.container.managed.ServerContext;
import ru.bitel.bgbilling.kernel.contract.api.common.bean.ContractTariff;
import ru.bitel.bgbilling.kernel.contract.api.common.service.ContractTariffService;
import ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase;
import ru.bitel.bgbilling.modules.inet.common.bean.InetServ;
import ru.bitel.bgbilling.modules.inet.common.service.InetServService;
import ru.bitel.bgbilling.server.util.PswdGen;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.common.Utils;
import ru.bitel.common.model.Period;
import ru.bitel.common.sql.ConnectionSet;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.sql.Connection;
import java.util.Calendar;
import java.util.Collections;
public class CreateClientForDhcpTest
extends GlobalScriptBase {
private static final Logger logger = LogManager.getLogger();
@Override
public void execute(Setup setup, ConnectionSet connectionSet) throws Exception {
final Calendar cal = Calendar.getInstance();
Connection con = connectionSet.getConnection();
ServerContext serverContext = ServerContext.get();
InetServService inetServService = serverContext.getService(InetServService.class, 5);
ContractTariffService contractTariffService = serverContext.getService(ContractTariffService.class, 0);
try (ContractManager contractManager = new ContractManager(con);
CSVReader csvReader = new CSVReader(new InputStreamReader(new FileInputStream("/opt/BG/mac_address.txt"), StandardCharsets.UTF_8), ';')) {
for (String[] value : csvReader.readAll()) {
Contract contract = contractManager.createFromPattern(5, null, cal, PswdGen.generatePassword(setup));
InetServ inetServ = new InetServ();
inetServ.setDateFrom(cal.getTime());
inetServ.setContractId(contract.getId());
inetServ.setTypeId(1);
inetServ.setDeviceId(92);
inetServ.setInterfaceId(1);
inetServ.setMacAddressList(Collections.singletonList(Utils.stringToBytes(value[0], "")));
inetServService.inetServUpdate(inetServ, Collections.emptyList(), false, false, 0);
serverContext.commit();
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment