Commit d72bd5bd by huangjy

fix:声网token

parent c60328ab
......@@ -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
......
......@@ -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
......
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;
}
......@@ -48,8 +48,8 @@ public class PlatElderCoordinateRecord extends BaseBusEntity {
@ApiModelProperty(value = "跌倒设备轨迹")
private String track;
@ApiModelProperty(value = "跌倒设备轨迹")
private Integer reportTime;
@ApiModelProperty(value = "上报时间")
private Long reportTime;
}
......@@ -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);
}
......@@ -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(result2);
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;
}
}
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);
}
}
}
}
......@@ -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);
......
......@@ -33,12 +33,12 @@ public class PlatElderReportTask {
log.info("生成长者每日呼吸,异常情况结束");
}
// @Scheduled(cron = "0 0 1 * * ?")
@Scheduled(cron = "0 30 1 * * ?")
@TenantIdIgnore
public void coordinateRecordTask() {
log.info("开始生成长者每日呼吸,异常情况");
log.info("开始生成长者每日实时定位");
platElderCoordinateRecordService.coordinateRecordTask();
log.info("生成长者每日呼吸,异常情况结束");
log.info("生成长者每日实时定位结束");
}
......
......@@ -9,4 +9,9 @@ public class PlatAlarmCallDeviceVO {
private String accessToken;
private String channelName;
private String userId;
private String deviceId;
private String appId;
}
......@@ -25,6 +25,8 @@ public class PlatElderCoordinateVO {
private Integer angle;
@ApiModelProperty("安装方式")
private Integer mount;
@ApiModelProperty("上报时间")
private Long timestamp;
@ApiModelProperty("跌倒设备轨迹")
private List<Integer> track;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment