feat(sis): 1
This commit is contained in:
parent
a4e40f5123
commit
17d041e51d
@ -6,10 +6,7 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.sis.sdk.unview.model.UvModel;
|
import org.dromara.sis.sdk.unview.model.UvModel;
|
||||||
import org.dromara.sis.sdk.unview.service.VideoAlarmService;
|
import org.dromara.sis.sdk.unview.service.VideoAlarmService;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 宇视告警书记上报
|
* 宇视告警书记上报
|
||||||
@ -20,7 +17,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
@RestController
|
@RestController
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@RequestMapping("/uniview")
|
@RequestMapping("/alarm")
|
||||||
public class VideoAlarmController {
|
public class VideoAlarmController {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
@ -34,5 +31,10 @@ public class VideoAlarmController {
|
|||||||
return UvModel.UniViewResult.success(null);
|
return UvModel.UniViewResult.success(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/huawei/callback")
|
||||||
|
public void huaweiAlarm(@RequestBody String data) {
|
||||||
|
log.info("华为上报消息,msg={}", data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -8,10 +8,11 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
import org.dromara.property.api.RemoteFloorService;
|
import org.dromara.property.api.RemoteFloorService;
|
||||||
import org.dromara.property.api.domain.vo.RemoteFloorVo;
|
|
||||||
import org.dromara.sis.domain.vo.*;
|
import org.dromara.sis.domain.vo.*;
|
||||||
|
import org.dromara.sis.producer.CleanLiftAuthRocketProducer;
|
||||||
import org.dromara.sis.sdk.e8.E8PlatformApi;
|
import org.dromara.sis.sdk.e8.E8PlatformApi;
|
||||||
import org.dromara.sis.sdk.e8.domain.accessControl.req.RemoteOpenDoorReq;
|
import org.dromara.sis.sdk.e8.domain.accessControl.req.RemoteOpenDoorReq;
|
||||||
|
import org.dromara.sis.sdk.hik.HikApiService;
|
||||||
import org.dromara.sis.sdk.huawei.HuaWeiBoxApi;
|
import org.dromara.sis.sdk.huawei.HuaWeiBoxApi;
|
||||||
import org.dromara.sis.service.*;
|
import org.dromara.sis.service.*;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -41,6 +42,8 @@ public class ZeroSensationPassageServiceImpl implements IZeroSensationPassageSer
|
|||||||
private final E8PlatformApi e8PlatformApi;
|
private final E8PlatformApi e8PlatformApi;
|
||||||
private final ISisAlarmEventsService alarmEventsService;
|
private final ISisAlarmEventsService alarmEventsService;
|
||||||
|
|
||||||
|
private final CleanLiftAuthRocketProducer cleanLiftAuthRocketProducer;
|
||||||
|
|
||||||
@DubboReference
|
@DubboReference
|
||||||
private RemoteFloorService remoteFloorService;
|
private RemoteFloorService remoteFloorService;
|
||||||
|
|
||||||
@ -96,9 +99,9 @@ public class ZeroSensationPassageServiceImpl implements IZeroSensationPassageSer
|
|||||||
if (item.getControlType() == 1) { // 门禁
|
if (item.getControlType() == 1) { // 门禁
|
||||||
handleAc(item.getDeviceId());
|
handleAc(item.getDeviceId());
|
||||||
} else if (item.getControlType() == 2) { // 电梯外面面板权限
|
} else if (item.getControlType() == 2) { // 电梯外面面板权限
|
||||||
handleEle(item.getDeviceId(), r.getAuthGroupId(), 2);
|
handleEle(item.getDeviceId(), r.getAuthGroupId(), 2, item.getDeviceFloorId());
|
||||||
} else if (item.getControlType() == 3) { // 电梯里面的面板
|
} else if (item.getControlType() == 3) { // 电梯里面的面板
|
||||||
handleEle(item.getDeviceId(), r.getAuthGroupId(), 3);
|
handleEle(item.getDeviceId(), r.getAuthGroupId(), 3, item.getDeviceFloorId());
|
||||||
} else {
|
} else {
|
||||||
log.info("设备绑定了未知的控制类型[{}],不处理", item.getControlType());
|
log.info("设备绑定了未知的控制类型[{}],不处理", item.getControlType());
|
||||||
}
|
}
|
||||||
@ -134,21 +137,32 @@ public class ZeroSensationPassageServiceImpl implements IZeroSensationPassageSer
|
|||||||
/**
|
/**
|
||||||
* 验证电梯权限
|
* 验证电梯权限
|
||||||
*/
|
*/
|
||||||
public void handleEle(Long deviceId, Long groupId, Integer controlType) {
|
public void handleEle(Long deviceId, Long groupId, Integer controlType, Long deviceFloorId) {
|
||||||
log.info("开始下发梯控权限....");
|
|
||||||
// 获取电梯信息
|
// 获取当前电梯信息
|
||||||
// 获取电梯信息
|
|
||||||
SisElevatorInfoVo ele = elevatorInfoService.queryById(deviceId);
|
SisElevatorInfoVo ele = elevatorInfoService.queryById(deviceId);
|
||||||
// 根据单元ID获取楼层信息
|
|
||||||
List<RemoteFloorVo> floorInfo = remoteFloorService.queryByBuildingId(ele.getBuildingId());
|
|
||||||
// 获取电梯⇄楼层关联信息
|
|
||||||
List<SisElevatorFloorRefVo> floorRefList = elevatorFloorRefService.queryByAuthGroupId(groupId);
|
|
||||||
|
|
||||||
for (SisElevatorFloorRefVo sisElevatorFloorRefVo : floorRefList) {
|
// 获取权限组下电梯⇄楼层关联信息
|
||||||
//todo 下发梯控权限
|
List<SisElevatorFloorRefVo> groupRef = elevatorFloorRefService.queryByAuthGroupId(groupId);
|
||||||
// HikApiService.getInstance().controlGateway(ele.getControlIp(), sisElevatorFloorRefVo.getFloorId(), 2);
|
|
||||||
|
// 取出当前电梯的楼层授权信息
|
||||||
|
List<SisElevatorFloorRefVo> eleRef = groupRef.stream().filter(o -> Objects.equals(o.getElevatorId(), deviceId)).toList();
|
||||||
|
|
||||||
|
for (SisElevatorFloorRefVo ref : eleRef){
|
||||||
|
if (controlType == 2){
|
||||||
|
log.info("开始下发外面版梯控权限....");
|
||||||
|
if (ref.getOutChannel() != null && Objects.equals(ref.getFloorId(), deviceFloorId)) {
|
||||||
|
HikApiService.getInstance().controlGateway(ele.getControlIp(), ref.getOutChannel().intValue(), 2);
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
log.info("开始下发里面版梯控权限....");
|
||||||
|
if (ref.getInChannel() != null && Objects.equals(ref.getFloorId(), deviceFloorId)) {
|
||||||
|
HikApiService.getInstance().controlGateway(ele.getControlIp(), ref.getInChannel().intValue(), 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
log.info("梯控下发权限完成");
|
||||||
|
|
||||||
|
cleanLiftAuthRocketProducer.sendMessage(deviceId, groupId, deviceFloorId, "清除电梯" + deviceId + "梯控权限", 3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user