| | |
| | | import java.util.Optional; |
| | | import java.util.Set; |
| | | |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | Set<String> keySet = jsonObj.keySet(); |
| | | String[] keys = keySet.toArray(new String[] {}); |
| | | |
| | | final String NEWDP_SUFFIX = "_n";//计算规则使用之后新数据点的结尾 |
| | | for(String key : keys) { |
| | | String appId = key;//iot系统中的应用id,本应用中应该用表去对应 |
| | | long workstationId = getWorkstationIdByAppId(appId); |
| | | |
| | | TelemetryData tdata = new TelemetryData(); |
| | | tdata.setWorkstationId(workstationId); |
| | | |
| | | |
| | | JSONArray dtArr = jsonObj.getJSONArray(appId); |
| | | for(int i=0;i<dtArr.size();i++) { |
| | |
| | | |
| | | Set<String> valueKeySet = values.keySet(); |
| | | valueKeySet.forEach(valueKey ->{ |
| | | tdataItem.addPoint(valueKey,values.getString(valueKey)); |
| | | String oriValueKey = valueKey;;//由于使用计算规则的采集点名称会后面增加一个"_n",所以这个oriValueKey代表没有增加"_n"的 |
| | | if(StringUtils.endsWith(valueKey, NEWDP_SUFFIX)) { |
| | | oriValueKey = StringUtils.removeEnd(valueKey, NEWDP_SUFFIX); |
| | | } |
| | | tdataItem.addPoint(oriValueKey,values.getString(valueKey));//使用原始配置点保持保存数据 |
| | | }); |
| | | |
| | | tdata.addItem(tdataItem); |