Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
slm-bi
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
林锐标
slm-bi
Commits
4489e7d8
Commit
4489e7d8
authored
Apr 24, 2021
by
linruibiao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
接口编写
parent
7fc8afcb
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
126 additions
and
22 deletions
+126
-22
BaseRestController.java
...java/com/syc/slm/slmbi/controller/BaseRestController.java
+2
-0
VariableController.java
...java/com/syc/slm/slmbi/controller/VariableController.java
+10
-4
VariableHistoryDataDTO.java
...in/java/com/syc/slm/slmbi/dto/VariableHistoryDataDTO.java
+6
-3
VariableRealTimeDTO.java
src/main/java/com/syc/slm/slmbi/dto/VariableRealTimeDTO.java
+28
-0
StatisticsType.java
src/main/java/com/syc/slm/slmbi/enums/StatisticsType.java
+7
-4
VariableService.java
src/main/java/com/syc/slm/slmbi/service/VariableService.java
+9
-6
VariableServiceImpl.java
...a/com/syc/slm/slmbi/service/impl/VariableServiceImpl.java
+64
-5
No files found.
src/main/java/com/syc/slm/slmbi/controller/BaseRestController.java
View file @
4489e7d8
...
...
@@ -56,6 +56,8 @@ public class BaseRestController {
@Value
(
"${dc_client.interfaces.variableHistoryDataList}"
)
protected
String
variableHistoryDataList
;
@Value
(
"${dc_client.interfaces.variableRealTimeDataList}"
)
protected
String
variableRealTimeDataList
;
...
...
src/main/java/com/syc/slm/slmbi/controller/VariableController.java
View file @
4489e7d8
...
...
@@ -87,9 +87,14 @@ public class VariableController extends BaseRestController{
@GetMapping
(
"/real-time"
)
@ApiOperation
(
"获取变量实时数据"
)
@ApiImplicitParam
(
name
=
"appId"
,
value
=
"租户id"
,
required
=
true
,
dataTypeClass
=
String
.
class
)
public
R
<
Map
<
String
,
List
<
Map
<
String
,
RealTimeVariableVo
>>>>
getVariableRealTimeDataList
(
@PathVariable
String
appId
,
VariableDataDTO
variableDTO
)
{
return
call
(()->(
variableService
.
getVariableRealTimeDataList
(
variableDTO
)));
public
R
<
Map
<
String
,
List
<
Map
<
String
,
Object
>>>>
getVariableRealTimeDataList
(
HttpServletRequest
request
,
@PathVariable
String
appId
,
VariableRealTimeDTO
variableDTO
)
{
return
call
(()
->
{
CurrentUser
currentUser
=
getCurrentUser
(
request
);
return
variableService
.
getVariableRealTimeDataList
(
dcClientHost
+
variableRealTimeDataList
,
variableDTO
,
currentUser
);
});
}
@GetMapping
(
"/source"
)
...
...
@@ -112,7 +117,8 @@ public class VariableController extends BaseRestController{
@GetMapping
(
"/history"
)
@ApiOperation
(
"获取变量历史数据"
)
@ApiImplicitParam
(
name
=
"appId"
,
value
=
"租户id"
,
required
=
true
,
dataTypeClass
=
String
.
class
)
public
R
<
List
<
Map
<
String
,
Object
>>
>
getVariableHistoryDataList
(
HttpServletRequest
request
,
@PathVariable
String
appId
,
VariableDataDTO
variableDTO
)
{
public
R
<
List
<
Map
<
String
,
Object
>>
>
getVariableHistoryDataList
(
HttpServletRequest
request
,
@PathVariable
String
appId
,
VariableHistoryDataDTO
variableDTO
)
{
return
call
(()
->
{
CurrentUser
currentUser
=
getCurrentUser
(
request
);
return
variableService
.
getVariableHistoryDataList
(
dcClientHost
+
variableHistoryDataList
,
...
...
src/main/java/com/syc/slm/slmbi/dto/VariableDataDTO.java
→
src/main/java/com/syc/slm/slmbi/dto/Variable
History
DataDTO.java
View file @
4489e7d8
...
...
@@ -13,7 +13,7 @@ import lombok.Data;
**/
@ApiModel
(
"变量DTO"
)
@Data
public
class
VariableDataDTO
{
public
class
Variable
History
DataDTO
{
@ApiModelProperty
(
value
=
"所属设备"
,
required
=
true
)
private
String
deviceId
;
@ApiModelProperty
(
value
=
"统计类型,代表(合计值(sum),平均值(avg),最大值(max),最小值(min) 中位数(middle),原值 original)"
,
required
=
true
)
...
...
@@ -22,10 +22,13 @@ public class VariableDataDTO {
private
String
variableId
;
@ApiModelProperty
(
value
=
"变量Code"
,
required
=
true
)
private
String
variableCode
;
@ApiModelProperty
(
value
=
"变量名称"
,
required
=
true
)
private
String
variableName
;
@ApiModelProperty
(
value
=
"开始时间(时间戳)"
,
required
=
true
)
private
String
startTime
;
@ApiModelProperty
(
value
=
"结束时间(时间戳)"
,
required
=
true
)
private
String
endTime
;
@ApiModelProperty
(
value
=
"统计维度,如果是时间填time,如果是变量填variableCode"
,
required
=
true
)
private
String
x
;
@ApiModelProperty
(
value
=
"统计维度如果是时间,请填时间格式如(yyyy-MM-dd HH:mm:ss),非时间为空"
,
required
=
true
)
private
String
format
;
}
src/main/java/com/syc/slm/slmbi/dto/VariableRealTimeDTO.java
0 → 100644
View file @
4489e7d8
package
com
.
syc
.
slm
.
slmbi
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* slm-bi
* 实时变量DTO
* @author : lin
* @date : 2021-03-30 15:05
**/
@ApiModel
(
"变量DTO"
)
@Data
public
class
VariableRealTimeDTO
{
@ApiModelProperty
(
value
=
"所属设备"
,
required
=
true
)
private
String
deviceId
;
@ApiModelProperty
(
value
=
"变量id"
,
required
=
true
)
private
String
variableId
;
@ApiModelProperty
(
value
=
"变量Code"
,
required
=
true
)
private
String
variableCode
;
@ApiModelProperty
(
value
=
"开始时间(时间戳)"
,
required
=
true
)
private
String
startTime
;
@ApiModelProperty
(
value
=
"结束时间(时间戳)"
,
required
=
true
)
private
String
endTime
;
@ApiModelProperty
(
value
=
"请填时间格式如(yyyy-MM-dd HH:mm:ss)"
,
required
=
true
)
private
String
format
;
}
src/main/java/com/syc/slm/slmbi/enums/StatisticsType.java
View file @
4489e7d8
package
com
.
syc
.
slm
.
slmbi
.
enums
;
import
javax.crypto.interfaces.PBEKey
;
/**
* 统计类型
*
...
...
@@ -24,7 +26,7 @@ public enum StatisticsType {
MAX
(
"max"
),
/**
*
最小值
* 最小值
*/
MIN
(
"min"
),
...
...
@@ -37,9 +39,10 @@ public enum StatisticsType {
* 原值
*/
ORIGINAL
(
"original"
);
private
String
value
;
StatisticsType
(
String
v
){
value
=
v
;
public
String
value
;
StatisticsType
(
String
v
)
{
value
=
v
;
}
}
src/main/java/com/syc/slm/slmbi/service/VariableService.java
View file @
4489e7d8
package
com
.
syc
.
slm
.
slmbi
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.syc.slm.slmbi.dto.QueryPageDTO
;
import
com.syc.slm.slmbi.dto.VariableDataDTO
;
import
com.syc.slm.slmbi.dto.VariableDTO
;
import
com.syc.slm.slmbi.dto.VariableSendDTO
;
import
com.syc.slm.slmbi.dto.*
;
import
com.syc.slm.slmbi.entity.CurrentUser
;
import
com.syc.slm.slmbi.vo.*
;
import
lombok.NonNull
;
...
...
@@ -45,22 +42,28 @@ public interface VariableService {
/**
* 获取实时数据
* @param uri
* @param variableDTO
* @param user
* @return
*/
Map
<
String
,
List
<
Map
<
String
,
RealTimeVariableVo
>>>
getVariableRealTimeDataList
(
VariableDataDTO
variableDTO
);
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
getVariableRealTimeDataList
(
@NonNull
String
uri
,
VariableRealTimeDTO
variableDTO
,
CurrentUser
user
);
/**
* 获取历史数据
* @param uri
* @param variableDTO
* @param currentUser
* @return
*/
List
<
Map
<
String
,
Object
>>
getVariableHistoryDataList
(
@NonNull
String
uri
,
VariableDataDTO
variableDTO
,
CurrentUser
currentUser
);
List
<
Map
<
String
,
Object
>>
getVariableHistoryDataList
(
@NonNull
String
uri
,
VariableHistoryDataDTO
variableDTO
,
CurrentUser
currentUser
);
/**
* 下发
* @param sendDTO
* @param currentUser
* @param uri
*/
void
send
(
VariableSendDTO
sendDTO
,
CurrentUser
currentUser
,
String
uri
);
}
src/main/java/com/syc/slm/slmbi/service/impl/VariableServiceImpl.java
View file @
4489e7d8
...
...
@@ -13,6 +13,7 @@ import com.syc.slm.common.core.util.RestTemplateUtils;
import
com.syc.slm.slmbi.dto.*
;
import
com.syc.slm.slmbi.entity.CurrentUser
;
import
com.syc.slm.slmbi.enums.AccessType
;
import
com.syc.slm.slmbi.enums.StatisticsType
;
import
com.syc.slm.slmbi.exception.SysException
;
import
com.syc.slm.slmbi.service.VariableService
;
import
com.syc.slm.slmbi.vo.*
;
...
...
@@ -120,13 +121,72 @@ public class VariableServiceImpl implements VariableService {
}
@Override
public
Map
<
String
,
List
<
Map
<
String
,
RealTimeVariableVo
>>>
getVariableRealTimeDataList
(
VariableDataDTO
variableDTO
)
{
return
null
;
public
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
getVariableRealTimeDataList
(
@NonNull
String
uri
,
VariableRealTimeDTO
variableDTO
,
CurrentUser
user
)
{
if
(
StringUtils
.
isBlank
(
uri
)){
throw
new
SysException
(
"请传入uri"
);
}
if
(
StringUtils
.
isBlank
(
variableDTO
.
getDeviceId
())){
throw
new
SysException
(
"请传入设备id"
);
}
if
(
StringUtils
.
isBlank
(
variableDTO
.
getVariableCode
())){
throw
new
SysException
(
"请传入变量code"
);
}
if
(
StringUtils
.
isBlank
(
variableDTO
.
getEndTime
())){
throw
new
SysException
(
"请传入结束时间"
);
}
if
(
StringUtils
.
isBlank
(
variableDTO
.
getStartTime
())){
throw
new
SysException
(
"请传入开始时间"
);
}
if
(
StringUtils
.
isBlank
(
variableDTO
.
getFormat
()))
{
throw
new
SysException
(
" 请填入时间格式"
);
}
Map
<
String
,
String
>
heads
=
Maps
.
newHashMap
();
heads
.
put
(
"X-Token"
,
user
.
getToken
());
Map
<
String
,
String
>
uriVariables
=
SlmConstants
.
gson
.
fromJson
(
SlmConstants
.
gson
.
toJson
(
variableDTO
),
new
TypeToken
<
Map
<
String
,
String
>>(){}.
getType
());
uriVariables
.
put
(
"appId"
,
user
.
getAppId
());
R
<
Map
<
String
,
List
<
Map
<
String
,
Object
>>>>
result
=
RestTemplateUtils
.
get
(
uri
,
heads
,
new
TypeToken
<
R
<
Map
<
String
,
List
<
Map
<
String
,
Object
>>>>>()
{}.
getType
(),
uriVariables
);
return
result
.
detach
();
}
@Override
public
List
<
Map
<
String
,
Object
>>
getVariableHistoryDataList
(
@NonNull
String
uri
,
VariableDataDTO
variableDTO
,
CurrentUser
user
)
{
public
List
<
Map
<
String
,
Object
>>
getVariableHistoryDataList
(
@NonNull
String
uri
,
VariableHistoryDataDTO
variableDTO
,
CurrentUser
user
)
{
if
(
StringUtils
.
isBlank
(
uri
)){
throw
new
SysException
(
"请传入uri"
);
}
if
(
StringUtils
.
isBlank
(
variableDTO
.
getDeviceId
())){
throw
new
SysException
(
"请传入设备id"
);
}
if
(
StringUtils
.
isBlank
(
variableDTO
.
getVariableCode
())){
throw
new
SysException
(
"请传入变量code"
);
}
if
(
StringUtils
.
isBlank
(
variableDTO
.
getEndTime
())){
throw
new
SysException
(
"请传入结束时间"
);
}
if
(
StringUtils
.
isBlank
(
variableDTO
.
getStartTime
())){
throw
new
SysException
(
"请传入开始时间"
);
}
if
(
StringUtils
.
isBlank
(
variableDTO
.
getStatisticsType
())){
throw
new
SysException
(
"请传入统计类型"
);
}
else
{
if
(!
StatisticsType
.
SUM
.
value
.
equals
(
variableDTO
.
getStatisticsType
())
&&
!
StatisticsType
.
AVG
.
value
.
equals
(
variableDTO
.
getStatisticsType
())
&&
!
StatisticsType
.
MAX
.
value
.
equals
(
variableDTO
.
getStatisticsType
())
&&
!
StatisticsType
.
MIN
.
value
.
equals
(
variableDTO
.
getStatisticsType
())
&&
!
StatisticsType
.
MIDDLE
.
value
.
equals
(
variableDTO
.
getStatisticsType
())
&&
!
StatisticsType
.
ORIGINAL
.
value
.
equals
(
variableDTO
.
getStatisticsType
())){
throw
new
SysException
(
"没有对应匹配的统计类型"
);
}
}
if
(
StringUtils
.
isBlank
(
variableDTO
.
getX
())){
throw
new
SysException
(
"请传入统计维度"
);
}
if
(
"time"
.
equals
(
variableDTO
.
getX
())){
if
(
StringUtils
.
isBlank
(
variableDTO
.
getFormat
()))
{
throw
new
SysException
(
"统计维度为时间,请填入时间格式"
);
}
}
Map
<
String
,
String
>
heads
=
Maps
.
newHashMap
();
heads
.
put
(
"X-Token"
,
user
.
getToken
());
Map
<
String
,
String
>
uriVariables
=
SlmConstants
.
gson
.
fromJson
(
SlmConstants
.
gson
.
toJson
(
variableDTO
),
new
TypeToken
<
Map
<
String
,
String
>>(){}.
getType
());
...
...
@@ -205,7 +265,6 @@ public class VariableServiceImpl implements VariableService {
Map
<
String
,
String
>
uriVariables
=
Maps
.
newHashMap
();
uriVariables
.
put
(
"appId"
,
user
.
getAppId
());
return
RestTemplateUtils
.
get
(
uri
,
heads
,
new
TypeToken
<
R
<
Map
<
String
,
String
>>>()
{}.
getType
(),
uriVariables
);
}
}
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