|
|
|
@ -14,17 +14,23 @@ import java.util.List;
|
|
|
|
|
import java.util.Random;
|
|
|
|
|
|
|
|
|
|
public class CityScreenCopy {
|
|
|
|
|
//获取数据可视化名称
|
|
|
|
|
public static String dataVisualizationName = BaseApplication.PropKit.get("dataEase.dataVisualizationName");
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
开启数据库SQL执行日志
|
|
|
|
|
SHOW VARIABLES LIKE 'general_log%';
|
|
|
|
|
SET GLOBAL general_log = 'ON';
|
|
|
|
|
SET GLOBAL general_log = 'OFF';
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 利用雪花算法获取唯一ID
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public static long getSnowId() {
|
|
|
|
|
public static long getSnowId() throws InterruptedException {
|
|
|
|
|
//雪花算法生成唯一ID
|
|
|
|
|
Snowflake snowflake = IdUtil.createSnowflake(1, 1);
|
|
|
|
|
Thread.sleep(20);
|
|
|
|
|
return snowflake.nextId();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -50,8 +56,11 @@ public class CityScreenCopy {
|
|
|
|
|
|
|
|
|
|
public static DataEaseModel dm = new DataEaseModel();
|
|
|
|
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
|
|
public static void main(String[] args) throws InterruptedException {
|
|
|
|
|
LocalMysqlConnectUtil.Init();
|
|
|
|
|
//获取数据可视化名称
|
|
|
|
|
String dataVisualizationName = LocalMysqlConnectUtil.PropKit.get("dataEase.dataVisualizationName");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//一、先删除后插入保持健康:保留:【云南省教育决策支持系统【市州】】,删除掉云南省教育决策支持系统【市州】+昆明市,云南省教育决策支持系统【市州】+楚雄州等数据
|
|
|
|
|
String sql = "select * from data_visualization_info where name like '%" + dataVisualizationName + "%' and name <>'" + dataVisualizationName + "'";
|
|
|
|
@ -67,7 +76,7 @@ public class CityScreenCopy {
|
|
|
|
|
//(3) 删除主表数据
|
|
|
|
|
Db.use(DataEaseModel.DB_NAME).deleteById("data_visualization_info", id);
|
|
|
|
|
}
|
|
|
|
|
System.out.println("成功删除城市大屏数据" + toDelList.size() + "条~");
|
|
|
|
|
System.out.println("成功删除大屏数据" + toDelList.size() + "条~");
|
|
|
|
|
|
|
|
|
|
// 二、开始全新插入数据
|
|
|
|
|
//1、获取母屏数据
|
|
|
|
@ -88,13 +97,14 @@ public class CityScreenCopy {
|
|
|
|
|
cityRecord.set("name", dataVisualizationName + cityName);
|
|
|
|
|
long bigScreenId = getSnowId();
|
|
|
|
|
cityRecord.set("id", bigScreenId);
|
|
|
|
|
Db.save("data_visualization_info", "id", cityRecord);
|
|
|
|
|
Db.use(DataEaseModel.DB_NAME).save("data_visualization_info", "id", cityRecord);
|
|
|
|
|
|
|
|
|
|
// (2) 复制16个大屏的细节表
|
|
|
|
|
List<Record> writeList = new ArrayList<>();
|
|
|
|
|
for (Record rMotherChart : motherChartList) {
|
|
|
|
|
Record rCityChart = new Record().setColumns(rMotherChart);//克隆出来
|
|
|
|
|
//修改大屏ID
|
|
|
|
|
rCityChart.set("id", getSnowId());
|
|
|
|
|
rCityChart.set("scene_id", bigScreenId);
|
|
|
|
|
writeList.add(rCityChart);
|
|
|
|
|
}
|
|
|
|
@ -127,7 +137,7 @@ public class CityScreenCopy {
|
|
|
|
|
shareRecord.set("resource_id", bigScreenId);
|
|
|
|
|
shareRecord.set("id", getSnowId());
|
|
|
|
|
shareRecord.set("uuid", randomString(8));//大小写字母和数字组合,长度为8
|
|
|
|
|
Db.save("xpack_share", "id", shareRecord);
|
|
|
|
|
Db.use(DataEaseModel.DB_NAME).save("xpack_share", "id", shareRecord);
|
|
|
|
|
|
|
|
|
|
System.out.println("完成城市" + cityName + "的数据填充~");
|
|
|
|
|
}
|
|
|
|
@ -136,10 +146,10 @@ public class CityScreenCopy {
|
|
|
|
|
for (String cityName : dm.getCityNameList()) {
|
|
|
|
|
String screenName = dataVisualizationName + cityName;
|
|
|
|
|
sql = "select * from data_visualization_info where name =?";
|
|
|
|
|
Record record = Db.findFirst(sql, screenName);
|
|
|
|
|
Record record = Db.use(DataEaseModel.DB_NAME).findFirst(sql, screenName);
|
|
|
|
|
long id = record.getLong("id");
|
|
|
|
|
sql = "select * from xpack_share where resource_id=?";
|
|
|
|
|
Record shareRecord = Db.findFirst(sql, id);
|
|
|
|
|
Record shareRecord = Db.use(DataEaseModel.DB_NAME).findFirst(sql, id);
|
|
|
|
|
System.out.println("城市" + cityName + "的共享链接:" + shareRecord.getStr("uuid"));
|
|
|
|
|
}
|
|
|
|
|
System.out.println("生成完毕");
|
|
|
|
|