|
@ -45,9 +45,6 @@ public class DataInputService {
|
|
@Autowired
|
|
@Autowired
|
|
private HBaseAdmin hBaseAdmin;
|
|
private HBaseAdmin hBaseAdmin;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* 居民设备注册及绑定
|
|
* 居民设备注册及绑定
|
|
*/
|
|
*/
|
|
@ -129,16 +126,13 @@ public class DataInputService {
|
|
String fileName = "";
|
|
String fileName = "";
|
|
String fileAbsPath = "";
|
|
String fileAbsPath = "";
|
|
String rowkey = "";
|
|
String rowkey = "";
|
|
//提取json各项值
|
|
|
|
|
|
//提取json某些项值
|
|
JSONObject jsonObject = JSONObject.parseObject(json);
|
|
JSONObject jsonObject = JSONObject.parseObject(json);
|
|
String accessToken= jsonObject.getString("access_token");
|
|
String accessToken= jsonObject.getString("access_token");
|
|
String dataSource = jsonObject.getString("data_source");
|
|
String dataSource = jsonObject.getString("data_source");
|
|
String deviceSn = jsonObject.getString("sn");
|
|
String deviceSn = jsonObject.getString("sn");
|
|
String extCode = jsonObject.getString("ext_code");
|
|
String extCode = jsonObject.getString("ext_code");
|
|
String measuretime = jsonObject.getString("measure_time");
|
|
|
|
if(null == measuretime){
|
|
|
|
measuretime = DateUtils.formatDate(new Date(), DateUtil.yyyy_MM_dd_HH_mm_ss);
|
|
|
|
}
|
|
|
|
|
|
|
|
//包含居民身份的数据,对设备数据进行校验绑定,此处包含的信息只有身份证号和用户名以及设备序列号,如果设备库中存在该序号的设备,则对绑定居民进行修改,改为当前居民,如果没有则跳过
|
|
//包含居民身份的数据,对设备数据进行校验绑定,此处包含的信息只有身份证号和用户名以及设备序列号,如果设备库中存在该序号的设备,则对绑定居民进行修改,改为当前居民,如果没有则跳过
|
|
if(jsonObject.containsKey("idcard") && jsonObject.containsKey("username")){
|
|
if(jsonObject.containsKey("idcard") && jsonObject.containsKey("username")){
|
|
String idcard = jsonObject.getString("idcard");
|
|
String idcard = jsonObject.getString("idcard");
|
|
@ -146,53 +140,53 @@ public class DataInputService {
|
|
updateBindUser(dataSource,deviceSn,idcard,username);
|
|
updateBindUser(dataSource,deviceSn,idcard,username);
|
|
}
|
|
}
|
|
|
|
|
|
try {
|
|
|
|
rowkey = RowKeyUtils.makeRowKey(accessToken, deviceSn, extCode, DateUtil.dateTimeParse(measuretime).getTime());
|
|
|
|
} catch (Exception e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
//将数据存入es
|
|
|
|
jsonObject.put("_id", new SaveModel().getId());//es的id继承至jestId
|
|
|
|
jsonObject.put("id", rowkey);//hbase的rowkey
|
|
|
|
elastricSearchHelper.save(ConstantUtils.esIndex, ConstantUtils.esType, jsonObject.toJSONString());
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, Map<String, String>> family = new HashMap<>();
|
|
|
|
// List<Map<String, String>> columnsA = new ArrayList<>();
|
|
|
|
Map<String, String> columnsA = new HashMap<>();
|
|
|
|
Map<String, String> columnsB = new HashMap<>();
|
|
|
|
//组装A列
|
|
|
|
columnsA.put("access_token",accessToken);
|
|
|
|
columnsA.put("data_source",dataSource);
|
|
|
|
columnsA.put("sn",deviceSn);
|
|
|
|
columnsA.put("ext_code",extCode);
|
|
|
|
columnsA.put("device_name",jsonObject.getString("device_name"));
|
|
|
|
columnsA.put("device_model",jsonObject.getString("device_model"));
|
|
|
|
family.put(ConstantUtils.tableName,columnsA);
|
|
|
|
|
|
|
|
JSONArray jsonArray = jsonObject.getJSONArray("data");
|
|
JSONArray jsonArray = jsonObject.getJSONArray("data");
|
|
if(null == jsonArray || jsonArray.size() == 0){
|
|
if(null == jsonArray || jsonArray.size() == 0){
|
|
return "json no data";
|
|
return "json no data";
|
|
}
|
|
}
|
|
//组装B列
|
|
|
|
|
|
|
|
|
|
List<String> rowkeyList = new ArrayList<>();
|
|
|
|
List<Map<String,Map<String,String>>> familyList = new ArrayList<>();
|
|
|
|
|
|
|
|
//循环数据,一组数据存一行,生成一个rowkey,并将该rowkey存到es中
|
|
for(Object obj:jsonArray){
|
|
for(Object obj:jsonArray){
|
|
JSONObject data = (JSONObject)obj;
|
|
JSONObject data = (JSONObject)obj;
|
|
for(String key:data.keySet()){
|
|
|
|
columnsB.put(key,data.getString(key));
|
|
|
|
}
|
|
|
|
if(data.containsKey("ecg")){
|
|
|
|
fileName = data.getString("fileName");
|
|
|
|
fileAbsPath = data.getString("filepath");
|
|
|
|
}
|
|
|
|
// columnsA.add(columnsB);
|
|
|
|
|
|
data.put("del","1"); //添加删除标记
|
|
|
|
try {
|
|
|
|
String measuretime = jsonObject.getString("measure_time");
|
|
|
|
if(null == measuretime){
|
|
|
|
measuretime = DateUtils.formatDate(new Date(), DateUtil.yyyy_MM_dd_HH_mm_ss);
|
|
|
|
}
|
|
|
|
//生成一份json数据的rowkey
|
|
|
|
rowkey = RowKeyUtils.makeRowKey(accessToken,deviceSn, extCode, DateUtil.dateTimeParse(measuretime).getTime());
|
|
|
|
data.put("rid",rowkey);//hbase的rowkey
|
|
|
|
rowkeyList.add(rowkey);
|
|
|
|
} catch (Exception e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
//组装B列
|
|
|
|
Map<String, Map<String, String>> family = new HashMap<>();
|
|
|
|
Map<String, String> columnsB = new HashMap<>();
|
|
|
|
for(String key:data.keySet()){
|
|
|
|
columnsB.put(key,data.getString(key));
|
|
|
|
}
|
|
|
|
if(data.containsKey("ecg")){
|
|
|
|
fileName = data.getString("fileName");
|
|
|
|
fileAbsPath = data.getString("filepath");
|
|
|
|
}
|
|
|
|
family.put(ConstantUtils.tableName,columnsB);
|
|
|
|
familyList.add(family);
|
|
}
|
|
}
|
|
family.put(ConstantUtils.familyB, columnsB);
|
|
|
|
|
|
|
|
|
|
//将数据存入es
|
|
|
|
elastricSearchHelper.save(ConstantUtils.esIndex, ConstantUtils.esType, jsonObject.toJSONString());
|
|
|
|
|
|
try {
|
|
try {
|
|
boolean tableExists = hBaseAdmin.isTableExists(ConstantUtils.tableName);
|
|
boolean tableExists = hBaseAdmin.isTableExists(ConstantUtils.tableName);
|
|
if (!tableExists) {
|
|
if (!tableExists) {
|
|
hBaseAdmin.createTable(ConstantUtils.tableName,ConstantUtils.familyA,ConstantUtils.familyB);
|
|
|
|
|
|
hBaseAdmin.createTable(ConstantUtils.tableName,ConstantUtils.familyB);
|
|
}
|
|
}
|
|
hBaseHelper.add(ConstantUtils.tableName, rowkey, family);
|
|
|
|
|
|
hBaseHelper.addBulk(ConstantUtils.tableName, rowkeyList, familyList);
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
//保存日志
|
|
//保存日志
|