From 60024e3cda570f3007772195fb4ad6ba8c256431 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Mon, 4 Nov 2024 09:06:13 +0800 Subject: [PATCH] 'commit' --- .../com/dsideal/base/BaseApplication.java | 12 +---- .../Res/Controller/ResourceController.java | 19 ++++--- .../dsideal/base/Res/Model/ResourceModel.java | 50 ++++++++++++++----- .../com/dsideal/base/Tools/InitOrgPerson.java | 3 +- .../com/dsideal/base/Tools/SelectNoXzqh.java | 34 ++++++++++++- .../com/dsideal/base/Util/SSHConnector.java | 20 ++++++++ ...{application_dev.yaml => application.yaml} | 3 ++ src/main/resources/application_huawei.yaml | 38 ++++++++++++++ ...tow_dev.properties => undertow.properties} | 0 9 files changed, 145 insertions(+), 34 deletions(-) create mode 100644 src/main/java/com/dsideal/base/Util/SSHConnector.java rename src/main/resources/{application_dev.yaml => application.yaml} (90%) create mode 100644 src/main/resources/application_huawei.yaml rename src/main/resources/{undertow_dev.properties => undertow.properties} (100%) diff --git a/src/main/java/com/dsideal/base/BaseApplication.java b/src/main/java/com/dsideal/base/BaseApplication.java index 3c5e6cc8..5853a703 100644 --- a/src/main/java/com/dsideal/base/BaseApplication.java +++ b/src/main/java/com/dsideal/base/BaseApplication.java @@ -37,17 +37,9 @@ import java.io.File; public class BaseApplication extends JFinalConfig { - public static String getEnvPrefix() { - String myEnvVar = System.getenv("WORKING_ENV"); - if (myEnvVar == null) { - myEnvVar = "dev"; - } - return myEnvVar; - } public static void main(String[] args) { - System.out.println("当前环境: " + getEnvPrefix()); - String configFile = "undertow_{?}.properties".replace("{?}", getEnvPrefix()); + String configFile = "undertow.properties"; UndertowServer.create(BaseApplication.class, configFile).start(); } @@ -61,7 +53,7 @@ public class BaseApplication extends JFinalConfig { //使用LogBack me.setLogFactory(new LogBackLogFactory()); //加载配置文件 - String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix()); + String configFile = "application.yaml"; PropKit = new YamlProp(configFile); // 设置静态根目录为上传根目录 diff --git a/src/main/java/com/dsideal/base/Res/Controller/ResourceController.java b/src/main/java/com/dsideal/base/Res/Controller/ResourceController.java index 6010d658..bc739ccd 100644 --- a/src/main/java/com/dsideal/base/Res/Controller/ResourceController.java +++ b/src/main/java/com/dsideal/base/Res/Controller/ResourceController.java @@ -37,18 +37,21 @@ public class ResourceController extends Controller { @Before({POST.class}) @IsLoginInterface({}) public void uploadZskDocument() { + //根据上传人员ID获取他所隶属的行政区划ID + String person_id = getCookie("person_id"); + //身份ID + int identity_id = Integer.parseInt(getCookie("identity_id")); + //行政区划码 + String area_code = rm.getAreaCode(identity_id, person_id); + //上传文件 UploadFile uploadFile = getFile(); String fileName = uploadFile.getFileName(); String fileExtension = fileName.substring(fileName.lastIndexOf(".")); - String name = getPara("name"); + String name = getPara("name");//中文名称 + int type_id = getParaToInt("type_id");//1:文档,2:数据库 String file_id = UUID.randomUUID().toString(); - String key = "resource/" + file_id + fileExtension; - // 删除临时文件 - try { - uploadFile.getFile().delete(); - } catch (Exception e) { - System.out.println("删除文件失败:" + e); - } + String key = file_id + fileExtension; + //返回 Kv kv = Kv.create(); kv.set("success", true); diff --git a/src/main/java/com/dsideal/base/Res/Model/ResourceModel.java b/src/main/java/com/dsideal/base/Res/Model/ResourceModel.java index 42e3f9ae..6f37c187 100644 --- a/src/main/java/com/dsideal/base/Res/Model/ResourceModel.java +++ b/src/main/java/com/dsideal/base/Res/Model/ResourceModel.java @@ -5,27 +5,53 @@ import com.jfinal.plugin.activerecord.Page; import com.jfinal.plugin.activerecord.SqlPara; import com.jfinal.plugin.activerecord.Record; -import java.io.UnsupportedEncodingException; - public class ResourceModel { + + /** + * 功能:获取行政区划code + * + * @param area_id + * @return + */ + public String getAreaCode(String area_id) { + String sql = "select * from t_dm_area where id=?"; + return Db.findFirst(sql, area_id).getStr("area_code"); + } + + /** + * 功能:获取当前用户的行政区划 + * + * @param identity_id + * @param person_id + * @return + */ + public String getAreaCode(int identity_id, String person_id) { + String area_code = ""; + //省管理员,直接返回云南省的code + if (identity_id == 1) area_code = "530000"; + //如果是市州用户,直接返回市州用户的行政区划 + String sql = "select * from t_sys_loginperson where person_id=?"; + Record record = Db.findFirst(sql, person_id); + if (identity_id == 2) { + String city_id = record.getStr("city_id"); + area_code = getAreaCode(city_id); + } + if (identity_id == 3) { + String area_id = record.getStr("area_id"); + area_code = getAreaCode(area_id); + } + return area_code; + } + /** * 功能:获取知识库分页数据 * * @param pageNum * @param pageSize */ - public Page getZskPage(int pageNum, int pageSize) throws UnsupportedEncodingException { + public Page getZskPage(int pageNum, int pageSize) { SqlPara sqlPara = Db.getSqlPara("YltWxGzh.getZskPage"); Page page = Db.paginate(pageNum, pageSize, sqlPara); - for (Record record : page.getList()) { - String url = record.getStr("url"); - //进行base64处理,然后进行url_encode处理 - // 对URL进行Base64编码 - String base64Encoded = Base64.getEncoder().encodeToString(url.getBytes(StandardCharsets.UTF_8)); - // 对Base64编码后的字符串进行URL编码 - String urlEncoded = URLEncoder.encode(base64Encoded, StandardCharsets.UTF_8.toString()); - record.set("url", urlEncoded); - } return page; } diff --git a/src/main/java/com/dsideal/base/Tools/InitOrgPerson.java b/src/main/java/com/dsideal/base/Tools/InitOrgPerson.java index ed5d5de4..5c132fdd 100644 --- a/src/main/java/com/dsideal/base/Tools/InitOrgPerson.java +++ b/src/main/java/com/dsideal/base/Tools/InitOrgPerson.java @@ -15,7 +15,6 @@ import org.slf4j.LoggerFactory; import java.util.List; import java.util.UUID; -import static com.dsideal.base.BaseApplication.getEnvPrefix; public class InitOrgPerson { @@ -25,7 +24,7 @@ public class InitOrgPerson { public static void main(String[] args) throws Exception { //告之配置文件位置 - String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix()); + String configFile = "application.yaml"; PropKit = new YamlProp(configFile); HikariCpPlugin druid = new HikariCpPlugin(PropKit.get("mysql.jdbcUrl"), PropKit.get("mysql.user"), diff --git a/src/main/java/com/dsideal/base/Tools/SelectNoXzqh.java b/src/main/java/com/dsideal/base/Tools/SelectNoXzqh.java index 3bec08d2..2e655e4f 100644 --- a/src/main/java/com/dsideal/base/Tools/SelectNoXzqh.java +++ b/src/main/java/com/dsideal/base/Tools/SelectNoXzqh.java @@ -2,6 +2,7 @@ package com.dsideal.base.Tools; import com.dsideal.base.DataEase.Model.DataEaseModel; import com.dsideal.base.Plugin.YamlProp; +import com.dsideal.base.Util.SSHConnector; import com.jfinal.kit.Prop; import com.jfinal.plugin.activerecord.ActiveRecordPlugin; import com.jfinal.plugin.activerecord.Record; @@ -11,12 +12,40 @@ import com.jfinal.plugin.hikaricp.HikariCpPlugin; import java.io.File; import java.io.IOException; import java.util.List; +import com.jcraft.jsch.Channel; +import com.jcraft.jsch.JSch; +import com.jcraft.jsch.Session; public class SelectNoXzqh { public static void main(String[] args) throws IOException { + + String sshHost = "117.78.60.214"; + int sshPort = 52025; + String sshUser = "root"; + String sshPassword = "DsIdeal@123"; + String mysqlHost = "127.0.0.1"; // MySQL server host + int mysqlPort = 3306; // MySQL server port + + Session session = SSHConnector.createSSHSession(sshHost, sshPort, sshUser, sshPassword); + try { + // Set up port forwarding + int localPort = 33306; // Local port to forward to MySQL server + session.setPortForwardingL(localPort, mysqlHost, mysqlPort); + + // Now you can connect to MySQL using the local port + String url = "jdbc:mysql://localhost:" + localPort + "/ds_db"; + // Use this URL to connect to your MySQL database using JDBC + // For example, with DriverManager.getConnection(url, username, password); + + session.disconnect(); + } catch (Exception e) { + e.printStackTrace(); + } + + /* //加载配置文件 - String configFile = "application_dev.yaml"; + String configFile = "application_huawei.yaml"; Prop PropKit = new YamlProp(configFile); HikariCpPlugin masterPlugin = new HikariCpPlugin(PropKit.get("mysql.jdbcUrl"), PropKit.get("mysql.user"), PropKit.get("mysql.password").trim(), PropKit.get("mysql.driverClassName")); @@ -57,6 +86,7 @@ public class SelectNoXzqh { for (Record record : list) { String tableName = record.getStr("table_name"); String dataSetName = record.getStr("dataset_name"); + //这张表中存在行政区划的列名,就跳过,不处理 if (dm.hasNoColumnName(tableName, "行政区划")) { System.out.println((identity_id == 2 ? "【市州】" : "【县区】") + dataSetName + "表:" + tableName + "没有行政区划的列名,请手动添加"); @@ -69,6 +99,6 @@ public class SelectNoXzqh { } } } - System.out.println("恭喜,所有数据处理完毕。"); + System.out.println("恭喜,所有数据处理完毕。");*/ } } diff --git a/src/main/java/com/dsideal/base/Util/SSHConnector.java b/src/main/java/com/dsideal/base/Util/SSHConnector.java new file mode 100644 index 00000000..67839a59 --- /dev/null +++ b/src/main/java/com/dsideal/base/Util/SSHConnector.java @@ -0,0 +1,20 @@ +package com.dsideal.base.Util; + +import com.jcraft.jsch.JSch; +import com.jcraft.jsch.Session; + +public class SSHConnector { + public static Session createSSHSession(String host, int port, String username, String password) { + JSch jsch = new JSch(); + Session session = null; + try { + session = jsch.getSession(username, host, port); + session.setConfig("StrictHostKeyChecking", "no"); + session.setPassword(password); + session.connect(); + } catch (Exception e) { + e.printStackTrace(); + } + return session; + } +} diff --git a/src/main/resources/application_dev.yaml b/src/main/resources/application.yaml similarity index 90% rename from src/main/resources/application_dev.yaml rename to src/main/resources/application.yaml index 42c0e671..e5c166cc 100644 --- a/src/main/resources/application_dev.yaml +++ b/src/main/resources/application.yaml @@ -33,3 +33,6 @@ excel: # 导入excel 的模板配置路径 ExcelImportTemplatePathSuffix: /ExcelImportTemplate/ +# 上传文件地址 +upload: + path: D:/dsWork/YunNanDsBase/WebRoot/upload \ No newline at end of file diff --git a/src/main/resources/application_huawei.yaml b/src/main/resources/application_huawei.yaml new file mode 100644 index 00000000..88b83c4b --- /dev/null +++ b/src/main/resources/application_huawei.yaml @@ -0,0 +1,38 @@ +# 上传文件的临时路径 +uploadTempPath: c:/Windows/Temp +# JWT +SECRET: ZXZnZWVr5b+r5LmQ5L2g55qE5Ye66KGM +# 生成Token的密码 +CookieMd5SingPwd: DsideaL4r5t6y7u + +# 系统的启动路径 +rootPath : /usr/local/dsBase/classes + +mysql: + # 数据库信息 + driverClassName: com.mysql.cj.jdbc.Driver + user: root + password: Password123@mysql + jdbcUrl : jdbc:mysql://localhost:3306/ds_db?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&failOverReadOnly=false + + +redis: + ip: 10.10.14.210 + port: 18890 + password: + +# 数据可视化 +dataEase: + dataVisualizationName: 黄海测试的市州地图 + publish_url: http://10.10.14.203:8100 +# ============================================================== + +excel: + # 导出excel 的模板配置路径 + excelExportTemplatePathSuffix: /ExcelExportTemplate/ + # 导入excel 的模板配置路径 + ExcelImportTemplatePathSuffix: /ExcelImportTemplate/ + +# 上传文件地址 +upload: + path: D:/dsWork/YunNanDsBase/WebRoot/upload \ No newline at end of file diff --git a/src/main/resources/undertow_dev.properties b/src/main/resources/undertow.properties similarity index 100% rename from src/main/resources/undertow_dev.properties rename to src/main/resources/undertow.properties