package com.qianwen.smartman.modules.cps.service.impl;
|
|
import cn.hutool.core.io.IoUtil;
|
import java.io.File;
|
import java.io.FileReader;
|
import java.sql.Connection;
|
import javax.sql.DataSource;
|
import org.apache.commons.io.FileUtils;
|
import org.apache.ibatis.jdbc.ScriptRunner;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import com.qianwen.smartman.common.constant.CommonConstant;
|
import com.qianwen.core.tool.utils.Func;
|
import com.qianwen.smartman.modules.cps.enums.AppEnum;
|
import com.qianwen.smartman.modules.cps.service.IInitBusinessService;
|
import com.qianwen.smartman.modules.cps.vo.ConfigVO;
|
import org.springframework.core.io.ClassPathResource;
|
import org.springframework.stereotype.Service;
|
|
@Service
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/cps/service/impl/InitBusinessServiceImpl.class */
|
public class InitBusinessServiceImpl implements IInitBusinessService {
|
private static final Logger log = LoggerFactory.getLogger(InitBusinessServiceImpl.class);
|
private final DataSource dataSource;
|
|
public InitBusinessServiceImpl(final DataSource dataSource) {
|
this.dataSource = dataSource;
|
}
|
|
@Override // org.springblade.modules.cps.service.IInitBusinessService
|
public void initApp(Integer appId, ConfigVO configVO) throws Exception {
|
Connection conn = this.dataSource.getConnection();
|
ScriptRunner runner = new ScriptRunner(conn);
|
String fileName = AppEnum.findFileName(appId);
|
String type = configVO.getType();
|
if (Func.isNotBlank(fileName)) {
|
ClassPathResource classPathResource = new ClassPathResource("sql" + File.separator + configVO.getType() + File.separator + fileName);
|
File file1 = new File(System.getProperty("java.io.tmpdir") + File.separator + fileName);
|
FileUtils.copyToFile(classPathResource.getInputStream(), file1);
|
runner.runScript(new FileReader(file1));
|
if (Func.equals(type, CommonConstant.ORACLE) && Func.equals(fileName, AppEnum.EQUIPMENT_ANALYSIS.getFileName())) {
|
ScriptRunner runnerOracle = new ScriptRunner(conn);
|
runnerOracle.setStopOnError(true);
|
runnerOracle.setSendFullScript(true);
|
File fileOracle = new File(System.getProperty("java.io.tmpdir") + File.separator + "equipment_analysis_procedure.sql");
|
FileUtils.copyToFile(new ClassPathResource("sql" + File.separator + configVO.getType() + File.separator + "equipment_analysis_procedure.sql").getInputStream(), fileOracle);
|
runnerOracle.runScript(new FileReader(fileOracle));
|
}
|
if (Func.equals(fileName, AppEnum.CONTROL_CENTER.getFileName())) {
|
ScriptRunner scriptRunner = new ScriptRunner(conn);
|
File file = new File(System.getProperty("java.io.tmpdir") + File.separator + "control_center_notify_template.sql");
|
FileUtils.copyToFile(new ClassPathResource("sql" + File.separator + configVO.getType() + File.separator + "control_center_notify_template.sql").getInputStream(), file);
|
scriptRunner.runScript(new FileReader(file));
|
}
|
}
|
IoUtil.close(conn);
|
}
|
}
|