|
|
|
@ -44,6 +44,7 @@ import jakarta.mail.internet.MimeMessage; |
|
|
|
import jakarta.servlet.ServletOutputStream; |
|
|
|
import jakarta.servlet.http.HttpServletResponse; |
|
|
|
import java.io.*; |
|
|
|
import java.net.InetAddress; |
|
|
|
import java.net.URLEncoder; |
|
|
|
import java.sql.CallableStatement; |
|
|
|
import java.sql.Connection; |
|
|
|
@ -74,6 +75,9 @@ public class EamProjectServiceImpl implements EamProjectService { |
|
|
|
@Value("${sys-file.file-path}") |
|
|
|
private String filePath; |
|
|
|
|
|
|
|
@Value("${spring.datasource.druid.url}") |
|
|
|
private String datasourceUrl; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private EamProjectMapper EamProjectMapper; |
|
|
|
|
|
|
|
@ -1034,6 +1038,38 @@ public class EamProjectServiceImpl implements EamProjectService { |
|
|
|
// 创建 StringBuilder 对象 |
|
|
|
StringBuilder s = new StringBuilder(); |
|
|
|
s.append("<ol>"); |
|
|
|
|
|
|
|
// 获取服务器IP地址 |
|
|
|
String serverIp = ""; |
|
|
|
try { |
|
|
|
serverIp = InetAddress.getLocalHost().getHostAddress(); |
|
|
|
} catch (Exception e) { |
|
|
|
serverIp = "无法获取"; |
|
|
|
logger.error("获取服务器IP失败: " + e.getMessage(), e); |
|
|
|
} |
|
|
|
|
|
|
|
// 从数据库URL中解析数据库名称 |
|
|
|
String databaseName = ""; |
|
|
|
try { |
|
|
|
if (datasourceUrl != null && datasourceUrl.contains("databaseName=")) { |
|
|
|
databaseName = datasourceUrl.substring(datasourceUrl.indexOf("databaseName=") + "databaseName=".length()); |
|
|
|
// 如果URL后面还有其他参数,需要截取 |
|
|
|
if (databaseName.contains(";")) { |
|
|
|
databaseName = databaseName.substring(0, databaseName.indexOf(";")); |
|
|
|
} |
|
|
|
} else { |
|
|
|
databaseName = "无法获取"; |
|
|
|
} |
|
|
|
} catch (Exception e) { |
|
|
|
databaseName = "无法获取"; |
|
|
|
logger.error("解析数据库名称失败: " + e.getMessage(), e); |
|
|
|
} |
|
|
|
|
|
|
|
// 添加服务器信息和数据库信息 |
|
|
|
s.append("<p style='margin: 10px 0; font-weight: bold;'>服务器IP地址: <span style='color: #17B3A3;'>").append(serverIp).append("</span></p>"); |
|
|
|
s.append("<p style='margin: 10px 0; font-weight: bold;'>数据库名称: <span style='color: #17B3A3;'>").append(databaseName).append("</span></p>"); |
|
|
|
s.append("<br/>"); |
|
|
|
|
|
|
|
// 邮件内容模板 |
|
|
|
s.append("<table style='border-collapse: collapse; width: 100%;'>"); |
|
|
|
s.append("<tr style='background-color: #f2f2f2;'>"); |
|
|
|
|