diff --git a/src/main/java/com/dsideal/base/Test/CityScreenCopy.java b/src/main/java/com/dsideal/base/Test/CityScreenCopy.java index 88c8daef..ee7b5675 100644 --- a/src/main/java/com/dsideal/base/Test/CityScreenCopy.java +++ b/src/main/java/com/dsideal/base/Test/CityScreenCopy.java @@ -30,6 +30,7 @@ public class CityScreenCopy { /** * 生成随机字符串 + * * @param len * @return */ @@ -47,34 +48,49 @@ public class CityScreenCopy { return randomString.toString(); } + public static DataEaseModel dm = new DataEaseModel(); + public static void main(String[] args) { LocalMysqlConnectUtil.Init(); + + //一、先删除后插入保持健康:保留:【云南省教育决策支持系统【市州】】,删除掉云南省教育决策支持系统【市州】+昆明市,云南省教育决策支持系统【市州】+楚雄州等数据 + String sql = "select * from data_visualization_info where name like '%" + dataVisualizationName + "%' and name <>'" + dataVisualizationName + "'"; + List toDelList = Db.use(DataEaseModel.DB_NAME).find(sql); + for (Record record : toDelList) { + long id = record.getLong("id"); + //(1) 删除关联的表core_chart_view + sql = "delete from core_chart_view where scene_id=?"; + Db.use(DataEaseModel.DB_NAME).update(sql, id); + //(2) 删除共享链接表 + sql = "delete from xpack_share WHERE resource_id=?"; + Db.use(DataEaseModel.DB_NAME).update(sql, id); + //(3) 删除主表数据 + Db.use(DataEaseModel.DB_NAME).deleteById("data_visualization_info", id); + } + System.out.println("成功删除城市大屏数据" + toDelList.size() + "条~"); + + // 二、开始全新插入数据 //1、获取母屏数据 - String sql = "select * from data_visualization_info where name =?"; + sql = "select * from data_visualization_info where name =?"; Record motherRecord = Db.use(DataEaseModel.DB_NAME).findFirst(sql, dataVisualizationName); long motherId = motherRecord.getLong("id"); - //妈妈的细节表 + //母屏细节表 sql = "select * from core_chart_view where scene_id=?"; List motherChartList = Db.use(DataEaseModel.DB_NAME).find(sql, motherId); - - //妈妈的共享链接 - sql = "SELECT * FROM xpack_share WHERE resource_id=?"; + //母屏共享链接 + sql = "select * from xpack_share where resource_id=?"; Record motherShareRecord = Db.use(DataEaseModel.DB_NAME).findFirst(sql, motherId); - //2、需要生成16个城市,这16个城市是哪些 - DataEaseModel dm = new DataEaseModel(); - List cityNameList = dm.getCityNameList(); - - for (String cityName : cityNameList) { + //2、需要哪16个城市 + for (String cityName : dm.getCityNameList()) { //(1)复制16个大屏 - //复制record对象 - Record cityRecord = new Record().setColumns(motherRecord); + Record cityRecord = new Record().setColumns(motherRecord);//复制record对象 cityRecord.set("name", "教育决策支持系统【市州】" + cityName); long bigScreenId = getSnowId(); cityRecord.set("id", bigScreenId); Db.save("data_visualization_info", "id", cityRecord); - // (2) 复制16个大屏的细节配置信息 + // (2) 复制16个大屏的细节表 List writeList = new ArrayList<>(); for (Record rMotherChart : motherChartList) { Record rCityChart = new Record().setColumns(rMotherChart);//克隆出来 @@ -110,8 +126,10 @@ public class CityScreenCopy { Record shareRecord = new Record().setColumns(motherShareRecord); shareRecord.set("resource_id", bigScreenId); shareRecord.set("id", getSnowId()); - shareRecord.set("uuid",randomString(8));//大小写字母和数字组合,长度为8 + shareRecord.set("uuid", randomString(8));//大小写字母和数字组合,长度为8 Db.save("xpack_share", "id", shareRecord); + + System.out.println("完成城市" + cityName + "的数据填充~"); } System.out.println("生成完毕");