You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

113 lines
4.1 KiB

9 months ago
package com.dsideal.base.Tools;
import com.alibaba.fastjson.JSONObject;
import com.dsideal.base.DataEase.Model.DataEaseModel;
import com.dsideal.base.Plugin.YamlProp;
import com.jfinal.kit.Prop;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record;
import com.jfinal.plugin.activerecord.dialect.MysqlDialect;
import com.jfinal.plugin.hikaricp.HikariCpPlugin;
9 months ago
import java.util.List;
9 months ago
public class ChangeDataEaseCity {
9 months ago
9 months ago
/**
*
9 months ago
*
9 months ago
* @param bigScreenId ID
* @return
*/
public static List<Record> getMap(long bigScreenId) {
String sql = "select id,custom_attr from dataease.core_chart_view where scene_id=? and type='map'";
List<Record> list = Db.find(sql, bigScreenId);
return list;
}
9 months ago
9 months ago
/**
*
*
* @param cityName
* @return
*/
public static String getCityCode(String cityName) {
String sql = "select area_code from t_city_code where area_name=?";
return Db.findFirst(sql, cityName).getStr("area_code");
}
9 months ago
/**
*
*
* @param dataVisualizationName
* @param cityName
*/
public static void updateCity(String dataVisualizationName, String cityName) {
//取出大屏的ID值
String sql = "select * from dataease.data_visualization_info where name =?";
Record dataVisualizationInfo = Db.findFirst(sql, dataVisualizationName);
long bigScreenId = dataVisualizationInfo.getLong("id");
// 配置的内容
List<Record> list = getMap(bigScreenId);
for (Record record : list) {
long id = record.getLong("id");
JSONObject jo = JSONObject.parseObject(record.getStr("custom_attr"));
//获取城市编码
String area_code = getCityCode(cityName);
//修改城市编码
jo.getJSONObject("map").put("id", area_code);
jo.getJSONObject("map").put("level", "city");
//写到数据库
String jsonString = jo.toJSONString();
Db.update("update dataease.core_chart_view set custom_attr=? where id=?", jsonString, id);
}
}
9 months ago
/**
*
* http://10.10.14.203:8100/#/de-link/zud8IQ8J
*
* @param args
*/
9 months ago
public static void main(String[] args) {
//加载配置文件
String configFile = "application_dev.yaml";
Prop PropKit = new YamlProp(configFile);
9 months ago
HikariCpPlugin dataEasePlugin = new HikariCpPlugin(PropKit.get("mysql.jdbcUrl"), PropKit.get("mysql.user"),
9 months ago
PropKit.get("mysql.password").trim(), PropKit.get("mysql.driverClassName"));
dataEasePlugin.start();
// 配置ActiveRecord插件
ActiveRecordPlugin arpDataEase = new ActiveRecordPlugin(DataEaseModel.DB_NAME, dataEasePlugin);
arpDataEase.setDialect(new MysqlDialect());
9 months ago
//启动数据库
9 months ago
arpDataEase.start();
9 months ago
//要修改的大屏中文名称
String dataVisualizationName = "黄海测试的市州地图";
9 months ago
String cityName = "昭通市";
updateCity(dataVisualizationName, cityName);
/*
9 months ago
156530100
156530300
156530400
156530500
156530600
156530700
156530800
156530900
156532300
156532500
156532600
156532800 西
156532900
156533100
156533300
156533400
*/
9 months ago
}
}