Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
黄嘉阳
/
iot-platform-server
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
045d8f40
authored
Nov 21, 2023
by
huangjy
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
fix:声网相关接口
parent
6fcd2444
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
264 additions
and
25 deletions
db/上线后sql/update.sql
server-common/src/main/java/com/makeit/config/ShengwangProperties.java
server-service/src/main/java/com/makeit/dto/platform/alarm/PlatCallingDeviceDTO.java → server-common/src/main/java/com/makeit/shengwang/agora/dto/PlatCallingDeviceDTO.java
server-common/src/main/java/com/makeit/shengwang/agora/http/ShengwangHttpUtil.java
server-common/src/main/java/com/makeit/shengwang/agora/service/ShengwangService.java
server-service/src/main/java/com/makeit/vo/platform/alarm/PlatAlarmCallDeviceVO.java → server-common/src/main/java/com/makeit/shengwang/agora/vo/PlatAlarmCallDeviceVO.java
server-common/src/main/java/com/makeit/utils/Base64Encoding.java
server-module/src/main/java/com/makeit/module/controller/alarm/PlatAlarmRecordController.java
server-module/src/main/java/com/makeit/module/controller/device/PlatDeviceController.java
server-service/src/main/java/com/makeit/entity/platform/device/PlatDevice.java
server-service/src/main/java/com/makeit/service/platform/alarm/PlatAlarmRecordService.java
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/device/PlatDeviceService.java
server-service/src/main/java/com/makeit/service/platform/device/impl/PlatDeviceServiceImpl.java
server-service/src/main/java/com/makeit/vo/platform/device/PlatDeviceActiveVO.java
server-web/src/main/resources/application-dev.yml
server-web/src/main/resources/application-test.yml
db/上线后sql/update.sql
View file @
045d8f40
ALTER
TABLE
`plat_device_other`
ALTER
TABLE
`plat_device_other`
...
...
@@ -24,4 +24,9 @@ ALTER TABLE `sys_api_secret`
ALTER
TABLE
`dev_iot_yanglao_platform`
.
`plat_device_other`
ADD
COLUMN
`uuid`
varchar
(
255
)
COMMENT
'设备uuid'
AFTER
`secure_key`
;
\ No newline at end of file
ADD
COLUMN
`uuid`
varchar
(
255
)
COMMENT
'设备uuid'
AFTER
`secure_key`
;
ALTER
TABLE
`plat_device`
ADD
COLUMN
`device_license`
varchar
(
64
)
COMMENT
'许可证'
AFTER
`end_date`
,
ADD
COLUMN
`license_info`
varchar
(
255
)
COMMENT
'许可证信息'
AFTER
`license`
;
\ No newline at end of file
server-common/src/main/java/com/makeit/config/ShengwangProperties.java
View file @
045d8f40
...
...
@@ -14,6 +14,9 @@ public class ShengwangProperties {
private
String
channelName
;
private
String
account
;
private
String
uid
;
private
String
pid
;
private
String
customerKey
;
private
String
customerSecret
;
private
int
tokenExpirationInSeconds
;
private
int
privilegeExpirationInSeconds
;
...
...
server-
service/src/main/java/com/makeit/dto/platform/alarm
/PlatCallingDeviceDTO.java
→
server-
common/src/main/java/com/makeit/shengwang/agora/dto
/PlatCallingDeviceDTO.java
View file @
045d8f40
package
com
.
makeit
.
dto
.
platform
.
alarm
;
package
com
.
makeit
.
shengwang
.
agora
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
...
...
server-common/src/main/java/com/makeit/shengwang/agora/http/ShengwangHttpUtil.java
0 → 100644
View file @
045d8f40
package
com
.
makeit
.
shengwang
.
agora
.
http
;
import
cn.hutool.http.HttpRequest
;
import
cn.hutool.http.HttpUtil
;
import
com.makeit.config.ShengwangProperties
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.Base64
;
import
java.util.HashMap
;
import
java.util.Map
;
@Component
public
class
ShengwangHttpUtil
{
@Autowired
private
ShengwangProperties
shengwangProperties
;
public
String
active
(
String
licenseKey
)
{
String
plainCredentials
=
shengwangProperties
.
getCustomerKey
()
+
":"
+
shengwangProperties
.
getCustomerSecret
();
String
base64Credentials
=
new
String
(
Base64
.
getEncoder
().
encode
(
plainCredentials
.
getBytes
()));
// 创建 authorization header
String
authorizationHeader
=
"Basic "
+
base64Credentials
;
Map
<
String
,
String
>
reqMap
=
new
HashMap
<>();
reqMap
.
put
(
"pid"
,
shengwangProperties
.
getPid
());
reqMap
.
put
(
"licenseKey"
,
licenseKey
);
reqMap
.
put
(
"appid"
,
shengwangProperties
.
getAppId
());
String
toParams
=
HttpUtil
.
toParams
(
reqMap
);
HttpRequest
httpRequest
=
HttpUtil
.
createPost
(
"https://api.agora.io/dabiz/license/v2/active?"
+
toParams
);
String
result
=
httpRequest
.
header
(
"Authorization"
,
authorizationHeader
)
.
execute
().
body
();
System
.
out
.
println
(
result
);
return
result
;
}
}
server-common/src/main/java/com/makeit/shengwang/agora/service/ShengwangService.java
0 → 100644
View file @
045d8f40
package
com
.
makeit
.
shengwang
.
agora
.
service
;
import
com.alibaba.fastjson.JSON
;
import
com.makeit.config.ShengwangProperties
;
import
com.makeit.shengwang.agora.dto.PlatCallingDeviceDTO
;
import
com.makeit.shengwang.agora.rtm.RtmTokenBuilder2
;
import
com.makeit.shengwang.agora.vo.PlatAlarmCallDeviceVO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.stereotype.Component
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.concurrent.TimeUnit
;
@Component
public
class
ShengwangService
{
public
static
final
String
REDIS_DEVICE_CALL
=
"device::call"
;
@Autowired
private
ShengwangProperties
shengwangProperties
;
@Autowired
private
StringRedisTemplate
redisTemplate
;
public
PlatAlarmCallDeviceVO
callingDeviceAuthIgnoreRtm
(
PlatCallingDeviceDTO
dto
)
{
String
redisResult
=
redisTemplate
.
opsForValue
().
get
(
REDIS_DEVICE_CALL
+
dto
.
getUserId
());
if
(
StringUtils
.
isNotBlank
(
redisResult
))
{
return
JSON
.
parseObject
(
redisResult
,
PlatAlarmCallDeviceVO
.
class
);
}
PlatAlarmCallDeviceVO
platAlarmCallDeviceVO
=
new
PlatAlarmCallDeviceVO
();
RtmTokenBuilder2
token
=
new
RtmTokenBuilder2
();
String
result
=
token
.
buildToken
(
shengwangProperties
.
getAppId
(),
shengwangProperties
.
getAppCertificate
(),
dto
.
getUserId
(),
shengwangProperties
.
getTokenExpirationInSeconds
());
LocalDateTime
now
=
LocalDateTime
.
now
();
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyyMMddHHmmss"
);
String
format
=
String
.
format
(
"%s:%s"
,
"RTM"
,
now
.
format
(
dateTimeFormatter
));
platAlarmCallDeviceVO
.
setAccessToken
(
result
);
platAlarmCallDeviceVO
.
setChannelName
(
format
);
platAlarmCallDeviceVO
.
setAppId
(
shengwangProperties
.
getAppId
());
platAlarmCallDeviceVO
.
setUserId
(
dto
.
getUserId
());
redisTemplate
.
opsForValue
().
set
(
REDIS_DEVICE_CALL
+
dto
.
getUserId
(),
JSON
.
toJSONString
(
platAlarmCallDeviceVO
),
shengwangProperties
.
getTokenExpirationInSeconds
(),
TimeUnit
.
SECONDS
);
return
platAlarmCallDeviceVO
;
}
}
server-
service/src/main/java/com/makeit/vo/platform/alarm
/PlatAlarmCallDeviceVO.java
→
server-
common/src/main/java/com/makeit/shengwang/agora/vo
/PlatAlarmCallDeviceVO.java
View file @
045d8f40
package
com
.
makeit
.
vo
.
platform
.
alarm
;
package
com
.
makeit
.
shengwang
.
agora
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
...
...
server-common/src/main/java/com/makeit/utils/Base64Encoding.java
0 → 100644
View file @
045d8f40
package
com
.
makeit
.
utils
;
import
cn.hutool.http.HttpRequest
;
import
cn.hutool.http.HttpUtil
;
import
org.apache.http.client.HttpClient
;
import
java.net.URI
;
import
java.util.Base64
;
public
class
Base64Encoding
{
// 客户 ID
final
String
customerKey
=
"b3b5f44e536a4fc191358926c6716b7b"
;
// 客户密钥
final
String
customerSecret
=
"bd81828a133140a58dfb04e9d80eba43"
;
public
static
void
main
(
String
[]
args
)
{
Base64Encoding
base64Encoding
=
new
Base64Encoding
();
base64Encoding
.
test
();
}
public
void
test
()
{
// 拼接客户 ID 和客户密钥并使用 base64 编码
String
plainCredentials
=
customerKey
+
":"
+
customerSecret
;
String
base64Credentials
=
new
String
(
Base64
.
getEncoder
().
encode
(
plainCredentials
.
getBytes
()));
// 创建 authorization header
String
authorizationHeader
=
"Basic "
+
base64Credentials
;
System
.
out
.
println
(
authorizationHeader
);
HttpRequest
httpRequest
=
HttpUtil
.
createGet
(
"https://api.agora.io/dev/v1/projects"
);
// 创建 HTTP 请求对象
String
result
=
httpRequest
.
header
(
"Authorization"
,
authorizationHeader
)
.
header
(
"Content-Type"
,
"application/json"
)
.
execute
().
body
();
// 发送 HTTP 请求
System
.
out
.
println
(
result
);
}
}
server-module/src/main/java/com/makeit/module/controller/alarm/PlatAlarmRecordController.java
View file @
045d8f40
...
...
@@ -7,11 +7,11 @@ import com.makeit.common.page.PageVO;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO
;
import
com.makeit.dto.platform.alarm.PlatCallingDeviceDTO
;
import
com.makeit.global.annotation.AuthIgnore
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.vo.platform.alarm.PlatAlarmCallDeviceVO
;
import
com.makeit.shengwang.agora.dto.PlatCallingDeviceDTO
;
import
com.makeit.shengwang.agora.vo.PlatAlarmCallDeviceVO
;
import
com.makeit.vo.platform.alarm.PlatAlarmRecordVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
server-module/src/main/java/com/makeit/module/controller/device/PlatDeviceController.java
View file @
045d8f40
...
...
@@ -17,7 +17,8 @@ import com.makeit.global.annotation.AuthIgnore;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.module.iot.vo.DeviceProperties
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.task.IotSyncTask
;
import
com.makeit.shengwang.agora.dto.PlatCallingDeviceDTO
;
import
com.makeit.shengwang.agora.vo.PlatAlarmCallDeviceVO
;
import
com.makeit.vo.platform.device.PlatDeviceListVO
;
import
com.makeit.vo.platform.device.PlatDeviceViewVO
;
import
io.swagger.annotations.Api
;
...
...
@@ -106,5 +107,23 @@ public class PlatDeviceController {
platDeviceService
.
batchEditProperties
(
dto
);
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"激活设备license"
)
@PostMapping
(
"active"
)
@AuthIgnore
@TenantIdIgnore
public
ApiResponseEntity
active
(
@RequestBody
BaseIdDTO
dto
)
{
platDeviceService
.
active
(
dto
);
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"设备获取登录RTMtoken"
)
@PostMapping
(
"getDeviceRtmToken"
)
@AuthIgnore
@TenantIdIgnore
public
ApiResponseEntity
<
PlatAlarmCallDeviceVO
>
getDeviceRtmToken
(
@RequestBody
PlatCallingDeviceDTO
dto
)
{
return
ApiResponseUtils
.
success
(
platDeviceService
.
getDeviceRtmToken
(
dto
));
}
}
server-service/src/main/java/com/makeit/entity/platform/device/PlatDevice.java
View file @
045d8f40
...
...
@@ -73,6 +73,10 @@ public class PlatDevice extends BaseBusEntity {
@ApiModelProperty
(
value
=
"组织路径"
)
private
String
orgPath
;
@ApiModelProperty
(
value
=
"许可证"
)
private
String
deviceLicense
;
@ApiModelProperty
(
value
=
"许可证信息"
)
private
String
licenseInfo
;
@ApiModelProperty
(
value
=
"设备类型 0-呼吸心率雷达 1-空间人体雷达 2-跌倒检测雷达"
)
private
String
category
;
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/PlatAlarmRecordService.java
View file @
045d8f40
...
...
@@ -6,11 +6,11 @@ import com.makeit.common.page.PageReqDTO;
import
com.makeit.common.page.PageVO
;
import
com.makeit.dto.platform.alarm.PlatAlarmCheckDTO
;
import
com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO
;
import
com.makeit.dto.platform.alarm.PlatCallingDeviceDTO
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.vo.platform.alarm.PlatAlarmCallDeviceVO
;
import
com.makeit.shengwang.agora.dto.PlatCallingDeviceDTO
;
import
com.makeit.shengwang.agora.vo.PlatAlarmCallDeviceVO
;
import
com.makeit.vo.platform.alarm.PlatAlarmRecordVO
;
/**
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
View file @
045d8f40
...
...
@@ -16,7 +16,6 @@ import com.makeit.common.page.PageVO;
import
com.makeit.config.ShengwangProperties
;
import
com.makeit.dto.platform.alarm.PlatAlarmCheckDTO
;
import
com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO
;
import
com.makeit.dto.platform.alarm.PlatCallingDeviceDTO
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.auth.PlatOrg
;
...
...
@@ -43,8 +42,11 @@ import com.makeit.service.platform.space.PlatRegionSettingService;
import
com.makeit.service.platform.space.PlatRoomBedDeviceService
;
import
com.makeit.service.platform.space.PlatRoomService
;
import
com.makeit.service.saas.PlatTenantService
;
import
com.makeit.shengwang.agora.dto.PlatCallingDeviceDTO
;
import
com.makeit.shengwang.agora.media.RtcTokenBuilder2
;
import
com.makeit.shengwang.agora.rtm.RtmTokenBuilder2
;
import
com.makeit.shengwang.agora.service.ShengwangService
;
import
com.makeit.shengwang.agora.vo.PlatAlarmCallDeviceVO
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.PageUtil
;
import
com.makeit.utils.data.convert.StreamUtil
;
...
...
@@ -55,7 +57,6 @@ import com.makeit.utils.sql.join.JoinUtil;
import
com.makeit.utils.user.common.CommonUserUtil
;
import
com.makeit.utils.user.common.CommonUserVO
;
import
com.makeit.utils.user.wechat.WechatUserUtil
;
import
com.makeit.vo.platform.alarm.PlatAlarmCallDeviceVO
;
import
com.makeit.vo.platform.alarm.PlatAlarmRecordVO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
...
...
@@ -83,7 +84,6 @@ import java.util.stream.Collectors;
public
class
PlatAlarmRecordServiceImpl
extends
ServiceImpl
<
PlatAlarmRecordMapper
,
PlatAlarmRecord
>
implements
PlatAlarmRecordService
{
public
static
final
String
REDIS_DEVICE_CALL
=
"device::call"
;
@Autowired
private
PlatAlarmConfigService
platAlarmConfigService
;
...
...
@@ -113,7 +113,7 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
@Autowired
private
ShengwangProperties
shengwangProperties
;
@Autowired
private
S
tringRedisTemplate
redisTemplat
e
;
private
S
hengwangService
shengwangServic
e
;
@Override
...
...
@@ -594,7 +594,6 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
String
deviceId
=
platAlarmRecord
.
getDeviceId
();
PlatDevice
platDevice
=
platDeviceService
.
getById
(
deviceId
);
platAlarmCallDeviceVO
.
setDeviceId
(
platDevice
.
getOriDeviceId
());
platAlarmCallDeviceVO
.
setUserId
(
dto
.
getUserId
());
platAlarmCallDeviceVO
.
setAppId
(
shengwangProperties
.
getAppId
());
LocalDateTime
now
=
LocalDateTime
.
now
();
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyyMMddHHmmss"
);
...
...
@@ -609,14 +608,6 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
@Override
public
PlatAlarmCallDeviceVO
callingDeviceAuthIgnoreRtm
(
PlatCallingDeviceDTO
dto
)
{
PlatAlarmCallDeviceVO
platAlarmCallDeviceVO
=
new
PlatAlarmCallDeviceVO
();
RtmTokenBuilder2
token
=
new
RtmTokenBuilder2
();
String
result
=
token
.
buildToken
(
shengwangProperties
.
getAppId
(),
shengwangProperties
.
getAppCertificate
(),
dto
.
getUserId
(),
shengwangProperties
.
getTokenExpirationInSeconds
());
LocalDateTime
now
=
LocalDateTime
.
now
();
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyyMMddHHmmss"
);
String
format
=
String
.
format
(
"%s:%s"
,
"RTM"
,
now
.
format
(
dateTimeFormatter
));
platAlarmCallDeviceVO
.
setAccessToken
(
result
);
platAlarmCallDeviceVO
.
setChannelName
(
format
);
return
platAlarmCallDeviceVO
;
return
shengwangService
.
callingDeviceAuthIgnoreRtm
(
dto
);
}
}
server-service/src/main/java/com/makeit/service/platform/device/PlatDeviceService.java
View file @
045d8f40
...
...
@@ -2,6 +2,7 @@ package com.makeit.service.platform.device;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.common.dto.BaseIdDTO
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO
;
...
...
@@ -10,6 +11,8 @@ import com.makeit.dto.saas.device.PlatDeviceEditSaasDTO;
import
com.makeit.dto.wechat.device.*
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.module.iot.vo.DeviceProperties
;
import
com.makeit.shengwang.agora.dto.PlatCallingDeviceDTO
;
import
com.makeit.shengwang.agora.vo.PlatAlarmCallDeviceVO
;
import
com.makeit.vo.platform.device.PlatChildDeviceListVO
;
import
com.makeit.vo.platform.device.PlatDeviceListVO
;
import
com.makeit.vo.platform.device.PlatDeviceViewVO
;
...
...
@@ -79,4 +82,8 @@ public interface PlatDeviceService extends IService<PlatDevice> {
void
modifyWifiInfo
(
PlatDeviceSetupDTO
dto
);
void
bindOrg
(
PlatDeviceBindOrgDTO
platDeviceBindOrgDTO
);
void
active
(
BaseIdDTO
dto
);
PlatAlarmCallDeviceVO
getDeviceRtmToken
(
PlatCallingDeviceDTO
dto
);
}
server-service/src/main/java/com/makeit/service/platform/device/impl/PlatDeviceServiceImpl.java
View file @
045d8f40
...
...
@@ -9,17 +9,18 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Sets
;
import
com.makeit.common.dto.BaseIdDTO
;
import
com.makeit.common.dto.BaseTenantDTO
;
import
com.makeit.common.entity.BaseBusEntity
;
import
com.makeit.common.entity.BaseEntity
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO
;
import
com.makeit.dto.platform.device.*
;
import
com.makeit.dto.saas.device.PlatDeviceEditSaasDTO
;
import
com.makeit.dto.wechat.device.*
;
import
com.makeit.entity.platform.auth.PlatOrg
;
import
com.makeit.entity.platform.auth.PlatRole
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.device.PlatDeviceOther
;
import
com.makeit.entity.platform.elder.PlatElder
;
...
...
@@ -51,6 +52,10 @@ import com.makeit.service.platform.space.PlatRegionSettingService;
import
com.makeit.service.platform.space.PlatRoomBedDeviceService
;
import
com.makeit.service.platform.space.PlatSpaceService
;
import
com.makeit.service.saas.PlatTenantService
;
import
com.makeit.shengwang.agora.dto.PlatCallingDeviceDTO
;
import
com.makeit.shengwang.agora.http.ShengwangHttpUtil
;
import
com.makeit.shengwang.agora.service.ShengwangService
;
import
com.makeit.shengwang.agora.vo.PlatAlarmCallDeviceVO
;
import
com.makeit.utils.DeviceCacheUtil
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.JsonUtil
;
...
...
@@ -60,6 +65,7 @@ import com.makeit.utils.old.StringUtils;
import
com.makeit.utils.request.RequestUtil
;
import
com.makeit.utils.sql.join.JoinUtil
;
import
com.makeit.vo.platform.device.PlatChildDeviceListVO
;
import
com.makeit.vo.platform.device.PlatDeviceActiveVO
;
import
com.makeit.vo.platform.device.PlatDeviceListVO
;
import
com.makeit.vo.platform.device.PlatDeviceViewVO
;
import
lombok.Data
;
...
...
@@ -114,6 +120,10 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
private
SysDictionaryCategoryService
sysDictionaryCategoryService
;
@Autowired
private
PlatRoomBedDeviceService
platRoomBedDeviceService
;
@Autowired
private
ShengwangHttpUtil
shengwangHttpUtil
;
@Autowired
private
ShengwangService
shengwangService
;
@Override
public
PageVO
<
PlatDeviceListVO
>
page
(
PageReqDTO
<
PlatDeviceQueryDTO
>
pageReqDTO
)
{
...
...
@@ -721,4 +731,34 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
.
set
(
PlatDevice:
:
getOrgId
,
dto
.
getOrgId
())
.
in
(
CollectionUtils
.
isNotEmpty
(
dto
.
getIdList
()),
BaseEntity:
:
getId
,
dto
.
getIdList
()));
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
active
(
BaseIdDTO
dto
)
{
PlatDevice
platDevice
=
getById
(
dto
.
getId
());
String
active
=
shengwangHttpUtil
.
active
(
platDevice
.
getOriDeviceId
());
ApiResponseEntity
responseEntity
=
JSON
.
parseObject
(
active
,
ApiResponseEntity
.
class
);
if
(
responseEntity
.
getCode
()
!=
200
)
{
throw
new
RuntimeException
(
responseEntity
.
getMessage
());
}
Object
data
=
responseEntity
.
getData
();
if
(
data
!=
null
)
{
PlatDeviceActiveVO
platDeviceActiveVO
=
JSON
.
parseObject
(
data
.
toString
(),
PlatDeviceActiveVO
.
class
);
platDevice
.
setDeviceLicense
(
platDeviceActiveVO
.
getLicense
());
platDevice
.
setLicenseInfo
(
JSON
.
toJSONString
(
platDeviceActiveVO
.
getSkuView
()));
updateById
(
platDevice
);
// 调用设备写入接口
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"license"
,
platDeviceActiveVO
.
getLicense
());
devicePropertiesOperateService
.
deviceWriteAttr
(
platDevice
.
getOriDeviceId
(),
map
);
}
}
@Override
public
PlatAlarmCallDeviceVO
getDeviceRtmToken
(
PlatCallingDeviceDTO
dto
)
{
return
shengwangService
.
callingDeviceAuthIgnoreRtm
(
dto
);
}
}
server-service/src/main/java/com/makeit/vo/platform/device/PlatDeviceActiveVO.java
0 → 100644
View file @
045d8f40
package
com
.
makeit
.
vo
.
platform
.
device
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
/**
* <p>
* 设备
* </p>
*
* @author eugene young
* @since 2023-09-05
*/
@Data
@ApiModel
(
value
=
"设备激活许可"
,
description
=
"设备激活许可"
)
public
class
PlatDeviceActiveVO
{
private
String
license
;
private
SkuView
skuView
;
@Data
public
static
class
SkuView
{
private
Integer
product
;
private
Integer
minutes
;
private
Integer
mediaType
;
private
String
name
;
private
String
period
;
}
}
server-web/src/main/resources/application-dev.yml
View file @
045d8f40
...
...
@@ -156,6 +156,9 @@ shengwang:
uid
:
0
tokenExpirationInSeconds
:
3600
privilegeExpirationInSeconds
:
3600
customerKey
:
b3b5f44e536a4fc191358926c6716b7b
customerSecret
:
bd81828a133140a58dfb04e9d80eba43
pid
:
9851781E9E31453DA3C572A4A4AF9402
...
...
server-web/src/main/resources/application-test.yml
View file @
045d8f40
...
...
@@ -153,4 +153,7 @@ shengwang:
uid
:
0
tokenExpirationInSeconds
:
3600
privilegeExpirationInSeconds
:
3600
customerKey
:
b3b5f44e536a4fc191358926c6716b7b
customerSecret
:
bd81828a133140a58dfb04e9d80eba43
pid
:
9851781E9E31453DA3C572A4A4AF9402
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