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); } }