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 org.dromara.sis.sdk.unview.model.UvModel;
|
||||
import org.dromara.sis.sdk.unview.service.VideoAlarmService;
|
||||
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 org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* 宇视告警书记上报
|
||||
@ -20,7 +17,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/uniview")
|
||||
@RequestMapping("/alarm")
|
||||
public class VideoAlarmController {
|
||||
|
||||
@Resource
|
||||
@ -34,5 +31,10 @@ public class VideoAlarmController {
|
||||
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 org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.dromara.property.api.RemoteFloorService;
|
||||
import org.dromara.property.api.domain.vo.RemoteFloorVo;
|
||||
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.domain.accessControl.req.RemoteOpenDoorReq;
|
||||
import org.dromara.sis.sdk.hik.HikApiService;
|
||||
import org.dromara.sis.sdk.huawei.HuaWeiBoxApi;
|
||||
import org.dromara.sis.service.*;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -41,6 +42,8 @@ public class ZeroSensationPassageServiceImpl implements IZeroSensationPassageSer
|
||||
private final E8PlatformApi e8PlatformApi;
|
||||
private final ISisAlarmEventsService alarmEventsService;
|
||||
|
||||
private final CleanLiftAuthRocketProducer cleanLiftAuthRocketProducer;
|
||||
|
||||
@DubboReference
|
||||
private RemoteFloorService remoteFloorService;
|
||||
|
||||
@ -96,9 +99,9 @@ public class ZeroSensationPassageServiceImpl implements IZeroSensationPassageSer
|
||||
if (item.getControlType() == 1) { // 门禁
|
||||
handleAc(item.getDeviceId());
|
||||
} else if (item.getControlType() == 2) { // 电梯外面面板权限
|
||||
handleEle(item.getDeviceId(), r.getAuthGroupId(), 2);
|
||||
handleEle(item.getDeviceId(), r.getAuthGroupId(), 2, item.getDeviceFloorId());
|
||||
} else if (item.getControlType() == 3) { // 电梯里面的面板
|
||||
handleEle(item.getDeviceId(), r.getAuthGroupId(), 3);
|
||||
handleEle(item.getDeviceId(), r.getAuthGroupId(), 3, item.getDeviceFloorId());
|
||||
} else {
|
||||
log.info("设备绑定了未知的控制类型[{}],不处理", item.getControlType());
|
||||
}
|
||||
@ -134,21 +137,32 @@ public class ZeroSensationPassageServiceImpl implements IZeroSensationPassageSer
|
||||
/**
|
||||
* 验证电梯权限
|
||||
*/
|
||||
public void handleEle(Long deviceId, Long groupId, Integer controlType) {
|
||||
log.info("开始下发梯控权限....");
|
||||
// 获取电梯信息
|
||||
// 获取电梯信息
|
||||
public void handleEle(Long deviceId, Long groupId, Integer controlType, Long deviceFloorId) {
|
||||
|
||||
// 获取当前电梯信息
|
||||
SisElevatorInfoVo ele = elevatorInfoService.queryById(deviceId);
|
||||
// 根据单元ID获取楼层信息
|
||||
List<RemoteFloorVo> floorInfo = remoteFloorService.queryByBuildingId(ele.getBuildingId());
|
||||
// 获取电梯⇄楼层关联信息
|
||||
List<SisElevatorFloorRefVo> floorRefList = elevatorFloorRefService.queryByAuthGroupId(groupId);
|
||||
|
||||
for (SisElevatorFloorRefVo sisElevatorFloorRefVo : floorRefList) {
|
||||
//todo 下发梯控权限
|
||||
// HikApiService.getInstance().controlGateway(ele.getControlIp(), sisElevatorFloorRefVo.getFloorId(), 2);
|
||||
// 获取权限组下电梯⇄楼层关联信息
|
||||
List<SisElevatorFloorRefVo> groupRef = elevatorFloorRefService.queryByAuthGroupId(groupId);
|
||||
|
||||
// 取出当前电梯的楼层授权信息
|
||||
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