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
d72bd5bd
authored
Nov 21, 2023
by
huangjy
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
fix:声网token
parent
c60328ab
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
104 additions
and
25 deletions
server-module/src/main/java/com/makeit/module/controller/alarm/PlatAlarmRecordController.java
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderSleepController.java
server-service/src/main/java/com/makeit/dto/platform/alarm/PlatCallingDeviceDTO.java
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderCoordinateRecord.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/elder/impl/PlatElderCoordinateRecordServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportDayServiceImpl.java
server-service/src/main/java/com/makeit/task/PlatElderReportTask.java
server-service/src/main/java/com/makeit/vo/platform/alarm/PlatAlarmCallDeviceVO.java
server-service/src/main/java/com/makeit/vo/platform/elder/realtime/PlatElderCoordinateVO.java
server-module/src/main/java/com/makeit/module/controller/alarm/PlatAlarmRecordController.java
View file @
d72bd5bd
...
...
@@ -7,7 +7,9 @@ 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.vo.platform.alarm.PlatAlarmRecordVO
;
...
...
@@ -79,16 +81,16 @@ public class PlatAlarmRecordController {
@ApiOperation
(
"呼叫设备rtm"
)
@PostMapping
(
"callingDeviceAuthRtm"
)
@AuthIgnore
public
ApiResponseEntity
<
PlatAlarmCallDeviceVO
>
callingDeviceAuthRtm
(
@RequestBody
BaseIdDTO
baseIdDTO
)
throws
Exception
{
return
ApiResponseUtils
.
success
(
platAlarmRecordService
.
callingDeviceAuthIgnoreRtm
(
baseIdDTO
.
getId
()));
public
ApiResponseEntity
<
PlatAlarmCallDeviceVO
>
callingDeviceAuthRtm
(
@RequestBody
PlatCallingDeviceDTO
dto
)
{
return
ApiResponseUtils
.
success
(
platAlarmRecordService
.
callingDeviceAuthIgnoreRtm
(
dto
));
}
@ApiOperation
(
"呼叫设备rtm"
)
@PostMapping
(
"callingDeviceAuthIgnoreRtm"
)
@AuthIgnore
public
ApiResponseEntity
<
PlatAlarmCallDeviceVO
>
callingDeviceAuthIgnoreRtm
(
@RequestBody
BaseIdDTO
baseIdDTO
)
throws
Exception
{
return
ApiResponseUtils
.
success
(
platAlarmRecordService
.
callingDeviceAuthIgnoreRtm
(
baseIdDTO
.
getId
()));
@TenantIdIgnore
public
ApiResponseEntity
<
PlatAlarmCallDeviceVO
>
callingDeviceAuthIgnoreRtm
(
@RequestBody
PlatCallingDeviceDTO
dto
)
{
return
ApiResponseUtils
.
success
(
platAlarmRecordService
.
callingDeviceAuthIgnoreRtm
(
dto
));
}
// @Autowired
...
...
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderSleepController.java
View file @
d72bd5bd
...
...
@@ -75,6 +75,14 @@ public class PlatElderSleepController {
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"测试"
)
@PostMapping
(
"test5"
)
@AuthIgnore
public
ApiResponseEntity
<
Void
>
coordinateRecordTask
()
{
platElderReportTask
.
coordinateRecordTask
();
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"编辑设备属性"
)
@PostMapping
(
"editDeviceProperties"
)
@AuthIgnore
...
...
server-service/src/main/java/com/makeit/dto/platform/alarm/PlatCallingDeviceDTO.java
0 → 100644
View file @
d72bd5bd
package
com
.
makeit
.
dto
.
platform
.
alarm
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
@Data
@ApiModel
(
value
=
"呼叫设备RTM"
,
description
=
"呼叫设备RTM"
)
public
class
PlatCallingDeviceDTO
{
private
String
id
;
private
String
userId
;
}
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderCoordinateRecord.java
View file @
d72bd5bd
...
...
@@ -48,8 +48,8 @@ public class PlatElderCoordinateRecord extends BaseBusEntity {
@ApiModelProperty
(
value
=
"跌倒设备轨迹"
)
private
String
track
;
@ApiModelProperty
(
value
=
"
跌倒设备轨迹
"
)
private
Integer
reportTime
;
@ApiModelProperty
(
value
=
"
上报时间
"
)
private
Long
reportTime
;
}
server-service/src/main/java/com/makeit/service/platform/alarm/PlatAlarmRecordService.java
View file @
d72bd5bd
...
...
@@ -6,6 +6,7 @@ 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
;
...
...
@@ -71,5 +72,5 @@ public interface PlatAlarmRecordService extends IService<PlatAlarmRecord> {
PlatAlarmCallDeviceVO
callingDevice
();
PlatAlarmCallDeviceVO
callingDeviceAuthIgnoreRtm
(
String
id
)
throws
Exception
;
PlatAlarmCallDeviceVO
callingDeviceAuthIgnoreRtm
(
PlatCallingDeviceDTO
id
)
;
}
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
View file @
d72bd5bd
...
...
@@ -16,6 +16,7 @@ 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
;
...
...
@@ -35,6 +36,7 @@ import com.makeit.service.platform.alarm.PlatAlarmConfigService;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.service.platform.auth.PlatOrgService
;
import
com.makeit.service.platform.auth.PlatUserService
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.service.platform.elder.PlatElderChildrenInfoService
;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.service.platform.space.PlatRegionSettingService
;
...
...
@@ -42,7 +44,6 @@ 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.media.RtcTokenBuilder2
;
import
com.makeit.shengwang.agora.rtm.RtmTokenBuilder
;
import
com.makeit.shengwang.agora.rtm.RtmTokenBuilder2
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.PageUtil
;
...
...
@@ -60,12 +61,15 @@ import lombok.extern.slf4j.Slf4j;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
...
...
@@ -79,6 +83,8 @@ import java.util.stream.Collectors;
@Slf4j
public
class
PlatAlarmRecordServiceImpl
extends
ServiceImpl
<
PlatAlarmRecordMapper
,
PlatAlarmRecord
>
implements
PlatAlarmRecordService
{
public
static
final
String
REDIS_DEVICE_CALL
=
"device::call"
;
@Autowired
private
PlatAlarmConfigService
platAlarmConfigService
;
...
...
@@ -104,7 +110,11 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
@Autowired
private
PlatOrgService
platOrgService
;
@Autowired
private
PlatDeviceService
platDeviceService
;
@Autowired
private
ShengwangProperties
shengwangProperties
;
@Autowired
private
StringRedisTemplate
redisTemplate
;
@Override
...
...
@@ -590,17 +600,30 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
}
@Override
public
PlatAlarmCallDeviceVO
callingDeviceAuthIgnoreRtm
(
String
id
)
throws
Exception
{
RtmTokenBuilder2
token
=
new
RtmTokenBuilder2
(
);
RtmTokenBuilder
token2
=
new
RtmTokenBuilder
();
String
result2
=
token2
.
buildToken
(
shengwangProperties
.
getAppId
(),
shengwangProperties
.
getAppCertificate
(),
"0"
,
RtmTokenBuilder
.
Role
.
Rtm_User
,
shengwangProperties
.
getTokenExpirationInSeconds
()
);
//String result = token.buildToken(shengwangProperties.getAppId(), shengwangProperties.getAppCertificate(), id, shengwangProperties.getTokenExpirationInSeconds());
public
PlatAlarmCallDeviceVO
callingDeviceAuthIgnoreRtm
(
PlatCallingDeviceDTO
dto
)
{
String
redisResult
=
redisTemplate
.
opsForValue
().
get
(
REDIS_DEVICE_CALL
+
dto
.
getUserId
()
);
if
(
StringUtils
.
isNotEmpty
(
redisResult
))
{
return
JSON
.
parseObject
(
redisResult
,
PlatAlarmCallDeviceVO
.
class
);
}
PlatAlarmCallDeviceVO
platAlarmCallDeviceVO
=
new
PlatAlarmCallDeviceVO
();
PlatAlarmRecord
platAlarmRecord
=
getById
(
dto
.
getId
());
if
(
platAlarmRecord
==
null
)
{
throw
new
RuntimeException
(
"告警记录为空:"
+
dto
.
getId
());
}
String
deviceId
=
platAlarmRecord
.
getDeviceId
();
PlatDevice
platDevice
=
platDeviceService
.
getById
(
deviceId
);
platAlarmCallDeviceVO
.
setDeviceId
(
platDevice
.
getOriDeviceId
());
platAlarmCallDeviceVO
.
setUserId
(
dto
.
getUserId
());
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
=
now
.
format
(
dateTimeFormatter
);
platAlarmCallDeviceVO
.
setAccessToken
(
result
2
);
platAlarmCallDeviceVO
.
setAccessToken
(
result
);
platAlarmCallDeviceVO
.
setChannelName
(
format
);
platAlarmCallDeviceVO
.
setChannelName
(
shengwangProperties
.
getAppId
());
redisTemplate
.
opsForValue
().
set
(
REDIS_DEVICE_CALL
+
dto
.
getUserId
(),
JSON
.
toJSONString
(
platAlarmCallDeviceVO
),
shengwangProperties
.
getTokenExpirationInSeconds
(),
TimeUnit
.
SECONDS
);
return
platAlarmCallDeviceVO
;
}
}
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderCoordinateRecordServiceImpl.java
View file @
d72bd5bd
package
com
.
makeit
.
service
.
platform
.
elder
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.makeit.common.entity.BaseEntity
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.entity.platform.elder.PlatElderCoordinateRecord
;
import
com.makeit.entity.platform.space.PlatRegionSetting
;
import
com.makeit.entity.platform.space.PlatRegionSettingFix
;
import
com.makeit.mapper.platform.elder.PlatElderCoordinateRecordMapper
;
import
com.makeit.service.platform.elder.PlatElderCoordinateRecordService
;
import
com.makeit.service.platform.elder.PlatElderDayReportDayService
;
import
com.makeit.service.platform.elder.PlatElderRealTimeService
;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.service.platform.space.PlatRegionSettingFixService
;
import
com.makeit.service.platform.space.PlatRegionSettingService
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
com.makeit.utils.time.LocalDateTimeUtils
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.Map
;
/**
* <p>
...
...
@@ -42,6 +48,8 @@ public class PlatElderCoordinateRecordServiceImpl extends ServiceImpl<PlatElderC
@Autowired
private
PlatRegionSettingFixService
platRegionSettingFixService
;
@Autowired
private
PlatRegionSettingService
platRegionSettingService
;
@Autowired
private
PlatElderRealTimeService
platElderRealTimeService
;
@Override
...
...
@@ -56,14 +64,32 @@ public class PlatElderCoordinateRecordServiceImpl extends ServiceImpl<PlatElderC
if
(
CollectionUtils
.
isEmpty
(
elderList
))
{
return
;
}
List
<
String
>
elderIdList
=
StreamUtil
.
map
(
elderList
,
BaseEntity:
:
getId
);
PlatElderCoordinateRecord
platElderCoordinateRecord
;
PlatRegionSettingFix
platRegionSettingFix
;
List
<
PlatRegionSetting
>
platRegionSettingList
=
platRegionSettingService
.
list
(
new
QueryWrapper
<>());
Map
<
String
,
PlatRegionSetting
>
platRegionSettingMap
=
StreamUtil
.
toMap
(
platRegionSettingList
,
PlatRegionSetting:
:
getRoomId
);
for
(
PlatElder
platElder
:
elderList
)
{
PlatDevice
platDevice
=
platElderRealTimeService
.
getBreathDevice
(
platElder
.
getId
(),
null
);
List
<
PlatElderCoordinateVO
>
elderCoordinateVOList
=
platElderDayReportDayService
.
coordinateList
(
platElder
.
getId
(),
null
,
datStart
,
dayEnd
);
for
(
PlatElderCoordinateVO
vo
:
elderCoordinateVOList
)
{
platElderCoordinateRecord
=
new
PlatElderCoordinateRecord
();
BeanUtils
.
copyProperties
(
vo
,
platElderCoordinateRecord
);
platElderCoordinateRecord
.
setTrack
(
JSON
.
toJSONString
(
vo
.
getTrack
()));
platElderCoordinateRecord
.
setReportTime
(
vo
.
getTimestamp
());
platElderCoordinateRecord
.
setIotDeviceId
(
vo
.
getOriDeviceId
());
platElderCoordinateRecord
.
setDeviceId
(
vo
.
getDeviceId
());
platElderCoordinateRecord
.
setElderId
(
platElder
.
getId
());
platElderCoordinateRecord
.
setTenantId
(
platElder
.
getTenantId
());
save
(
platElderCoordinateRecord
);
}
PlatRegionSetting
platRegionSetting
=
platRegionSettingMap
.
get
(
platElder
.
getRoomId
());
if
(
platRegionSetting
!=
null
)
{
platRegionSettingFix
=
new
PlatRegionSettingFix
();
BeanUtils
.
copyProperties
(
platRegionSetting
,
platRegionSettingFix
);
platRegionSettingFix
.
setElderId
(
platElder
.
getId
());
platRegionSettingFix
.
setHappenDate
(
yesDate
.
toString
());
platRegionSettingFixService
.
save
(
platRegionSettingFix
);
}
}
}
}
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportDayServiceImpl.java
View file @
d72bd5bd
...
...
@@ -434,7 +434,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
// vo.setX(new BigDecimal(i.getProperties().getDistance()).multiply(new BigDecimal(Math.cos(i.getProperties().getAngle()) + "")).setScale(2, RoundingMode.HALF_UP));
// vo.setY(new BigDecimal(i.getProperties().getDistance()).multiply(new BigDecimal(Math.sin(i.getProperties().getAngle()) + "")).setScale(2, RoundingMode.HALF_UP));
vo
.
setTimestamp
(
i
.
getTimestamp
());
vo
.
setDistance
(
i
.
getProperties
().
getDistance
());
vo
.
setAngle
(
i
.
getProperties
().
getAngle
());
vo
.
setType
(
1
);
...
...
@@ -455,7 +455,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
voList
.
addAll
(
StreamUtil
.
map
(
fallList
,
i
->
{
PlatElderCoordinateVO
vo
=
new
PlatElderCoordinateVO
();
vo
.
setTimestamp
(
i
.
getTimestamp
());
vo
.
setTrack
(
i
.
getProperties
().
getTrack
());
vo
.
setDeviceId
(
e
.
getId
());
vo
.
setType
(
2
);
...
...
server-service/src/main/java/com/makeit/task/PlatElderReportTask.java
View file @
d72bd5bd
...
...
@@ -33,12 +33,12 @@ public class PlatElderReportTask {
log
.
info
(
"生成长者每日呼吸,异常情况结束"
);
}
// @Scheduled(cron = "0
0 1 * * ?")
@Scheduled
(
cron
=
"0 3
0 1 * * ?"
)
@TenantIdIgnore
public
void
coordinateRecordTask
()
{
log
.
info
(
"开始生成长者每日
呼吸,异常情况
"
);
log
.
info
(
"开始生成长者每日
实时定位
"
);
platElderCoordinateRecordService
.
coordinateRecordTask
();
log
.
info
(
"生成长者每日
呼吸,异常情况
结束"
);
log
.
info
(
"生成长者每日
实时定位
结束"
);
}
...
...
server-service/src/main/java/com/makeit/vo/platform/alarm/PlatAlarmCallDeviceVO.java
View file @
d72bd5bd
...
...
@@ -9,4 +9,9 @@ public class PlatAlarmCallDeviceVO {
private
String
accessToken
;
private
String
channelName
;
private
String
userId
;
private
String
deviceId
;
private
String
appId
;
}
server-service/src/main/java/com/makeit/vo/platform/elder/realtime/PlatElderCoordinateVO.java
View file @
d72bd5bd
...
...
@@ -25,6 +25,8 @@ public class PlatElderCoordinateVO {
private
Integer
angle
;
@ApiModelProperty
(
"安装方式"
)
private
Integer
mount
;
@ApiModelProperty
(
"上报时间"
)
private
Long
timestamp
;
@ApiModelProperty
(
"跌倒设备轨迹"
)
private
List
<
Integer
>
track
;
...
...
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