main
黄海 7 months ago
parent 39ea9a5d29
commit f27a467ecd

@ -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<Record> 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<Record> 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<String> 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<Record> 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("生成完毕");

Loading…
Cancel
Save