Commit 02de534a authored by qinhu's avatar qinhu

波形图添加过滤

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