Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
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
4 years ago
by
qinhu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
波形图添加过滤
parent
5077fd40
master
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"
);
...
...
This diff is collapsed.
Click to expand it.
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
);
}
...
...
This diff is collapsed.
Click to expand it.
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
);
...
...
This diff is collapsed.
Click to expand it.
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
;
...
...
This diff is collapsed.
Click to expand it.
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
;
}
This diff is collapsed.
Click to expand it.
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
());
...
...
This diff is collapsed.
Click to expand it.
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
()
...
...
This diff is collapsed.
Click to expand it.
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
)
{
...
...
This diff is collapsed.
Click to expand it.
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
);
...
...
This diff is collapsed.
Click to expand it.
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