Commit 02de534a authored by qinhu's avatar qinhu

波形图添加过滤

parent 5077fd40
...@@ -3,7 +3,6 @@ package cn.wise.sc.energy.power.plant.business.controller; ...@@ -3,7 +3,6 @@ package cn.wise.sc.energy.power.plant.business.controller;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.wise.sc.energy.power.plant.business.bean.DataPower; import cn.wise.sc.energy.power.plant.business.bean.DataPower;
import cn.wise.sc.energy.power.plant.business.domain.CharacterParamInfo; import cn.wise.sc.energy.power.plant.business.domain.CharacterParamInfo;
import cn.wise.sc.energy.power.plant.business.domain.FrequencyQuery;
import cn.wise.sc.energy.power.plant.business.domain.Oscillogram; import cn.wise.sc.energy.power.plant.business.domain.Oscillogram;
import cn.wise.sc.energy.power.plant.business.domain.OscillogramRowMapper; import cn.wise.sc.energy.power.plant.business.domain.OscillogramRowMapper;
import cn.wise.sc.energy.power.plant.business.domain.OscillogramTagsMapper; import cn.wise.sc.energy.power.plant.business.domain.OscillogramTagsMapper;
...@@ -11,8 +10,14 @@ import cn.wise.sc.energy.power.plant.business.domain.TendencyQuery; ...@@ -11,8 +10,14 @@ import cn.wise.sc.energy.power.plant.business.domain.TendencyQuery;
import cn.wise.sc.energy.power.plant.business.domain.vo.EntityVo; import cn.wise.sc.energy.power.plant.business.domain.vo.EntityVo;
import cn.wise.sc.energy.power.plant.business.service.ICharacterParamService; import cn.wise.sc.energy.power.plant.business.service.ICharacterParamService;
import cn.wise.sc.energy.power.plant.common.core.bean.BaseResponse; import cn.wise.sc.energy.power.plant.common.core.bean.BaseResponse;
import com.alibaba.fastjson.JSON;
import com.spring4all.spring.boot.starter.hbase.api.HbaseTemplate; import com.spring4all.spring.boot.starter.hbase.api.HbaseTemplate;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.filter.CompareFilter;
import org.apache.hadoop.hbase.filter.Filter;
import org.apache.hadoop.hbase.filter.FilterList;
import org.apache.hadoop.hbase.filter.RowFilter;
import org.apache.hadoop.hbase.filter.SubstringComparator;
import org.apache.hadoop.hbase.util.Bytes;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -22,13 +27,8 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -22,13 +27,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.FileDescriptor;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
...@@ -43,7 +43,6 @@ import java.util.Map; ...@@ -43,7 +43,6 @@ import java.util.Map;
@CrossOrigin @CrossOrigin
@Validated @Validated
@RestController @RestController
//@Api(tags = "测点特征")
@RequestMapping("characterParam/") @RequestMapping("characterParam/")
public class CharacterParamController { public class CharacterParamController {
...@@ -79,19 +78,41 @@ public class CharacterParamController { ...@@ -79,19 +78,41 @@ public class CharacterParamController {
@PostMapping("/oscillogram") @PostMapping("/oscillogram")
public BaseResponse<List<Oscillogram>> oscillogram(@RequestBody List<String> kksCodes) { public BaseResponse<List<Oscillogram>> oscillogram(@RequestBody List<String> kksCodes) {
List<Filter> filters = new ArrayList<>(kksCodes.size());
for (String kkscode : kksCodes) {
RowFilter filter = new RowFilter(CompareFilter.CompareOp.EQUAL
, new SubstringComparator(StrUtil.swapCase(kkscode)));
filters.add(filter);
}
FilterList filterList = new FilterList(filters);
Scan scan1 = new Scan();
scan1.setCaching(10000);
scan1.setFilter(filterList);
scan1.addFamily(Bytes.toBytes("records"));
OscillogramRowMapper oscillogramRowMapper = new OscillogramRowMapper();
List<Oscillogram> oscillograms = hbaseTemplate.find("thermalpower-plant-wave-data", List<Oscillogram> oscillograms = hbaseTemplate.find("thermalpower-plant-wave-data",
"records", new OscillogramRowMapper()); scan1, oscillogramRowMapper);
Scan scan2 = new Scan();
scan2.setCaching(10000);
scan2.setFilter(filterList);
scan2.addFamily(Bytes.toBytes("tags"));
OscillogramTagsMapper oscillogramRowMapper2 = new OscillogramTagsMapper();
List<Oscillogram> oscillogramsTags = hbaseTemplate.find("thermalpower-plant-wave-data", List<Oscillogram> oscillogramsTags = hbaseTemplate.find("thermalpower-plant-wave-data",
"tags", new OscillogramTagsMapper()); scan2, oscillogramRowMapper2);
System.out.println("=================波形图数据====================");
System.out.println(oscillograms.size());
System.out.println(oscillogramsTags.size());
//关联tags //关联tags
oscillograms.forEach(arg -> { oscillograms.forEach(arg -> oscillogramsTags.forEach(opt -> {
oscillogramsTags.forEach(opt -> { if (opt.getRowKey().equals(arg.getRowKey())) {
if (opt.getRowKey().equals(arg.getRowKey())) { arg.setTimeSpan(opt.getTimeSpan());
arg.setTimeSpan(opt.getTimeSpan()); arg.getMapData();
arg.setRecordFlag(opt.getRecordFlag()); arg.setRecordFlag(opt.getRecordFlag());
} }
}); }));
});
List<CharacterParamInfo> characterParamInfos = iCharacterParamService.getByKksCodes(kksCodes); List<CharacterParamInfo> characterParamInfos = iCharacterParamService.getByKksCodes(kksCodes);
List<Oscillogram> rts = new ArrayList<>(oscillograms.size()); List<Oscillogram> rts = new ArrayList<>(oscillograms.size());
...@@ -103,29 +124,26 @@ public class CharacterParamController { ...@@ -103,29 +124,26 @@ public class CharacterParamController {
}); });
} }
FrequencyQuery frequencyQuery = new FrequencyQuery(); // FrequencyQuery frequencyQuery = new FrequencyQuery();
FrequencyQuery.Record record = new FrequencyQuery.Record(); // FrequencyQuery.Record record = new FrequencyQuery.Record();
FrequencyQuery.DataOut dataOut = new FrequencyQuery.DataOut(); // FrequencyQuery.DataOut dataOut = new FrequencyQuery.DataOut();
frequencyQuery.setRecord(record); // frequencyQuery.setRecord(record);
frequencyQuery.getRecord().setData(dataOut); // frequencyQuery.getRecord().setData(dataOut);
frequencyQuery.getRecord().getData().setData(new ArrayList<>()); // frequencyQuery.getRecord().getData().setData(new ArrayList<>());
for (Oscillogram oscillogram : rts) { // for (Oscillogram oscillogram : rts) {
FrequencyQuery.DataIn dataIn = new FrequencyQuery.DataIn(); // FrequencyQuery.DataIn dataIn = new FrequencyQuery.DataIn();
dataIn.setKKSCode(oscillogram.getKKsCode()); // dataIn.setKKSCode(oscillogram.getKKsCode());
dataIn.setData(oscillogram.getMapData()); // dataIn.setData(oscillogram.getMapData());
dataIn.setKeyPhaseOffset(oscillogram.getNoVersionKeyPhaseOffset()); // dataIn.setKeyPhaseOffset(oscillogram.getNoVersionKeyPhaseOffset());
dataIn.setPeriod(oscillogram.getPeriod()); // dataIn.setPeriod(oscillogram.getPeriod());
dataOut.setDirection(0); // dataOut.setDirection(0);
dataOut.setGenerationFreq(oscillogram.getGenerationFreq()); // dataOut.setGenerationFreq(oscillogram.getGenerationFreq());
dataOut.setRecordFlag(oscillogram.getRecordFlag()); // dataOut.setRecordFlag(oscillogram.getRecordFlag());
dataOut.setPoleNum(oscillogram.getPoleNum()); // dataOut.setPoleNum(oscillogram.getPoleNum());
frequencyQuery.getRecord().getData().getData().add(dataIn); // frequencyQuery.getRecord().getData().getData().add(dataIn);
} // }
//
String frequencyQueryStr = JSON.toJSONString(frequencyQuery); // iCharacterParamService.getFrequency(JSON.toJSONString(rts));
System.out.println("=================频谱图参数");
System.out.println(frequencyQueryStr);
iCharacterParamService.getFrequency(JSON.toJSONString(rts));
return BaseResponse.okData(rts); return BaseResponse.okData(rts);
} }
...@@ -135,9 +153,8 @@ public class CharacterParamController { ...@@ -135,9 +153,8 @@ public class CharacterParamController {
try { try {
//将文件内容转成json //将文件内容转成json
InputStreamReader inputStreamReader = new InputStreamReader(file.getInputStream(), "utf-8"); InputStreamReader inputStreamReader = new InputStreamReader(file.getInputStream(), "utf-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader); BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String s = null; String s;
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
while ((s = bufferedReader.readLine()) != null) { while ((s = bufferedReader.readLine()) != null) {
builder.append(s).append("\n"); builder.append(s).append("\n");
......
...@@ -50,7 +50,7 @@ public class UserInfoController { ...@@ -50,7 +50,7 @@ public class UserInfoController {
return iUserInfoService.addUserInfo(userInfo); return iUserInfoService.addUserInfo(userInfo);
} }
@PutMapping("/edit") @PostMapping("/edit")
public BaseResponse<Boolean> edit(@RequestBody UserInfoQuery userInfo) { public BaseResponse<Boolean> edit(@RequestBody UserInfoQuery userInfo) {
return iUserInfoService.edit(userInfo); return iUserInfoService.edit(userInfo);
} }
......
...@@ -5,6 +5,9 @@ import cn.hutool.core.codec.Base64Encoder; ...@@ -5,6 +5,9 @@ import cn.hutool.core.codec.Base64Encoder;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.spring4all.spring.boot.starter.hbase.api.RowMapper; import com.spring4all.spring.boot.starter.hbase.api.RowMapper;
import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.Result;
import java.util.ArrayList;
import java.util.List;
import java.util.NavigableMap; import java.util.NavigableMap;
/** /**
...@@ -18,7 +21,11 @@ public class OscillogramRowMapper implements RowMapper<Oscillogram> { ...@@ -18,7 +21,11 @@ public class OscillogramRowMapper implements RowMapper<Oscillogram> {
private static byte[] MAP = "map".getBytes(); private static byte[] MAP = "map".getBytes();
private static byte[] DATA = "Data".getBytes(); private static byte[] DATA = "Data".getBytes();
private static byte[] OFFSET = "KeyPhaseOffset".getBytes(); private static byte[] OFFSET = "KeyPhaseOffset".getBytes();
private List<String> kks = new ArrayList<>();
public List<String> getKks() {
return kks;
}
@Override @Override
public Oscillogram mapRow(Result result, int rowNum) throws Exception { public Oscillogram mapRow(Result result, int rowNum) throws Exception {
...@@ -26,7 +33,10 @@ public class OscillogramRowMapper implements RowMapper<Oscillogram> { ...@@ -26,7 +33,10 @@ public class OscillogramRowMapper implements RowMapper<Oscillogram> {
Oscillogram oscillogram = new Oscillogram(); Oscillogram oscillogram = new Oscillogram();
oscillogram.setRowKey(Base64Encoder.encode(result.getRow())); oscillogram.setRowKey(Base64Encoder.encode(result.getRow()));
//解密当前kkscode //解密当前kkscode
oscillogram.setKKsCode(getKKsCode(result.getRow())); String kkscode = getKKsCode(result.getRow());
oscillogram.setKKsCode(kkscode);
//获取特征信息 //获取特征信息
NavigableMap<byte[], NavigableMap<byte[], byte[]>> noVersionMap = result.getNoVersionMap(); NavigableMap<byte[], NavigableMap<byte[], byte[]>> noVersionMap = result.getNoVersionMap();
NavigableMap<byte[], byte[]> navigableMap1 = noVersionMap.get(RECORDS); NavigableMap<byte[], byte[]> navigableMap1 = noVersionMap.get(RECORDS);
......
...@@ -37,6 +37,9 @@ public class UserInfo extends AbstractEntity<String> implements UserDetails { ...@@ -37,6 +37,9 @@ public class UserInfo extends AbstractEntity<String> implements UserDetails {
private String password; private String password;
private Integer role; private Integer role;
private String plantid; private String plantid;
private String phone;
private String name;
private String sex;
@Transient @Transient
private Collection<? extends GrantedAuthority> authorities; private Collection<? extends GrantedAuthority> authorities;
......
...@@ -24,4 +24,12 @@ public class UserInfoQuery implements Serializable { ...@@ -24,4 +24,12 @@ public class UserInfoQuery implements Serializable {
@NotEmpty(message = "password不能为空!") @NotEmpty(message = "password不能为空!")
private String password; private String password;
private String sex;
private String phone;
private String name;
private String plantId;
} }
...@@ -54,15 +54,15 @@ public class JWTFilter extends BasicAuthenticationFilter { ...@@ -54,15 +54,15 @@ public class JWTFilter extends BasicAuthenticationFilter {
} }
private String getToken(final HttpServletRequest request) { private String getToken(final HttpServletRequest request) {
if (request.getCookies() != null) { // if (request.getCookies() != null) {
for (final Cookie cookie : request.getCookies()) { // for (final Cookie cookie : request.getCookies()) {
if (Objects.equals(cookie.getName(), SecurityConstants.AUTH_COOKIE)) { // if (Objects.equals(cookie.getName(), SecurityConstants.AUTH_COOKIE)) {
if (StringUtils.hasText(cookie.getValue())) { // if (StringUtils.hasText(cookie.getValue())) {
return cookie.getValue(); // return cookie.getValue();
} // }
} // }
} // }
} // }
final String header = request.getHeader(AUTHORIZATION_HEADER); final String header = request.getHeader(AUTHORIZATION_HEADER);
if (header != null && header.startsWith(TOKEN_PREFIX)) { if (header != null && header.startsWith(TOKEN_PREFIX)) {
return header.substring(TOKEN_PREFIX.length()); return header.substring(TOKEN_PREFIX.length());
......
...@@ -249,23 +249,26 @@ public class CharacterParamServiceImpl extends BaseServiceImpl<String, Character ...@@ -249,23 +249,26 @@ public class CharacterParamServiceImpl extends BaseServiceImpl<String, Character
}); });
//如果时间传0 默认取最后一条数据向前推1h //如果时间传0 默认取最后一条数据向前推1h
if (timeModelQuery.getStart() == 0 || timeModelQuery.getEnd() == 0) { if (timeModelQuery.getStart() == 0 || timeModelQuery.getEnd() == 0) {
QueryLastRequest queryLastRequest = new QueryLastRequest(); timeModelQuery.setStart(1597456800000L);
LastDataPointQuery lastDataPointQuery = new LastDataPointQuery(); timeModelQuery.setEnd(1597460400000L);
lastDataPointQuery.setMetric("C0A00101CFA01CBA00R002");
List<LastDataPointQuery> list = new ArrayList<>(); // QueryLastRequest queryLastRequest = new QueryLastRequest();
list.add(lastDataPointQuery); // LastDataPointQuery lastDataPointQuery = new LastDataPointQuery();
queryLastRequest.setQueries(list); // lastDataPointQuery.setMetric("C0A00101CFA01CBA00R002");
QueryLastResponse queryLastResponse; // List<LastDataPointQuery> list = new ArrayList<>();
try { // list.add(lastDataPointQuery);
queryLastResponse = OpentsdbOkHttpClient.queryLast(queryLastRequest); // queryLastRequest.setQueries(list);
//获取最后一条数据的时间 // QueryLastResponse queryLastResponse;
Long timestamp = queryLastResponse.getResults().get(0).getTimestamp(); // try {
//以这个时间向前推1h // queryLastResponse = OpentsdbOkHttpClient.queryLast(queryLastRequest);
timeModelQuery.setStart(timestamp - (24 * 60 * 60 * 1000)); // //获取最后一条数据的时间
timeModelQuery.setEnd(timestamp); // Long timestamp = queryLastResponse.getResults().get(0).getTimestamp();
} catch (IOException | URISyntaxException e) { // //以这个时间向前推1h
e.printStackTrace(); // timeModelQuery.setStart(timestamp - (24 * 60 * 60 * 1000));
} // timeModelQuery.setEnd(timestamp);
// } catch (IOException | URISyntaxException e) {
// e.printStackTrace();
// }
} }
QueryRequestExt queryRequestExt = QueryRequestExt.builder() QueryRequestExt queryRequestExt = QueryRequestExt.builder()
......
...@@ -79,7 +79,8 @@ public class PlantInfoServiceImpl extends BaseServiceImpl<String, PlantInfo> imp ...@@ -79,7 +79,8 @@ public class PlantInfoServiceImpl extends BaseServiceImpl<String, PlantInfo> imp
.getCharacterByName(cpName, plantId, deviceId); .getCharacterByName(cpName, plantId, deviceId);
QueryRequestExt queryRequestExt = QueryRequestExt.builder() QueryRequestExt queryRequestExt = QueryRequestExt.builder()
.start("400h-ago") .start("1597456800000")
.end("1597460400000")
.build(); .build();
for (CharacterParamInfoVo characterParamInfo : characterParamInfoVos) { for (CharacterParamInfoVo characterParamInfo : characterParamInfoVos) {
......
package cn.wise.sc.energy.power.plant.business.service.impl; package cn.wise.sc.energy.power.plant.business.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.wise.sc.energy.power.plant.business.domain.UserInfo; import cn.wise.sc.energy.power.plant.business.domain.UserInfo;
import cn.wise.sc.energy.power.plant.business.domain.UserInfoQuery; import cn.wise.sc.energy.power.plant.business.domain.UserInfoQuery;
...@@ -7,6 +9,7 @@ import cn.wise.sc.energy.power.plant.business.repository.UserInfoRepository; ...@@ -7,6 +9,7 @@ import cn.wise.sc.energy.power.plant.business.repository.UserInfoRepository;
import cn.wise.sc.energy.power.plant.business.service.IUserInfoService; import cn.wise.sc.energy.power.plant.business.service.IUserInfoService;
import cn.wise.sc.energy.power.plant.common.core.bean.BaseResponse; import cn.wise.sc.energy.power.plant.common.core.bean.BaseResponse;
import cn.wise.sc.energy.power.plant.common.core.exception.ResponseEnum; import cn.wise.sc.energy.power.plant.common.core.exception.ResponseEnum;
import jdk.nashorn.internal.ir.annotations.Ignore;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
...@@ -86,7 +89,11 @@ public class UserInfoServiceImpl implements IUserInfoService { ...@@ -86,7 +89,11 @@ public class UserInfoServiceImpl implements IUserInfoService {
if (size > 0) { if (size > 0) {
return BaseResponse.errorMsg("用户名已存在!"); return BaseResponse.errorMsg("用户名已存在!");
} }
if (StrUtil.isNotBlank(userInfo.getPlantId())){
userInfoNew.setPlantid(userInfo.getPlantId());
}
userInfoNew.setId(null); userInfoNew.setId(null);
userInfoNew.setRole(0);
UserInfo save = userInfoRepository.save(userInfoNew); UserInfo save = userInfoRepository.save(userInfoNew);
if (save.getId() != null) { if (save.getId() != null) {
return BaseResponse.okData(true); return BaseResponse.okData(true);
...@@ -99,10 +106,11 @@ public class UserInfoServiceImpl implements IUserInfoService { ...@@ -99,10 +106,11 @@ public class UserInfoServiceImpl implements IUserInfoService {
public BaseResponse<Boolean> edit(UserInfoQuery userInfo) { public BaseResponse<Boolean> edit(UserInfoQuery userInfo) {
UserInfo one = userInfoRepository.getOne(userInfo.getId()); UserInfo one = userInfoRepository.getOne(userInfo.getId());
userInfo.setPlantId("");
if (StrUtil.isNotBlank(userInfo.getPassword())) { if (StrUtil.isNotBlank(userInfo.getPassword())) {
one.setPassword(passwordEncoder.encode(userInfo.getPassword())); one.setPassword(passwordEncoder.encode(userInfo.getPassword()));
} }
BeanUtil.copyProperties(userInfo, one, CopyOptions.create().ignoreNullValue());
userInfoRepository.saveAndFlush(one); userInfoRepository.saveAndFlush(one);
return BaseResponse.okData(true); return BaseResponse.okData(true);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment