| | |
| | | package com.ard.sample.manage.service.impl; |
| | | |
| | | import com.ard.sample.manage.model.enums.DeviceDomainEnum; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | |
| | | import com.ard.sample.manage.service.IDeviceHmsService; |
| | | import com.fasterxml.jackson.core.type.TypeReference; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.integration.annotation.ServiceActivator; |
| | | import org.springframework.integration.mqtt.support.MqttHeaders; |
| | |
| | | * @version 1.1 |
| | | * @date 2022/7/6 |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | @Transactional |
| | | public class DeviceHmsServiceImpl implements IDeviceHmsService { |
| | |
| | | new TypeReference<List<DeviceHmsReceiver>>() {}) |
| | | .forEach(hmsReceiver -> { |
| | | final DeviceHmsEntity hms = entity.clone(); |
| | | this.fillEntity(hms, hmsReceiver); |
| | | this.fillEntity(hms, hmsReceiver, device); |
| | | // The same unread hms are no longer incremented. |
| | | if (hmsMap.contains(hms.getHmsKey())) { |
| | | return; |
| | |
| | | |
| | | return new PaginationData<DeviceHmsDTO>(deviceHmsList, new Pagination(pagination)); |
| | | |
| | | // region 原代码注释备份一份 |
| | | |
| | | } |
| | | |
| | | // region 原代码注释备份一份 |
| | | // LambdaQueryWrapper<DeviceHmsEntity> queryWrapper = new LambdaQueryWrapper<DeviceHmsEntity>() |
| | | // .and(wrapper -> param.getDeviceSn().forEach(sn -> wrapper.eq(DeviceHmsEntity::getSn, sn).or())) |
| | | // .between(param.getBeginTime() != null && param.getEndTime() != null, |
| | |
| | | // List<DeviceHmsDTO> deviceHmsList = pagination.getRecords().stream().map(this::entity2Dto).collect(Collectors.toList()); |
| | | // |
| | | // return new PaginationData<DeviceHmsDTO>(deviceHmsList, new Pagination(pagination)); |
| | | // endregion |
| | | } |
| | | // endregion |
| | | |
| | | @Override |
| | | public void updateUnreadHms(String deviceSn) { |
| | |
| | | .module(entity.getModule()) |
| | | .messageEn(entity.getMessageEn()) |
| | | .messageZh(entity.getMessageZh()) |
| | | .in_the_sky(entity.getIn_the_sky()) |
| | | .device_type(entity.getDevice_type()) |
| | | .inTheSky(entity.getInTheSky()) |
| | | .deviceType(entity.getDeviceType()) |
| | | .build(); |
| | | } |
| | | |
| | |
| | | * @param dto |
| | | * @param receiver |
| | | */ |
| | | private void fillEntity(DeviceHmsEntity dto, DeviceHmsReceiver receiver) { |
| | | private void fillEntity(DeviceHmsEntity dto, DeviceHmsReceiver receiver, DeviceDTO deviceDTO) { |
| | | dto.setLevel(receiver.getLevel()); |
| | | dto.setModule(receiver.getModule()); |
| | | dto.setHmsId(UUID.randomUUID().toString()); |
| | | dto.setIn_the_sky(receiver.getInTheSky()); |
| | | dto.setDevice_type(receiver.getDeviceType()); |
| | | dto.setInTheSky(receiver.getInTheSky()); |
| | | dto.setDeviceType(receiver.getDeviceType()); |
| | | |
| | | if (HmsEnum.DomainType.DRONE_NEST.getDomain().equals(receiver.getDomainType())) { |
| | | if(deviceDTO.getDomain() == DeviceDomainEnum.DOCK.getVal()) { |
| | | dto.setHmsKey(HmsEnum.HmsFaqIdEnum.DOCK_TIP.getText() + receiver.getCode()); |
| | | log.info("SN:{}的Hms匹配拼接规则值为:{}",deviceDTO.getDeviceSn(), HmsEnum.HmsFaqIdEnum.DOCK_TIP.getText() + receiver.getCode()); |
| | | return; |
| | | } |
| | | // if (HmsEnum.DomainType.DRONE_NEST.getDomain().equals(receiver.getDomainType())) { |
| | | // dto.setHmsKey(HmsEnum.HmsFaqIdEnum.DOCK_TIP.getText() + receiver.getCode()); |
| | | // return; |
| | | // } |
| | | StringBuilder key = new StringBuilder(HmsEnum.HmsFaqIdEnum.FPV_TIP.getText()).append(receiver.getCode()); |
| | | |
| | | if (receiver != null && HmsEnum.IN_THE_SKY.getVal() == (receiver.getInTheSky() != null ? receiver.getInTheSky() : -1)) { |
| | | key.append(HmsEnum.IN_THE_SKY.getText()); |
| | | } |
| | | dto.setHmsKey(key.toString()); |
| | | log.info("SN:{}的Hms匹配拼接规则值为:{}",deviceDTO.getDeviceSn(), key.toString()); |
| | | } |
| | | |
| | | /** |