提交diamagnetic
parent
752daf1d28
commit
7c4c765124
|
@ -1,5 +1,7 @@
|
||||||
package com.ruoyi.api.labour.controller;
|
package com.ruoyi.api.labour.controller;
|
||||||
|
|
||||||
|
import cn.hutool.http.HttpUtil;
|
||||||
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.ruoyi.api.base.PubTokenReqVo;
|
import com.ruoyi.api.base.PubTokenReqVo;
|
||||||
import com.ruoyi.api.labour.domain.AiBoxApiReqVo;
|
import com.ruoyi.api.labour.domain.AiBoxApiReqVo;
|
||||||
import com.ruoyi.common.annotation.Anonymous;
|
import com.ruoyi.common.annotation.Anonymous;
|
||||||
|
@ -16,6 +18,7 @@ import com.ruoyi.common.enums.*;
|
||||||
import com.ruoyi.common.exception.ServiceException;
|
import com.ruoyi.common.exception.ServiceException;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
|
import com.ruoyi.common.utils.sign.Md5Utils;
|
||||||
import com.ruoyi.framework.web.service.SysLoginService;
|
import com.ruoyi.framework.web.service.SysLoginService;
|
||||||
import com.ruoyi.system.domain.SysApplyConfig;
|
import com.ruoyi.system.domain.SysApplyConfig;
|
||||||
import com.ruoyi.system.service.ISysUserService;
|
import com.ruoyi.system.service.ISysUserService;
|
||||||
|
@ -170,4 +173,27 @@ public class AiBoxApiController extends BaseController {
|
||||||
}
|
}
|
||||||
return getDataTable(list);
|
return getDataTable(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static final String baseUrl = "http://localhost:8090/jhapi";
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
String appId = "jhcf17140956314490N6VSHsPjx008";
|
||||||
|
String AppSecret = "xx+UsVJ9cIJ8PTWpWU5GcNx+x+chJBQIDAQAB";
|
||||||
|
Long time = System.currentTimeMillis();
|
||||||
|
String sign = Md5Utils.hash(appId+AppSecret+time);
|
||||||
|
System.out.println(time);
|
||||||
|
System.out.println(sign);
|
||||||
|
String url = baseUrl + "/api/aiboxs/v1/getToken";
|
||||||
|
Map<String, Object> body = new HashMap<>();
|
||||||
|
body.put("appId",appId);
|
||||||
|
body.put("sign",sign);
|
||||||
|
body.put("timestamp",time);
|
||||||
|
String result = HttpUtil.post(url, body);
|
||||||
|
JSONObject jsonObject = JSONObject.parseObject(result);
|
||||||
|
if(jsonObject.getInteger("code")==200){
|
||||||
|
// 获取到存入redis,设置30分钟有效期
|
||||||
|
String token = jsonObject.getString("Authorization");
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,6 +52,11 @@ public class CacheConstants
|
||||||
*/
|
*/
|
||||||
public static final String YANZHU_DEVICE_TOWER = "device.tower_cfg:";
|
public static final String YANZHU_DEVICE_TOWER = "device.tower_cfg:";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* yanzhu设备塔吊检测 redis key
|
||||||
|
*/
|
||||||
|
public static final String YANZHU_DEVICE_AI = "device.aibox_cfg:";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 微信公众号模板消息 redis key
|
* 微信公众号模板消息 redis key
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -6,6 +6,7 @@ import com.ruoyi.common.annotation.RateLimiter;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.enums.LimitType;
|
import com.ruoyi.common.enums.LimitType;
|
||||||
import com.yanzhu.jh.video.domain.DevAiProjectDataVO;
|
import com.yanzhu.jh.video.domain.DevAiProjectDataVO;
|
||||||
|
import com.yanzhu.jh.video.domain.DevBwAiProjectDataVo;
|
||||||
import com.yanzhu.jh.video.service.IDevAiProjectDataService;
|
import com.yanzhu.jh.video.service.IDevAiProjectDataService;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -34,11 +35,11 @@ public class AIBoxController extends BaseController {
|
||||||
private static final Logger logger = LoggerFactory.getLogger("AIBoxController");
|
private static final Logger logger = LoggerFactory.getLogger("AIBoxController");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* aibox推送预警数据
|
* aibox推送预警数据【博观】
|
||||||
*/
|
*/
|
||||||
@PostMapping("/v1/push")
|
@PostMapping("/v1/push")
|
||||||
@RateLimiter(count = 10, limitType = LimitType.IP)
|
@RateLimiter(count = 10, limitType = LimitType.IP)
|
||||||
public void push(@RequestBody Map<String,Object> dataMap)
|
public void boGuanPush(@RequestBody Map<String,Object> dataMap)
|
||||||
{
|
{
|
||||||
try{
|
try{
|
||||||
List<Map<String,Object>> list = (List<Map<String,Object>>)dataMap.get("BehaviorResults");
|
List<Map<String,Object>> list = (List<Map<String,Object>>)dataMap.get("BehaviorResults");
|
||||||
|
@ -46,10 +47,24 @@ public class AIBoxController extends BaseController {
|
||||||
devAiProjectDataService.insertHttpDevAiProjectData(devAiProjectDataVO);
|
devAiProjectDataService.insertHttpDevAiProjectData(devAiProjectDataVO);
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
logger.info("AiBox解析参数失败!!!");
|
logger.info("AiBox解析参数失败!!!");
|
||||||
logger.info(dataMap.toString());
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* aibox推送预警数据【博瓦】
|
||||||
|
*/
|
||||||
|
@PostMapping("/v2/push")
|
||||||
|
public void boWaPush(@RequestBody DevBwAiProjectDataVo data)
|
||||||
|
{
|
||||||
|
try{
|
||||||
|
logger.info("BOWAN...{}");
|
||||||
|
devAiProjectDataService.insertHttpBwDevAiProjectData(data);
|
||||||
|
}catch (Exception e){
|
||||||
|
logger.info("BW...AiBox解析参数失败!!!");
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
package com.yanzhu.jh.video.domain;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 博瓦盒子数据集
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DevBwAiProjectDataVo {
|
||||||
|
|
||||||
|
private String device_sn;
|
||||||
|
private String device_version;
|
||||||
|
private String date;
|
||||||
|
private Long timestamp;
|
||||||
|
private String label;
|
||||||
|
private String alias;
|
||||||
|
private String count;
|
||||||
|
private String img;
|
||||||
|
private Map<String, Object> extend;
|
||||||
|
|
||||||
|
}
|
|
@ -11,6 +11,12 @@ import com.yanzhu.jh.video.domain.DevAiProjectConfig;
|
||||||
*/
|
*/
|
||||||
public interface IDevAiProjectConfigService
|
public interface IDevAiProjectConfigService
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 加载注册设备
|
||||||
|
*/
|
||||||
|
public void loadingDevAiConfigCache();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询设备配置
|
* 查询设备配置
|
||||||
*
|
*
|
||||||
|
|
|
@ -5,6 +5,7 @@ import java.util.Map;
|
||||||
|
|
||||||
import com.yanzhu.jh.video.domain.DevAiProjectData;
|
import com.yanzhu.jh.video.domain.DevAiProjectData;
|
||||||
import com.yanzhu.jh.video.domain.DevAiProjectDataVO;
|
import com.yanzhu.jh.video.domain.DevAiProjectDataVO;
|
||||||
|
import com.yanzhu.jh.video.domain.DevBwAiProjectDataVo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备数据Service接口
|
* 设备数据Service接口
|
||||||
|
@ -46,6 +47,14 @@ public interface IDevAiProjectDataService
|
||||||
*/
|
*/
|
||||||
public void insertHttpDevAiProjectData(DevAiProjectDataVO devAiProjectDataVO);
|
public void insertHttpDevAiProjectData(DevAiProjectDataVO devAiProjectDataVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增设备数据
|
||||||
|
*
|
||||||
|
* @param devBwAiProjectDataVo 设备数据
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public void insertHttpBwDevAiProjectData(DevBwAiProjectDataVo devBwAiProjectDataVo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改设备数据
|
* 修改设备数据
|
||||||
*
|
*
|
||||||
|
|
|
@ -3,8 +3,11 @@ package com.yanzhu.jh.video.service.impl;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.ruoyi.common.constant.CacheConstants;
|
||||||
|
import com.ruoyi.common.core.redis.RedisCache;
|
||||||
import com.ruoyi.common.enums.PublicStateEnum;
|
import com.ruoyi.common.enums.PublicStateEnum;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -15,6 +18,9 @@ import com.yanzhu.jh.video.mapper.DevAiProjectConfigMapper;
|
||||||
import com.yanzhu.jh.video.domain.DevAiProjectConfig;
|
import com.yanzhu.jh.video.domain.DevAiProjectConfig;
|
||||||
import com.yanzhu.jh.video.service.IDevAiProjectConfigService;
|
import com.yanzhu.jh.video.service.IDevAiProjectConfigService;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备配置Service业务层处理
|
* 设备配置Service业务层处理
|
||||||
*
|
*
|
||||||
|
@ -24,9 +30,35 @@ import com.ruoyi.common.utils.SecurityUtils;
|
||||||
@Service
|
@Service
|
||||||
public class DevAiProjectConfigServiceImpl implements IDevAiProjectConfigService
|
public class DevAiProjectConfigServiceImpl implements IDevAiProjectConfigService
|
||||||
{
|
{
|
||||||
|
@Autowired
|
||||||
|
private RedisCache redisCache;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private DevAiProjectConfigMapper devAiProjectConfigMapper;
|
private DevAiProjectConfigMapper devAiProjectConfigMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目启动时,初始化注册应用到缓存
|
||||||
|
*/
|
||||||
|
@PostConstruct
|
||||||
|
public void init()
|
||||||
|
{
|
||||||
|
loadingDevAiConfigCache();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 加载注册设备
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void loadingDevAiConfigCache()
|
||||||
|
{
|
||||||
|
List<DevAiProjectConfig> configList = devAiProjectConfigMapper.selectDevAiProjectConfigList(new DevAiProjectConfig());
|
||||||
|
if(CollectionUtils.isNotEmpty(configList)){
|
||||||
|
for (DevAiProjectConfig devConfig : configList) {
|
||||||
|
redisCache.setCacheObject(CacheConstants.YANZHU_DEVICE_AI + devConfig.getSerialNumber(), devConfig);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询设备配置
|
* 查询设备配置
|
||||||
*
|
*
|
||||||
|
@ -71,6 +103,9 @@ public class DevAiProjectConfigServiceImpl implements IDevAiProjectConfigService
|
||||||
devAiProjectConfig.setCreateTime(DateUtils.getNowDate());
|
devAiProjectConfig.setCreateTime(DateUtils.getNowDate());
|
||||||
int rows = devAiProjectConfigMapper.insertDevAiProjectConfig(devAiProjectConfig);
|
int rows = devAiProjectConfigMapper.insertDevAiProjectConfig(devAiProjectConfig);
|
||||||
insertDevAiProjectConfigPassage(devAiProjectConfig);
|
insertDevAiProjectConfigPassage(devAiProjectConfig);
|
||||||
|
if(rows>0){
|
||||||
|
this.loadingDevAiConfigCache();
|
||||||
|
}
|
||||||
return rows;
|
return rows;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,7 +123,11 @@ public class DevAiProjectConfigServiceImpl implements IDevAiProjectConfigService
|
||||||
devAiProjectConfig.setUpdateTime(DateUtils.getNowDate());
|
devAiProjectConfig.setUpdateTime(DateUtils.getNowDate());
|
||||||
devAiProjectConfigMapper.deleteDevAiProjectConfigPassageByAiboxId(devAiProjectConfig.getId());
|
devAiProjectConfigMapper.deleteDevAiProjectConfigPassageByAiboxId(devAiProjectConfig.getId());
|
||||||
insertDevAiProjectConfigPassage(devAiProjectConfig);
|
insertDevAiProjectConfigPassage(devAiProjectConfig);
|
||||||
return devAiProjectConfigMapper.updateDevAiProjectConfig(devAiProjectConfig);
|
int rows = devAiProjectConfigMapper.updateDevAiProjectConfig(devAiProjectConfig);
|
||||||
|
if(rows>0){
|
||||||
|
this.loadingDevAiConfigCache();
|
||||||
|
}
|
||||||
|
return rows;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -102,7 +141,11 @@ public class DevAiProjectConfigServiceImpl implements IDevAiProjectConfigService
|
||||||
public int deleteDevAiProjectConfigByIds(Long[] ids)
|
public int deleteDevAiProjectConfigByIds(Long[] ids)
|
||||||
{
|
{
|
||||||
devAiProjectConfigMapper.deleteDevAiProjectConfigPassageByAiboxIds(ids);
|
devAiProjectConfigMapper.deleteDevAiProjectConfigPassageByAiboxIds(ids);
|
||||||
return devAiProjectConfigMapper.deleteDevAiProjectConfigByIds(ids);
|
int rows = devAiProjectConfigMapper.deleteDevAiProjectConfigByIds(ids);
|
||||||
|
if(rows>0){
|
||||||
|
this.loadingDevAiConfigCache();
|
||||||
|
}
|
||||||
|
return rows;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -116,7 +159,11 @@ public class DevAiProjectConfigServiceImpl implements IDevAiProjectConfigService
|
||||||
public int deleteDevAiProjectConfigById(Long id)
|
public int deleteDevAiProjectConfigById(Long id)
|
||||||
{
|
{
|
||||||
devAiProjectConfigMapper.deleteDevAiProjectConfigPassageByAiboxId(id);
|
devAiProjectConfigMapper.deleteDevAiProjectConfigPassageByAiboxId(id);
|
||||||
return devAiProjectConfigMapper.deleteDevAiProjectConfigById(id);
|
int rows = devAiProjectConfigMapper.deleteDevAiProjectConfigById(id);
|
||||||
|
if(rows>0){
|
||||||
|
this.loadingDevAiConfigCache();
|
||||||
|
}
|
||||||
|
return rows;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -3,14 +3,20 @@ package com.yanzhu.jh.video.service.impl;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
import com.ruoyi.common.config.RuoYiConfig;
|
import com.ruoyi.common.config.RuoYiConfig;
|
||||||
|
import com.ruoyi.common.constant.CacheConstants;
|
||||||
|
import com.ruoyi.common.core.redis.RedisCache;
|
||||||
|
import com.ruoyi.common.core.text.Convert;
|
||||||
import com.ruoyi.common.enums.PublicStateEnum;
|
import com.ruoyi.common.enums.PublicStateEnum;
|
||||||
|
import com.ruoyi.common.exception.ServiceException;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
import com.ruoyi.common.utils.file.FileUploadUtils;
|
import com.ruoyi.common.utils.file.FileUploadUtils;
|
||||||
import com.ruoyi.common.utils.file.MultipartFileUtils;
|
import com.ruoyi.common.utils.file.MultipartFileUtils;
|
||||||
import com.yanzhu.jh.video.domain.DevAiProjectConfig;
|
import com.yanzhu.jh.video.domain.DevAiProjectConfig;
|
||||||
import com.yanzhu.jh.video.domain.DevAiProjectDataVO;
|
import com.yanzhu.jh.video.domain.DevAiProjectDataVO;
|
||||||
|
import com.yanzhu.jh.video.domain.DevBwAiProjectDataVo;
|
||||||
import com.yanzhu.jh.video.mapper.DevAiProjectConfigMapper;
|
import com.yanzhu.jh.video.mapper.DevAiProjectConfigMapper;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -32,6 +38,9 @@ public class DevAiProjectDataServiceImpl implements IDevAiProjectDataService
|
||||||
{
|
{
|
||||||
private static final Logger logger = LoggerFactory.getLogger("DevAiProjectDataServiceImpl");
|
private static final Logger logger = LoggerFactory.getLogger("DevAiProjectDataServiceImpl");
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RedisCache redisCache;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private DevAiProjectDataMapper devAiProjectDataMapper;
|
private DevAiProjectDataMapper devAiProjectDataMapper;
|
||||||
|
|
||||||
|
@ -84,6 +93,11 @@ public class DevAiProjectDataServiceImpl implements IDevAiProjectDataService
|
||||||
@Override
|
@Override
|
||||||
public void insertHttpDevAiProjectData(DevAiProjectDataVO devAiProjectDataVO)
|
public void insertHttpDevAiProjectData(DevAiProjectDataVO devAiProjectDataVO)
|
||||||
{
|
{
|
||||||
|
//根据设备配置查询设备绑定的项目和单位信息
|
||||||
|
DevAiProjectConfig config = redisCache.getCacheObject(CacheConstants.YANZHU_DEVICE_AI+devAiProjectDataVO.getSerialNumber());
|
||||||
|
if(Objects.isNull(config)){
|
||||||
|
throw new ServiceException("设备信息未注册...");
|
||||||
|
}
|
||||||
logger.info("AiBox消息解析成功!!开始转换实体!!!");
|
logger.info("AiBox消息解析成功!!开始转换实体!!!");
|
||||||
DevAiProjectData devAiProjectData = new DevAiProjectData();
|
DevAiProjectData devAiProjectData = new DevAiProjectData();
|
||||||
devAiProjectData.setDeviceId(devAiProjectDataVO.getDeviceId());
|
devAiProjectData.setDeviceId(devAiProjectDataVO.getDeviceId());
|
||||||
|
@ -150,18 +164,101 @@ public class DevAiProjectDataServiceImpl implements IDevAiProjectDataService
|
||||||
}
|
}
|
||||||
devAiProjectData.setCreateTime(DateUtils.getNowDate());
|
devAiProjectData.setCreateTime(DateUtils.getNowDate());
|
||||||
devAiProjectData.setIsDel(PublicStateEnum.OK.getCode());
|
devAiProjectData.setIsDel(PublicStateEnum.OK.getCode());
|
||||||
//根据设备配置查询设备绑定的项目和单位信息
|
devAiProjectData.setProjectId(config.getProjectId());
|
||||||
DevAiProjectConfig devAiProjectConfig = new DevAiProjectConfig();
|
devAiProjectData.setDeptId(config.getDeptId());
|
||||||
devAiProjectConfig.setSerialNumber(devAiProjectData.getSerialNumber());
|
|
||||||
List<DevAiProjectConfig> devAiProjectConfigList = devAiProjectConfigMapper.selectDevAiProjectConfigList(devAiProjectConfig);
|
|
||||||
if(devAiProjectConfigList!=null && devAiProjectConfigList.size()>0){
|
|
||||||
devAiProjectData.setProjectId(devAiProjectConfigList.get(0).getProjectId());
|
|
||||||
devAiProjectData.setDeptId(devAiProjectConfigList.get(0).getDeptId());
|
|
||||||
}
|
|
||||||
logger.info("新增AI设备数据成功");
|
logger.info("新增AI设备数据成功");
|
||||||
devAiProjectDataMapper.insertDevAiProjectData(devAiProjectData);
|
devAiProjectDataMapper.insertDevAiProjectData(devAiProjectData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增设备数据
|
||||||
|
*
|
||||||
|
* @param devBwAiProjectDataVo 设备数据
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void insertHttpBwDevAiProjectData(DevBwAiProjectDataVo devBwAiProjectDataVo){
|
||||||
|
//根据设备配置查询设备绑定的项目和单位信息
|
||||||
|
DevAiProjectConfig config = redisCache.getCacheObject(CacheConstants.YANZHU_DEVICE_AI+devBwAiProjectDataVo.getDevice_sn());
|
||||||
|
if(Objects.isNull(config)){
|
||||||
|
throw new ServiceException("设备信息未注册...");
|
||||||
|
}
|
||||||
|
Map<String, Object> extendMap = devBwAiProjectDataVo.getExtend();
|
||||||
|
logger.info("AiBox消息解析成功!!开始转换实体!!!");
|
||||||
|
DevAiProjectData devAiProjectData = new DevAiProjectData();
|
||||||
|
devAiProjectData.setDeviceName(config.getDeviceName());
|
||||||
|
/** 设备的序列号 */
|
||||||
|
devAiProjectData.setSerialNumber(devBwAiProjectDataVo.getDevice_sn());
|
||||||
|
/** 相机的序列号 */
|
||||||
|
devAiProjectData.setIpcSerialNum(devBwAiProjectDataVo.getDevice_sn());
|
||||||
|
if(Objects.nonNull(extendMap)){
|
||||||
|
devAiProjectData.setChannelId(Convert.toLong(extendMap.get("ch")));
|
||||||
|
devAiProjectData.setChannelName(Convert.toStr(extendMap.get("source_name")));
|
||||||
|
}
|
||||||
|
/** 报警类型 */
|
||||||
|
String type = this.switchAlarmType(devBwAiProjectDataVo.getLabel());
|
||||||
|
if(!type.equals("-1")){
|
||||||
|
devAiProjectData.setAlarmType(Convert.toLong(type));
|
||||||
|
/** 采集时间 */
|
||||||
|
devAiProjectData.setTimestamp(new Date(devBwAiProjectDataVo.getTimestamp()));
|
||||||
|
logger.info("实体转换成功!!Base64开始转换图片!!!");
|
||||||
|
String objImg64 = devBwAiProjectDataVo.getImg();
|
||||||
|
try {
|
||||||
|
MultipartFile file = MultipartFileUtils.base64ToMultipartFile("data:image/png;base64,"+objImg64);
|
||||||
|
// 上传文件路径
|
||||||
|
String filePath = RuoYiConfig.getUploadPath();
|
||||||
|
// 上传并返回新文件名称
|
||||||
|
String profileFile = FileUploadUtils.upload(filePath, file);
|
||||||
|
devAiProjectData.setImageUrl(profileFile);
|
||||||
|
logger.info("Base64上传图片成功!!!");
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
devAiProjectData.setCreateTime(DateUtils.getNowDate());
|
||||||
|
devAiProjectData.setIsDel(PublicStateEnum.OK.getCode());
|
||||||
|
devAiProjectData.setProjectId(config.getProjectId());
|
||||||
|
devAiProjectData.setDeptId(config.getDeptId());
|
||||||
|
logger.info("新增AI设备数据成功");
|
||||||
|
devAiProjectDataMapper.insertDevAiProjectData(devAiProjectData);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 转换博瓦预警类型
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private String switchAlarmType(String aliasLabel){
|
||||||
|
String alarmType;
|
||||||
|
switch (aliasLabel){
|
||||||
|
case "nohelmet" : alarmType="4";break;
|
||||||
|
case "head" : alarmType="4";break;
|
||||||
|
case "helmet" : alarmType="4";break;
|
||||||
|
case "fire" : alarmType="8";break;
|
||||||
|
case "vest" : alarmType="65";break;
|
||||||
|
case "smoke" : alarmType="7";break;
|
||||||
|
case "smoking" : alarmType="8";break;
|
||||||
|
case "calling" : alarmType="6";break;
|
||||||
|
case "face" : alarmType="face";break;
|
||||||
|
case "mask" : alarmType="mask";break;
|
||||||
|
case "garbage" : alarmType="garbage";break;
|
||||||
|
case "tricycle" : alarmType="tricycle";break;
|
||||||
|
case "person" : alarmType="person";break;
|
||||||
|
case "clothes" : alarmType="65";break;
|
||||||
|
case "down" : alarmType="62";break;
|
||||||
|
case "phone" : alarmType="6";break;
|
||||||
|
case "body" : alarmType="body";break;
|
||||||
|
case "ponding" : alarmType="ponding";break;
|
||||||
|
case "car" : alarmType="car";break;
|
||||||
|
case "bicycle" : alarmType="bicycle";break;
|
||||||
|
case "motorcycle" : alarmType="motorcycle";break;
|
||||||
|
case "bus" : alarmType="bus";break;
|
||||||
|
case "truck" : alarmType="truck";break;
|
||||||
|
case "van" : alarmType="van";break;
|
||||||
|
default : alarmType="0";
|
||||||
|
}
|
||||||
|
return alarmType;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改设备数据
|
* 修改设备数据
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue