塔吊监测API

dev_xd
haha 2025-03-19 23:26:27 +08:00
parent c9432db452
commit 5880a4c36b
6 changed files with 588 additions and 0 deletions

View File

@ -0,0 +1,99 @@
package com.yanzhu.manage.constant;
/**
* key
*
* @author ruoyi
*/
public class CacheConstants
{
/**
* redis key
*/
public static final String LOGIN_TOKEN_KEY = "login_tokens:";
/**
* redis key
*/
public static final String CAPTCHA_CODE_KEY = "captcha_codes:";
/**
* cache key
*/
public static final String SYS_CONFIG_KEY = "sys_config:";
/**
* cache key
*/
public static final String SYS_DICT_KEY = "sys_dict:";
/**
* redis key
*/
public static final String REPEAT_SUBMIT_KEY = "repeat_submit:";
/**
* redis key
*/
public static final String RATE_LIMIT_KEY = "rate_limit:";
/**
* redis key
*/
public static final String PWD_ERR_CNT_KEY = "pwd_err_cnt:";
/**
* yanzhu redis key
*/
public static final String YANZHU_SYSTEM_CONFIG = "yanzhu_system_config:";
/**
* yanzhu redis key
*/
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
*/
public static final String WX_MPMESSAGE_KEY = "wx.mpmessage.key::";
/**
* openId
*/
public static final String WX_MPMESSAGE_OPENID = "wx.mpmessage.openId::";
/**
*
*/
public static final String WX_MPMESSAGE_UNAME = "wx.mpmessage.uname::";
/**
*
*/
public static final String WX_MPMESSAGE_PNAME = "wx.mpmessage.pname::";
/**
*
*/
public static final String WX_MPMESSAGE_DNAME = "wx.mpmessage.dname::";
/**
*
*/
public static final String WX_MPMESSAGE_P_SUP = "wx.mpmessage.p.sup::";
/**
*
*/
public static final String WX_MPMESSAGE_P_MAG = "wx.mpmessage.p.mag::";
/**
*
*/
public static final String WX_MPMESSAGE_P_ORG = "wx.mpmessage.p.org::";
}

View File

@ -0,0 +1,344 @@
package com.yanzhu.manage.controller.device;
import com.alibaba.fastjson2.JSON;
import com.yanzhu.common.core.annotation.RateLimiter;
import com.yanzhu.common.core.enums.LimitType;
import com.yanzhu.common.core.exception.ServiceException;
import com.yanzhu.common.core.text.Convert;
import com.yanzhu.common.core.utils.StringUtils;
import com.yanzhu.common.core.web.domain.AjaxResult;
import com.yanzhu.common.redis.service.RedisService;
import com.yanzhu.device.domain.*;
import com.yanzhu.manage.constant.CacheConstants;
import com.yanzhu.manage.domain.TowerReqVo;
import com.yanzhu.manage.enums.HttpStatusEnum;
import com.yanzhu.manage.enums.TowerTypeEnums;
import com.yanzhu.manage.service.*;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* APIController
*
* @author JiangYuQi
* @date 2024-01-13
*/
@Slf4j
@RestController
@RequestMapping("/desApi/towerCrane")
public class TowerCraneApiController {
@Autowired
private RedisService redisService;
@Autowired
private IDevTowerDataRunService devTowerDataRunService;
@Autowired
private IDevTowerDataRoundService devTowerDataRoundService;
@Autowired
private IDevTowerDataLimitService devTowerDataLimitService;
@Autowired
private IDevTowerDataLocalService devTowerDataLocalService;
@Autowired
private IDevTowerDataCollideService devTowerDataCollideService;
@Autowired
private IDevTowerProjectConfigService devTowerProjectConfigService;
/**
* ++
* [6010IP]
* @param req
* @author JiangYuQi
* @date 2024-01-13
*/
@ApiOperation(value = "塔吊监测")
@RateLimiter(count = 10, limitType = LimitType.IP)
@PostMapping("/v1/push")
public AjaxResult pushData(@Validated @RequestBody TowerReqVo req) {
DevTowerProjectConfig config = redisService.getCacheObject(CacheConstants.YANZHU_DEVICE_TOWER+req.getContent().getDeviceKey());
if(config==null){
throw new ServiceException(HttpStatusEnum.DARA_EXCEPTION.getInfo(), HttpStatusEnum.DARA_EXCEPTION.getCode());
}
if(req.getType() == TowerTypeEnums.BASE.getCode()){
this.pushConfigData(config,req);
}else if(req.getType() == TowerTypeEnums.RUN.getCode()){
this.pushRunData(config,req);
}else if(req.getType() == TowerTypeEnums.ROUND.getCode()){
this.pushRoundData(config,req);
}else if(req.getType() == TowerTypeEnums.COLLIDE.getCode()){
this.pushCollideData(config,req);
}else if(req.getType() == TowerTypeEnums.LIMIT.getCode()){
this.pushLimitData(config,req);
}else if(req.getType() == TowerTypeEnums.LOCAL.getCode()){
this.pushLocalData(config,req);
}
return AjaxResult.success();
}
/**
*
* @param req
*/
private void pushConfigData(DevTowerProjectConfig config,TowerReqVo req){
DevTowerProjectConfig devTowerProjectConfig = devTowerProjectConfigService.selectDevTowerProjectConfigById(config.getId());
Map<String, Object> dataContent = req.getContent().getDataContent();
devTowerProjectConfig.setTowerId(Convert.toStr(dataContent.get("towerId")));
devTowerProjectConfig.setTowerType(Convert.toStr(dataContent.get("towerType")));
devTowerProjectConfig.setCoordinateX(Convert.toStr(dataContent.get("coordinateX")));
devTowerProjectConfig.setCoordinateY(Convert.toStr(dataContent.get("coordinateY")));
devTowerProjectConfig.setFrontBrachium(Convert.toStr(dataContent.get("frontBrachium")));
devTowerProjectConfig.setAfterBrachium(Convert.toStr(dataContent.get("afterBrachium")));
devTowerProjectConfig.setTowerBodyHeight(Convert.toStr(dataContent.get("towerBodyHeight")));
devTowerProjectConfig.setTowerCapHeight(Convert.toStr(dataContent.get("towerCapHeight")));
devTowerProjectConfig.setTowerSectionHeight(Convert.toStr(dataContent.get("towerSectionHeight")));
devTowerProjectConfigService.updateDevTowerProjectConfigNoCache(devTowerProjectConfig);
}
/**
*
* @param req
*/
private static void pushRunData(DevTowerProjectConfig config,TowerReqVo req){
DevTowerDataRun devTowerDataRun = new DevTowerDataRun();
Map<String, Object> dataContent = req.getContent().getDataContent();
devTowerDataRun.setCfgId(config.getId());
devTowerDataRun.setProjectId(config.getProjectId());
devTowerDataRun.setComId(config.getComId());
devTowerDataRun.setDeviceKey(config.getDeviceSn());
devTowerDataRun.setHeight(Convert.toStr(dataContent.get("height")));
devTowerDataRun.setRange(Convert.toStr(dataContent.get("range")));
devTowerDataRun.setRotation(Convert.toStr(dataContent.get("rotation")));
devTowerDataRun.setLoad(Convert.toStr(dataContent.get("load")));
devTowerDataRun.setWindSpeed(Convert.toStr(dataContent.get("windSpeed")));
devTowerDataRun.setLeanAngleX(Convert.toStr(dataContent.get("leanAngleX")));
devTowerDataRun.setLeanAngleY(Convert.toStr(dataContent.get("leanAngleY")));
devTowerDataRun.setLoadPercent(Convert.toStr(dataContent.get("loadPercent")));
devTowerDataRun.setMomentPercent(Convert.toStr(dataContent.get("momentPercent")));
devTowerDataRun.setWindSpeedPercent(Convert.toStr(dataContent.get("windSpeedPercent")));
devTowerDataRun.setLeanAnglePercent(Convert.toStr(dataContent.get("leanAnglePercent")));
devTowerDataRun.setRate(Convert.toStr(dataContent.get("rate")));
devTowerDataRun.setRotationSensorState(Convert.toStr(dataContent.get("rotationSensorState")));
devTowerDataRun.setLoadSensorState(Convert.toStr(dataContent.get("loadSensorState")));
devTowerDataRun.setWindSpeedSensorState(Convert.toStr(dataContent.get("windSpeedSensorState")));
devTowerDataRun.setLeanAngleSensorState(Convert.toStr(dataContent.get("leanAngleSensorState")));
devTowerDataRun.setRangeSensorState(Convert.toStr(dataContent.get("rangeSensorState")));
devTowerDataRun.setHeightSensorState(Convert.toStr(dataContent.get("heightSensorState")));
devTowerDataRun.setBrakingStatus(Convert.toStr(dataContent.get("brakingStatus")));
if(dataContent.get("warnings")!=null){
List<String> warnings = (List<String>)dataContent.get("warnings");
devTowerDataRun.setWarnings(String.join(",", warnings));
for(String warning:warnings){
Integer alarm = Convert.toInt(warning);
if(alarm>100 && alarm<120){
devTowerDataRun.setIsAlarm(1L);
}
}
}
System.out.println(devTowerDataRun);
//devTowerDataRunService.insertDevTowerDataRun(devTowerDataRun);
}
public static void main(String[] args) {
String str = "{\"type\":111,\"content\":{\"time\":1496263304,\"dataType\":113001,\"deviceKey\":\"jycw6\",\"dataContent\":{\"height\":\"4.1\",\"range\": \"21.9\",\"rotation\": \"171.0\",\"load\": \"0.0\",\"windSpeed\": \"0.0\",\"leanAngleX\":\"0.5\",\"leanAngley\":\"0.0\",\"loadPercent\":\"0\", \"mome ntPercent\":\"0\",\"windSpeedPercent\":\"0\",\"leanAnglePercent\": \"0\", \"warnings\": [\"0\"],\"rate\":\"2\",\"rotationSensorState\":\"1\",\"loadSensorState\": \"1\",\"windSpeedSensorState\": \"1\",\"leanAngleSensorState\":\"1\",\"rangeSensorState\":\"1\",\"heightSensorState\":\"1\",\"bra kingStatus\":\"0\"}}}";
TowerReqVo req = JSON.parseObject(str,TowerReqVo.class);
System.out.println(req);
DevTowerProjectConfig config = new DevTowerProjectConfig();
pushRunData(config,req);
}
/**
*
* @param req
*/
private void pushRoundData(DevTowerProjectConfig config,TowerReqVo req){
DevTowerDataRound devTowerDataRound = new DevTowerDataRound();
Map<String, Object> dataContent = req.getContent().getDataContent();
devTowerDataRound.setCfgId(config.getId());
devTowerDataRound.setProjectId(config.getProjectId());
devTowerDataRound.setComId(config.getComId());
devTowerDataRound.setDeviceKey(config.getDeviceSn());
devTowerDataRound.setTowerId(Convert.toStr(dataContent.get("towerId")));
devTowerDataRound.setWorkStartTime(Convert.toStr(dataContent.get("workStartTime")));
devTowerDataRound.setWorkEndTime(Convert.toStr(dataContent.get("workEndTime")));
devTowerDataRound.setMinHeight(Convert.toStr(dataContent.get("minHeight")));
devTowerDataRound.setMaxHeight(Convert.toStr(dataContent.get("maxHeight")));
devTowerDataRound.setMinRange(Convert.toStr(dataContent.get("minRange")));
devTowerDataRound.setMaxRange(Convert.toStr(dataContent.get("maxRange")));
devTowerDataRound.setStartHeight(Convert.toStr(dataContent.get("startHeight")));
devTowerDataRound.setEndHeight(Convert.toStr(dataContent.get("endHeight")));
devTowerDataRound.setStartRange(Convert.toStr(dataContent.get("startRange")));
devTowerDataRound.setEndRange(Convert.toStr(dataContent.get("endRange")));
devTowerDataRound.setStartRotation(Convert.toStr(dataContent.get("startRotation")));
devTowerDataRound.setEndRotation(Convert.toStr(dataContent.get("endRotation")));
devTowerDataRound.setMaxLoad(Convert.toStr(dataContent.get("maxLoad")));
devTowerDataRound.setMaxLoadPercent(Convert.toStr(dataContent.get("maxLoadPercent")));
devTowerDataRound.setMaxMoment(Convert.toStr(dataContent.get("maxMoment")));
devTowerDataRound.setMaxMomentPercent(Convert.toStr(dataContent.get("maxMomentPercent")));
devTowerDataRound.setStartWindSpeed(Convert.toStr(dataContent.get("startWindSpeed")));
devTowerDataRound.setEndWindSpeed(Convert.toStr(dataContent.get("endWindSpeed")));
devTowerDataRound.setStartWindSpeedPercent(Convert.toStr(dataContent.get("startWindSpeedPercent")));
devTowerDataRound.setEndWindSpeedPercent(Convert.toStr(dataContent.get("endWindSpeedPercent")));
devTowerDataRound.setStartLeanAngleX(Convert.toStr(dataContent.get("startleanAngleX")));
devTowerDataRound.setEndLeanAngleX(Convert.toStr(dataContent.get("endLeanAngleX")));
devTowerDataRound.setStartLeanAngleY(Convert.toStr(dataContent.get("startleanAngleY")));
devTowerDataRound.setEndLeanAngleY(Convert.toStr(dataContent.get("endLeanAngleY")));
if(dataContent.get("warning")!=null){
List<String> warnings = (List<String>)dataContent.get("warning");
devTowerDataRound.setWarnings(String.join(",", warnings));
for(String warning:warnings){
Integer alarm = Convert.toInt(warning);
if(alarm>6 && alarm<10){
devTowerDataRound.setIsOverload(1L);
}
if(alarm>100 && alarm<120){
devTowerDataRound.setIsAlarm(1L);
}
}
}
devTowerDataRoundService.insertDevTowerDataRound(devTowerDataRound);
}
/**
*
* @param req
*/
private void pushCollideData(DevTowerProjectConfig config,TowerReqVo req){
DevTowerDataCollide devTowerDataCollide = new DevTowerDataCollide();
Map<String, Object> dataContent = req.getContent().getLocalDeviceInfo();
devTowerDataCollide.setCfgId(config.getId());
devTowerDataCollide.setProjectId(config.getProjectId());
devTowerDataCollide.setComId(config.getComId());
devTowerDataCollide.setDeviceKey(config.getDeviceSn());
devTowerDataCollide.setTowerId(Convert.toStr(dataContent.get("towerId")));
devTowerDataCollide.setCoordinateX(Convert.toStr(dataContent.get("coordinateX")));
devTowerDataCollide.setCoordinateY(Convert.toStr(dataContent.get("coordinateY")));
devTowerDataCollide.setFrontBrachium(Convert.toStr(dataContent.get("frontBrachium")));
devTowerDataCollide.setAfterBrachium(Convert.toStr(dataContent.get("afterBrachium")));
devTowerDataCollide.setTowerBodyHeight(Convert.toStr(dataContent.get("towerBodyHeight")));
devTowerDataCollide.setHeight(Convert.toStr(dataContent.get("height")));
devTowerDataCollide.setAngle(Convert.toStr(dataContent.get("angle")));
devTowerDataCollide.setRange(Convert.toStr(dataContent.get("range")));
devTowerDataCollide.setEarlyWarningDistance(Convert.toStr(dataContent.get("earlyWarningDistance")));
devTowerDataCollide.setAlarmWarningDistance(Convert.toStr(dataContent.get("alarmWarningDistance")));
devTowerDataCollide.setContourValue(Convert.toStr(dataContent.get("contourValue")));
List<DevTowerDataCollideDetail> devTowerDataCollideDetailList = new ArrayList<>();
if(StringUtils.isNotEmpty(req.getContent().getCollideTowers())){
for (Map<String, Object> collideTowers:req.getContent().getCollideTowers()){
DevTowerDataCollideDetail devTowerDataCollideDetail = new DevTowerDataCollideDetail();
devTowerDataCollideDetail.setTowerId(Convert.toStr(collideTowers.get("towerId")));
devTowerDataCollideDetail.setCoordinateX(Convert.toStr(collideTowers.get("coordinateX")));
devTowerDataCollideDetail.setCoordinateY(Convert.toStr(collideTowers.get("coordinateY")));
devTowerDataCollideDetail.setFrontBrachium(Convert.toStr(collideTowers.get("frontBrachium")));
devTowerDataCollideDetail.setAfterBrachium(Convert.toStr(collideTowers.get("afterBrachium")));
devTowerDataCollideDetail.setTowerBodyHeight(Convert.toStr(collideTowers.get("towerBodyHeight")));
devTowerDataCollideDetail.setHeight(Convert.toStr(collideTowers.get("height")));
devTowerDataCollideDetail.setAngle(Convert.toStr(collideTowers.get("angle")));
devTowerDataCollideDetail.setRange(Convert.toStr(collideTowers.get("range")));
devTowerDataCollideDetail.setCollideHorizontalDistance(Convert.toStr(collideTowers.get("collideHorizontalDistance")));
devTowerDataCollideDetail.setCollideVerticalDistance(Convert.toStr(collideTowers.get("collideVerticalDistance")));
devTowerDataCollideDetail.setCollideState(Convert.toStr(collideTowers.get("collideState")));
devTowerDataCollideDetailList.add(devTowerDataCollideDetail);
}
devTowerDataCollide.setDevTowerDataCollideDetailList(devTowerDataCollideDetailList);
}
devTowerDataCollideService.insertDevTowerDataCollide(devTowerDataCollide);
}
/**
*
* @param req
*/
private void pushLimitData(DevTowerProjectConfig config,TowerReqVo req){
DevTowerDataLimit devTowerDataLimit = new DevTowerDataLimit();
Map<String, Object> dataContent = req.getContent().getDataContent();
devTowerDataLimit.setCfgId(config.getId());
devTowerDataLimit.setProjectId(config.getProjectId());
devTowerDataLimit.setComId(config.getComId());
devTowerDataLimit.setDeviceKey(config.getDeviceSn());
devTowerDataLimit.setTowerId(Convert.toStr(dataContent.get("towerId")));
devTowerDataLimit.setWindSpeedWarning(Convert.toStr(dataContent.get("windSpeedWarning")));
devTowerDataLimit.setWindSpeedAlarm(Convert.toStr(dataContent.get("windSpeedAlarm")));
devTowerDataLimit.setLoadWarning(Convert.toStr(dataContent.get("loadWarning")));
devTowerDataLimit.setLoadAlarm(Convert.toStr(dataContent.get("loadAlarm")));
devTowerDataLimit.setMomentWarning(Convert.toStr(dataContent.get("momentWarning")));
devTowerDataLimit.setMomentAlarm(Convert.toStr(dataContent.get("momentAlarm")));
devTowerDataLimit.setHighLimitWarning(Convert.toStr(dataContent.get("highLimitWarning")));
devTowerDataLimit.setHighLimitAlarm(Convert.toStr(dataContent.get("highLimitAlarm")));
devTowerDataLimit.setLowLimitWarning(Convert.toStr(dataContent.get("lowLimitWarning")));
devTowerDataLimit.setLowLimitAlarm(Convert.toStr(dataContent.get("lowLimitAlarm")));
devTowerDataLimit.setLeftLimitWarning(Convert.toStr(dataContent.get("leftLimitWarning")));
devTowerDataLimit.setLeftLimitAlarm(Convert.toStr(dataContent.get("leftLimitAlarm")));
devTowerDataLimit.setRightLimitWarning(Convert.toStr(dataContent.get("rightLimitWarning")));
devTowerDataLimit.setRightLimitAlarm(Convert.toStr(dataContent.get("rightLimitAlarm")));
devTowerDataLimit.setFrontLimitWarning(Convert.toStr(dataContent.get("frontLimitWarning")));
devTowerDataLimit.setFrontLimitAlarm(Convert.toStr(dataContent.get("frontLimitAlarm")));
devTowerDataLimit.setBackLimitWarning(Convert.toStr(dataContent.get("backLimitWarning")));
devTowerDataLimit.setBackLimitAlarm(Convert.toStr(dataContent.get("backLimitAlarm")));
devTowerDataLimit.setCollisionAngleWarning(Convert.toStr(dataContent.get("collisionAngleWarning")));
devTowerDataLimit.setCollisionAngleAlarm(Convert.toStr(dataContent.get("collisionAngleAlarm")));
devTowerDataLimit.setCollisionDistanceWarning(Convert.toStr(dataContent.get("collisionDistanceWarning")));
devTowerDataLimit.setCollisionDistanceAlarm(Convert.toStr(dataContent.get("collisionDistanceAlarm")));
devTowerDataLimit.sethDistanceWarning(Convert.toStr(dataContent.get("hDistanceWarning")));
devTowerDataLimit.sethDistanceAlarm(Convert.toStr(dataContent.get("hDistanceAlarm")));
devTowerDataLimit.setvDistanceWarning(Convert.toStr(dataContent.get("vDistanceWarning")));
devTowerDataLimit.setvDistanceAlarm(Convert.toStr(dataContent.get("vDistanceAlarm")));
devTowerDataLimit.setLeanWarning(Convert.toStr(dataContent.get("leanWarning")));
devTowerDataLimit.setLeanAlarm(Convert.toStr(dataContent.get("leanAlarm")));
devTowerDataLimit.setRangeLimitStart(Convert.toStr(dataContent.get("rangeLimitStart")));
devTowerDataLimit.setRangeLimitEnd(Convert.toStr(dataContent.get("rangeLimitEnd")));
devTowerDataLimit.setHeightLimitStart(Convert.toStr(dataContent.get("heightLimitStart")));
devTowerDataLimit.setHeightLimitEnd(Convert.toStr(dataContent.get("heightLimitEnd")));
devTowerDataLimit.setRotationLimitStart(Convert.toStr(dataContent.get("rotationLimitStart")));
devTowerDataLimit.setRotationLimitEnd(Convert.toStr(dataContent.get("rotationLimitEnd")));
devTowerDataLimitService.insertDevTowerDataLimit(devTowerDataLimit);
}
/**
*
* @param req
*/
private void pushLocalData(DevTowerProjectConfig config,TowerReqVo req){
DevTowerDataLocal devTowerDataLocal = new DevTowerDataLocal();
Map<String, Object> dataContent = req.getContent().getDataContent();
devTowerDataLocal.setCfgId(config.getId());
devTowerDataLocal.setProjectId(config.getProjectId());
devTowerDataLocal.setComId(config.getComId());
devTowerDataLocal.setDeviceKey(config.getDeviceSn());
devTowerDataLocal.setTowerId(Convert.toStr(dataContent.get("towerId")));
devTowerDataLocal.setRangeNearEndAdValue(Convert.toStr(dataContent.get("rangeNearEndADValue")));
devTowerDataLocal.setRangeNearEndRealityValue(Convert.toStr(dataContent.get("rangeNearEndRealityValue")));
devTowerDataLocal.setRangeFarEndAdValue(Convert.toStr(dataContent.get("rangeFarEndADValue")));
devTowerDataLocal.setRangeFarEndRealityValue(Convert.toStr(dataContent.get("rangeFarEndRealityValue")));
devTowerDataLocal.setHighNearEndAdValue(Convert.toStr(dataContent.get("highNearEndADValue")));
devTowerDataLocal.setHighNearEndRealityValue(Convert.toStr(dataContent.get("highNearEndRealityValue")));
devTowerDataLocal.setHighFarEndAdValue(Convert.toStr(dataContent.get("highFarEndADValue")));
devTowerDataLocal.setHighFarEndRealityValue(Convert.toStr(dataContent.get("highFarEndRealityValue")));
devTowerDataLocal.setEmptyWeightAdValue(Convert.toStr(dataContent.get("emptyWeightADValue")));
devTowerDataLocal.setEmptyWeightRealityValue(Convert.toStr(dataContent.get("emptyWeightRealityValue")));
devTowerDataLocal.setLoadWeightAdValue(Convert.toStr(dataContent.get("loadWeightADValue")));
devTowerDataLocal.setLoadWeightRealityValue(Convert.toStr(dataContent.get("loadWeightRealityValue")));
devTowerDataLocal.setRotationStartAdValue(Convert.toStr(dataContent.get("rotationStartADValue")));
devTowerDataLocal.setRotationStartRealityValue(Convert.toStr(dataContent.get("rotationStartRealityValue")));
devTowerDataLocal.setRotationEndAdValue(Convert.toStr(dataContent.get("rotationEndADValue")));
devTowerDataLocal.setRotationEndRealityValue(Convert.toStr(dataContent.get("rotationEndRealityValue")));
devTowerDataLocal.setWindSpeedFactor(Convert.toStr(dataContent.get("windSpeedFactor")));
devTowerDataLocal.setTiltFactor(Convert.toStr(dataContent.get("tiltFactor")));
devTowerDataLocalService.insertDevTowerDataLocal(devTowerDataLocal);
}
}

View File

@ -0,0 +1,47 @@
package com.yanzhu.manage.domain;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
*
*
* @author: JiangYuQi
* @date: 2024/01/13 12:21
*/
@Data
public class TowerContentReqVo {
/**
*
*/
private Long time;
/**
*
*/
private String dataType;
/**
* 84E0*****
*/
private String deviceKey;
/**
*
*/
private Map<String, Object> dataContent;
/**
*
*/
private Map<String, Object> localDeviceInfo;
/**
*
*/
private List<Map<String, Object>> collideTowers;
}

View File

@ -0,0 +1,28 @@
package com.yanzhu.manage.domain;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
*
*
* @author: JiangYuQi
* @date: 2024/01/13 12:21
*/
@Data
public class TowerReqVo {
/**
*
*/
@NotNull(message = "上报类型不能为空")
private int type;
/**
*
*/
@NotNull(message = "上报内容不能为空")
private TowerContentReqVo content;
}

View File

@ -0,0 +1,36 @@
package com.yanzhu.manage.enums;
/**
* Http
*
* @author JiangYuQi
*/
public enum HttpStatusEnum {
ERROR(11110, "AppId不存在或已被删除"),
DISABLE(11112, "AppId已被停用"),
SINGET_ERROR(11113, "签名值不正确"),
SINGET_TIMEOUT(11114, "签名数据已过期"),
SINGET_EXCEPTION(11115, "签名数据解密异常"),
DARA_EXCEPTION(11116, "数据解析异常");
private final Integer code;
private final String info;
HttpStatusEnum(Integer code, String info)
{
this.code = code;
this.info = info;
}
public Integer getCode()
{
return code;
}
public String getInfo()
{
return info;
}
}

View File

@ -0,0 +1,34 @@
package com.yanzhu.manage.enums;
/**
*
*/
public enum TowerTypeEnums {
BASE(118,"塔机上报基本信息"),
RUN(111,"塔机上报实时数据"),
ROUND(119,"塔机上报工作循环数据"),
COLLIDE(116,"塔机上报碰撞信息"),
LIMIT(120,"塔机上报限位信息"),
LOCAL(121,"塔机上报标定位信息");
private final int code;
private final String info;
TowerTypeEnums(int code, String info)
{
this.code = code;
this.info = info;
}
public int getCode()
{
return code;
}
public String getInfo()
{
return info;
}
}