Commit 045d8f40 by huangjy

fix:声网相关接口

parent 6fcd2444
Showing with 263 additions and 23 deletions
ALTER TABLE `plat_device_other` ALTER TABLE `plat_device_other`
...@@ -25,3 +25,8 @@ ALTER TABLE `sys_api_secret` ...@@ -25,3 +25,8 @@ ALTER TABLE `sys_api_secret`
ALTER TABLE `dev_iot_yanglao_platform`.`plat_device_other` ALTER TABLE `dev_iot_yanglao_platform`.`plat_device_other`
ADD COLUMN `uuid` varchar(255) COMMENT '设备uuid' AFTER `secure_key`; 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
...@@ -14,6 +14,9 @@ public class ShengwangProperties { ...@@ -14,6 +14,9 @@ public class ShengwangProperties {
private String channelName; private String channelName;
private String account; private String account;
private String uid; private String uid;
private String pid;
private String customerKey;
private String customerSecret;
private int tokenExpirationInSeconds; private int tokenExpirationInSeconds;
private int privilegeExpirationInSeconds; private int privilegeExpirationInSeconds;
......
package com.makeit.dto.platform.alarm; package com.makeit.shengwang.agora.dto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import lombok.Data; import lombok.Data;
......
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;
}
}
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;
}
}
package com.makeit.vo.platform.alarm; package com.makeit.shengwang.agora.vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import lombok.Data; import lombok.Data;
......
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);
}
}
...@@ -7,11 +7,11 @@ import com.makeit.common.page.PageVO; ...@@ -7,11 +7,11 @@ import com.makeit.common.page.PageVO;
import com.makeit.common.response.ApiResponseEntity; import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils; import com.makeit.common.response.ApiResponseUtils;
import com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO; import com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO;
import com.makeit.dto.platform.alarm.PlatCallingDeviceDTO;
import com.makeit.global.annotation.AuthIgnore; import com.makeit.global.annotation.AuthIgnore;
import com.makeit.global.aspect.tenant.TenantIdIgnore; import com.makeit.global.aspect.tenant.TenantIdIgnore;
import com.makeit.service.platform.alarm.PlatAlarmRecordService; 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 com.makeit.vo.platform.alarm.PlatAlarmRecordVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
......
...@@ -17,7 +17,8 @@ import com.makeit.global.annotation.AuthIgnore; ...@@ -17,7 +17,8 @@ import com.makeit.global.annotation.AuthIgnore;
import com.makeit.global.aspect.tenant.TenantIdIgnore; import com.makeit.global.aspect.tenant.TenantIdIgnore;
import com.makeit.module.iot.vo.DeviceProperties; import com.makeit.module.iot.vo.DeviceProperties;
import com.makeit.service.platform.device.PlatDeviceService; 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.PlatDeviceListVO;
import com.makeit.vo.platform.device.PlatDeviceViewVO; import com.makeit.vo.platform.device.PlatDeviceViewVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -106,5 +107,23 @@ public class PlatDeviceController { ...@@ -106,5 +107,23 @@ public class PlatDeviceController {
platDeviceService.batchEditProperties(dto); platDeviceService.batchEditProperties(dto);
return ApiResponseUtils.success(); 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));
}
} }
...@@ -73,6 +73,10 @@ public class PlatDevice extends BaseBusEntity { ...@@ -73,6 +73,10 @@ public class PlatDevice extends BaseBusEntity {
@ApiModelProperty(value = "组织路径") @ApiModelProperty(value = "组织路径")
private String orgPath; private String orgPath;
@ApiModelProperty(value = "许可证")
private String deviceLicense;
@ApiModelProperty(value = "许可证信息")
private String licenseInfo;
@ApiModelProperty(value = "设备类型 0-呼吸心率雷达 1-空间人体雷达 2-跌倒检测雷达") @ApiModelProperty(value = "设备类型 0-呼吸心率雷达 1-空间人体雷达 2-跌倒检测雷达")
private String category; private String category;
......
...@@ -6,11 +6,11 @@ import com.makeit.common.page.PageReqDTO; ...@@ -6,11 +6,11 @@ import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO; import com.makeit.common.page.PageVO;
import com.makeit.dto.platform.alarm.PlatAlarmCheckDTO; import com.makeit.dto.platform.alarm.PlatAlarmCheckDTO;
import com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO; 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.PlatAlarmConfig;
import com.makeit.entity.platform.alarm.PlatAlarmRecord; import com.makeit.entity.platform.alarm.PlatAlarmRecord;
import com.makeit.entity.platform.elder.PlatElder; 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; import com.makeit.vo.platform.alarm.PlatAlarmRecordVO;
/** /**
......
...@@ -16,7 +16,6 @@ import com.makeit.common.page.PageVO; ...@@ -16,7 +16,6 @@ import com.makeit.common.page.PageVO;
import com.makeit.config.ShengwangProperties; import com.makeit.config.ShengwangProperties;
import com.makeit.dto.platform.alarm.PlatAlarmCheckDTO; import com.makeit.dto.platform.alarm.PlatAlarmCheckDTO;
import com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO; 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.PlatAlarmConfig;
import com.makeit.entity.platform.alarm.PlatAlarmRecord; import com.makeit.entity.platform.alarm.PlatAlarmRecord;
import com.makeit.entity.platform.auth.PlatOrg; import com.makeit.entity.platform.auth.PlatOrg;
...@@ -43,8 +42,11 @@ import com.makeit.service.platform.space.PlatRegionSettingService; ...@@ -43,8 +42,11 @@ import com.makeit.service.platform.space.PlatRegionSettingService;
import com.makeit.service.platform.space.PlatRoomBedDeviceService; import com.makeit.service.platform.space.PlatRoomBedDeviceService;
import com.makeit.service.platform.space.PlatRoomService; import com.makeit.service.platform.space.PlatRoomService;
import com.makeit.service.saas.PlatTenantService; 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.media.RtcTokenBuilder2;
import com.makeit.shengwang.agora.rtm.RtmTokenBuilder2; 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.BeanDtoVoUtils;
import com.makeit.utils.data.convert.PageUtil; import com.makeit.utils.data.convert.PageUtil;
import com.makeit.utils.data.convert.StreamUtil; import com.makeit.utils.data.convert.StreamUtil;
...@@ -55,7 +57,6 @@ import com.makeit.utils.sql.join.JoinUtil; ...@@ -55,7 +57,6 @@ import com.makeit.utils.sql.join.JoinUtil;
import com.makeit.utils.user.common.CommonUserUtil; import com.makeit.utils.user.common.CommonUserUtil;
import com.makeit.utils.user.common.CommonUserVO; import com.makeit.utils.user.common.CommonUserVO;
import com.makeit.utils.user.wechat.WechatUserUtil; import com.makeit.utils.user.wechat.WechatUserUtil;
import com.makeit.vo.platform.alarm.PlatAlarmCallDeviceVO;
import com.makeit.vo.platform.alarm.PlatAlarmRecordVO; import com.makeit.vo.platform.alarm.PlatAlarmRecordVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
...@@ -83,7 +84,6 @@ import java.util.stream.Collectors; ...@@ -83,7 +84,6 @@ import java.util.stream.Collectors;
public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMapper, PlatAlarmRecord> public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMapper, PlatAlarmRecord>
implements PlatAlarmRecordService { implements PlatAlarmRecordService {
public static final String REDIS_DEVICE_CALL = "device::call";
@Autowired @Autowired
private PlatAlarmConfigService platAlarmConfigService; private PlatAlarmConfigService platAlarmConfigService;
...@@ -113,7 +113,7 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe ...@@ -113,7 +113,7 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
@Autowired @Autowired
private ShengwangProperties shengwangProperties; private ShengwangProperties shengwangProperties;
@Autowired @Autowired
private StringRedisTemplate redisTemplate; private ShengwangService shengwangService;
@Override @Override
...@@ -594,7 +594,6 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe ...@@ -594,7 +594,6 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
String deviceId = platAlarmRecord.getDeviceId(); String deviceId = platAlarmRecord.getDeviceId();
PlatDevice platDevice = platDeviceService.getById(deviceId); PlatDevice platDevice = platDeviceService.getById(deviceId);
platAlarmCallDeviceVO.setDeviceId(platDevice.getOriDeviceId()); platAlarmCallDeviceVO.setDeviceId(platDevice.getOriDeviceId());
platAlarmCallDeviceVO.setUserId(dto.getUserId());
platAlarmCallDeviceVO.setAppId(shengwangProperties.getAppId()); platAlarmCallDeviceVO.setAppId(shengwangProperties.getAppId());
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
...@@ -609,14 +608,6 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe ...@@ -609,14 +608,6 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
@Override @Override
public PlatAlarmCallDeviceVO callingDeviceAuthIgnoreRtm(PlatCallingDeviceDTO dto) { public PlatAlarmCallDeviceVO callingDeviceAuthIgnoreRtm(PlatCallingDeviceDTO dto) {
PlatAlarmCallDeviceVO platAlarmCallDeviceVO = new PlatAlarmCallDeviceVO(); return shengwangService.callingDeviceAuthIgnoreRtm(dto);
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;
} }
} }
...@@ -2,6 +2,7 @@ package com.makeit.service.platform.device; ...@@ -2,6 +2,7 @@ package com.makeit.service.platform.device;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.common.dto.BaseIdDTO;
import com.makeit.common.page.PageReqDTO; import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO; import com.makeit.common.page.PageVO;
import com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO; import com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO;
...@@ -10,6 +11,8 @@ import com.makeit.dto.saas.device.PlatDeviceEditSaasDTO; ...@@ -10,6 +11,8 @@ import com.makeit.dto.saas.device.PlatDeviceEditSaasDTO;
import com.makeit.dto.wechat.device.*; import com.makeit.dto.wechat.device.*;
import com.makeit.entity.platform.device.PlatDevice; import com.makeit.entity.platform.device.PlatDevice;
import com.makeit.module.iot.vo.DeviceProperties; 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.PlatChildDeviceListVO;
import com.makeit.vo.platform.device.PlatDeviceListVO; import com.makeit.vo.platform.device.PlatDeviceListVO;
import com.makeit.vo.platform.device.PlatDeviceViewVO; import com.makeit.vo.platform.device.PlatDeviceViewVO;
...@@ -79,4 +82,8 @@ public interface PlatDeviceService extends IService<PlatDevice> { ...@@ -79,4 +82,8 @@ public interface PlatDeviceService extends IService<PlatDevice> {
void modifyWifiInfo(PlatDeviceSetupDTO dto); void modifyWifiInfo(PlatDeviceSetupDTO dto);
void bindOrg(PlatDeviceBindOrgDTO platDeviceBindOrgDTO); void bindOrg(PlatDeviceBindOrgDTO platDeviceBindOrgDTO);
void active(BaseIdDTO dto);
PlatAlarmCallDeviceVO getDeviceRtmToken(PlatCallingDeviceDTO dto);
} }
...@@ -9,17 +9,18 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -9,17 +9,18 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import com.makeit.common.dto.BaseIdDTO;
import com.makeit.common.dto.BaseTenantDTO; import com.makeit.common.dto.BaseTenantDTO;
import com.makeit.common.entity.BaseBusEntity; import com.makeit.common.entity.BaseBusEntity;
import com.makeit.common.entity.BaseEntity; import com.makeit.common.entity.BaseEntity;
import com.makeit.common.page.PageReqDTO; import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO; import com.makeit.common.page.PageVO;
import com.makeit.common.response.ApiResponseEntity;
import com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO; import com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO;
import com.makeit.dto.platform.device.*; import com.makeit.dto.platform.device.*;
import com.makeit.dto.saas.device.PlatDeviceEditSaasDTO; import com.makeit.dto.saas.device.PlatDeviceEditSaasDTO;
import com.makeit.dto.wechat.device.*; import com.makeit.dto.wechat.device.*;
import com.makeit.entity.platform.auth.PlatOrg; 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.PlatDevice;
import com.makeit.entity.platform.device.PlatDeviceOther; import com.makeit.entity.platform.device.PlatDeviceOther;
import com.makeit.entity.platform.elder.PlatElder; import com.makeit.entity.platform.elder.PlatElder;
...@@ -51,6 +52,10 @@ import com.makeit.service.platform.space.PlatRegionSettingService; ...@@ -51,6 +52,10 @@ import com.makeit.service.platform.space.PlatRegionSettingService;
import com.makeit.service.platform.space.PlatRoomBedDeviceService; import com.makeit.service.platform.space.PlatRoomBedDeviceService;
import com.makeit.service.platform.space.PlatSpaceService; import com.makeit.service.platform.space.PlatSpaceService;
import com.makeit.service.saas.PlatTenantService; 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.DeviceCacheUtil;
import com.makeit.utils.data.convert.BeanDtoVoUtils; import com.makeit.utils.data.convert.BeanDtoVoUtils;
import com.makeit.utils.data.convert.JsonUtil; import com.makeit.utils.data.convert.JsonUtil;
...@@ -60,6 +65,7 @@ import com.makeit.utils.old.StringUtils; ...@@ -60,6 +65,7 @@ import com.makeit.utils.old.StringUtils;
import com.makeit.utils.request.RequestUtil; import com.makeit.utils.request.RequestUtil;
import com.makeit.utils.sql.join.JoinUtil; import com.makeit.utils.sql.join.JoinUtil;
import com.makeit.vo.platform.device.PlatChildDeviceListVO; 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.PlatDeviceListVO;
import com.makeit.vo.platform.device.PlatDeviceViewVO; import com.makeit.vo.platform.device.PlatDeviceViewVO;
import lombok.Data; import lombok.Data;
...@@ -114,6 +120,10 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev ...@@ -114,6 +120,10 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
private SysDictionaryCategoryService sysDictionaryCategoryService; private SysDictionaryCategoryService sysDictionaryCategoryService;
@Autowired @Autowired
private PlatRoomBedDeviceService platRoomBedDeviceService; private PlatRoomBedDeviceService platRoomBedDeviceService;
@Autowired
private ShengwangHttpUtil shengwangHttpUtil;
@Autowired
private ShengwangService shengwangService;
@Override @Override
public PageVO<PlatDeviceListVO> page(PageReqDTO<PlatDeviceQueryDTO> pageReqDTO) { public PageVO<PlatDeviceListVO> page(PageReqDTO<PlatDeviceQueryDTO> pageReqDTO) {
...@@ -721,4 +731,34 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev ...@@ -721,4 +731,34 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
.set(PlatDevice::getOrgId,dto.getOrgId()) .set(PlatDevice::getOrgId,dto.getOrgId())
.in(CollectionUtils.isNotEmpty(dto.getIdList()),BaseEntity::getId,dto.getIdList())); .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);
}
} }
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;
}
}
...@@ -156,6 +156,9 @@ shengwang: ...@@ -156,6 +156,9 @@ shengwang:
uid: 0 uid: 0
tokenExpirationInSeconds: 3600 tokenExpirationInSeconds: 3600
privilegeExpirationInSeconds: 3600 privilegeExpirationInSeconds: 3600
customerKey: b3b5f44e536a4fc191358926c6716b7b
customerSecret: bd81828a133140a58dfb04e9d80eba43
pid: 9851781E9E31453DA3C572A4A4AF9402
......
...@@ -153,4 +153,7 @@ shengwang: ...@@ -153,4 +153,7 @@ shengwang:
uid: 0 uid: 0
tokenExpirationInSeconds: 3600 tokenExpirationInSeconds: 3600
privilegeExpirationInSeconds: 3600 privilegeExpirationInSeconds: 3600
customerKey: b3b5f44e536a4fc191358926c6716b7b
customerSecret: bd81828a133140a58dfb04e9d80eba43
pid: 9851781E9E31453DA3C572A4A4AF9402
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