Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
P
plant
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
qinhu
plant
Commits
02de534a
Commit
02de534a
authored
Aug 27, 2020
by
qinhu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
波形图添加过滤
parent
5077fd40
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
123 additions
and
73 deletions
+123
-73
CharacterParamController.java
...r/plant/business/controller/CharacterParamController.java
+60
-43
UserInfoController.java
...y/power/plant/business/controller/UserInfoController.java
+1
-1
OscillogramRowMapper.java
...rgy/power/plant/business/domain/OscillogramRowMapper.java
+11
-1
UserInfo.java
.../wise/sc/energy/power/plant/business/domain/UserInfo.java
+3
-0
UserInfoQuery.java
.../sc/energy/power/plant/business/domain/UserInfoQuery.java
+8
-0
JWTFilter.java
...se/sc/energy/power/plant/business/security/JWTFilter.java
+9
-9
CharacterParamServiceImpl.java
...lant/business/service/impl/CharacterParamServiceImpl.java
+20
-17
PlantInfoServiceImpl.java
...wer/plant/business/service/impl/PlantInfoServiceImpl.java
+2
-1
UserInfoServiceImpl.java
...ower/plant/business/service/impl/UserInfoServiceImpl.java
+9
-1
No files found.
power-bussiness/src/main/java/cn/wise/sc/energy/power/plant/business/controller/CharacterParamController.java
View file @
02de534a
...
...
@@ -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
->
{
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"
);
...
...
power-bussiness/src/main/java/cn/wise/sc/energy/power/plant/business/controller/UserInfoController.java
View file @
02de534a
...
...
@@ -50,7 +50,7 @@ public class UserInfoController {
return
iUserInfoService
.
addUserInfo
(
userInfo
);
}
@P
u
tMapping
(
"/edit"
)
@P
os
tMapping
(
"/edit"
)
public
BaseResponse
<
Boolean
>
edit
(
@RequestBody
UserInfoQuery
userInfo
)
{
return
iUserInfoService
.
edit
(
userInfo
);
}
...
...
power-bussiness/src/main/java/cn/wise/sc/energy/power/plant/business/domain/OscillogramRowMapper.java
View file @
02de534a
...
...
@@ -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
);
...
...
power-bussiness/src/main/java/cn/wise/sc/energy/power/plant/business/domain/UserInfo.java
View file @
02de534a
...
...
@@ -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
;
...
...
power-bussiness/src/main/java/cn/wise/sc/energy/power/plant/business/domain/UserInfoQuery.java
View file @
02de534a
...
...
@@ -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
;
}
power-bussiness/src/main/java/cn/wise/sc/energy/power/plant/business/security/JWTFilter.java
View file @
02de534a
...
...
@@ -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
());
...
...
power-bussiness/src/main/java/cn/wise/sc/energy/power/plant/business/service/impl/CharacterParamServiceImpl.java
View file @
02de534a
...
...
@@ -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
()
...
...
power-bussiness/src/main/java/cn/wise/sc/energy/power/plant/business/service/impl/PlantInfoServiceImpl.java
View file @
02de534a
...
...
@@ -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
)
{
...
...
power-bussiness/src/main/java/cn/wise/sc/energy/power/plant/business/service/impl/UserInfoServiceImpl.java
View file @
02de534a
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
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment