From 3295309492d7a887ca8cd2c43d8133291e84457d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Wed, 6 Nov 2024 08:55:52 +0800 Subject: [PATCH] 'commit' --- .../base/DataEase/Model/DataEaseModel.java | 10 +++++++ .../dsideal/base/Tools/DataSetFakeData.java | 27 +++++++++---------- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java b/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java index 0e5f28bb..d5f76c61 100644 --- a/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java +++ b/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java @@ -363,6 +363,16 @@ public class DataEaseModel { return Db.findFirst(sql, area_name); } + /** + * 获取指定id的行政区划 + * @param id + * @return + */ + public Record getAreaById(String id) { + String sql = "select * from t_dm_area where id=?"; + return Db.findFirst(sql, id); + } + /** * 指定父级id获取所有子级 * diff --git a/src/main/java/com/dsideal/base/Tools/DataSetFakeData.java b/src/main/java/com/dsideal/base/Tools/DataSetFakeData.java index cf0076b2..c6f488fc 100644 --- a/src/main/java/com/dsideal/base/Tools/DataSetFakeData.java +++ b/src/main/java/com/dsideal/base/Tools/DataSetFakeData.java @@ -18,11 +18,12 @@ public class DataSetFakeData { * @param table_name * @param area_name */ - public static void CopyData(String table_name, String area_name, String source_area_name) { + public static void CopyData(String table_name, String source_area_name, String area_name, String parent_name) { String sql = "select * from `" + table_name + "` where `行政区划`='" + source_area_name + "'"; List list = Db.use(DataEaseModel.DB_NAME).find(sql); for (Record r : list) { r.set("行政区划", area_name); + r.set("上级行政区划", parent_name); r.remove("id"); } Db.use(DataEaseModel.DB_NAME).batchSave(table_name, list, 100); @@ -58,13 +59,9 @@ public class DataSetFakeData { String table_name = record.getStr("table_name"); System.out.println("正在处理数据集:" + table_name); //检查这个行政区划,在本数据表中是不是存在过,判断办法是 列名: `行政区划`= area_name,如果存在则不作处理,否则拷贝昆明市的数据 - String sql = "select count(1) from `" + table_name + "` where `行政区划`='" + area_name + "'"; - int cnt = Db.use(DataEaseModel.DB_NAME).queryInt(sql); - if (cnt == 0) { - CopyData(table_name, area_name, "昆明市"); - } else { - System.out.println("数据集:" + table_name + " 已经存在,跳过"); - } + String sql = "delete from `" + table_name + "` where `行政区划`='" + area_name + "'"; + Db.use(DataEaseModel.DB_NAME).update(sql); + CopyData(table_name, "昆明市", area_name, "云南省"); } } //获取所有县区 @@ -72,6 +69,10 @@ public class DataSetFakeData { for (Record rArea : listArea) { //城市名称 String area_name = rArea.getStr("area_name"); + String parent_id = rArea.getStr("parent_id"); + //隶属哪个市州 + Record parentRecord = dm.getAreaById(parent_id); + String parent_name = parentRecord.getStr("area_name"); //如果在保留名单中,则跳过 if (keepArea.contains(area_name)) { continue; @@ -83,13 +84,9 @@ public class DataSetFakeData { String table_name = record.getStr("table_name"); System.out.println(area_name + "正在处理数据集:" + table_name); //检查这个行政区划,在本数据表中是不是存在过,判断办法是 列名: `行政区划`= area_name,如果存在则不作处理,否则拷贝昆明市的数据 - String sql = "select count(1) from `" + table_name + "` where `行政区划`='" + area_name + "'"; - int cnt = Db.use(DataEaseModel.DB_NAME).queryInt(sql); - if (cnt == 0) { - CopyData(table_name, area_name, "寻甸县"); - } else { - System.out.println("数据集:" + table_name + " 已经存在,跳过"); - } + String sql = "delete from `" + table_name + "` where `行政区划`='" + area_name + "'"; + Db.use(DataEaseModel.DB_NAME).update(sql); + CopyData(table_name, "寻甸县", area_name, parent_name); } } }