2021与蓝度共同重构项目,服务端
liuhaonan
2022-05-11 ebecb50ecf3c53428fac4f3bd09d98110d6bc8d7
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java
@@ -4,6 +4,7 @@
import com.google.gson.Gson;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.config.RealtimeServerBean;
import com.sandu.ximon.admin.entity.*;
import com.sandu.ximon.admin.param.PoleBindingParam;
@@ -11,7 +12,10 @@
import com.sandu.ximon.admin.utils.FileUtil;
import com.sandu.ximon.admin.utils.HtmlTemplateUtils;
import com.sandu.ximon.admin.utils.LightemitUtils;
import com.sandu.ximon.admin.vo.EquipmentInfomation;
import com.sandu.ximon.dao.domain.Pole;
import com.sandu.ximon.dao.domain.PoleLightemitEntity;
import com.sandu.ximon.dao.enums.PoleBindingEnums;
import com.sandu.ximon.dao.mapper.PoleLightemitEntityMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -75,22 +79,40 @@
        }
    }
    /**
     * 取出在线的熙讯
     *
     * @param list
     * @return
     */
    public List<PoleLightemitEntity> ledOnline(List<PoleLightemitEntity> list) {
        List<PoleLightemitEntity> onLineList = new ArrayList<>();
        for (PoleLightemitEntity poleLightemitEntity : list) {
            poleLightemitEntity.setIsOpen(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()).contains("true"));
            if (poleLightemitEntity.getIsOpen()) {
//            if(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()).contains("true")){
//                poleLightemitEntity.setIsOpen(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()).contains("true"));
//            }
            poleLightemitEntity.setIsOpen(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()));
            boolean ledOnLine = lightemitUtils.getLedOnLine(poleLightemitEntity.getLightemitControlCode());
            if (ledOnLine) {
                poleLightemitEntity.setOnLine(true);
                onLineList.add(poleLightemitEntity);
            } else {
                poleLightemitEntity.setOnLine(false);
            }
        }
        return onLineList;
    }
    /**
     * 设置在线状态
     *
     * @param list
     */
    public void ledOnlineCheck(List<PoleLightemitEntity> list) {
        for (PoleLightemitEntity poleLightemitEntity : list) {
            poleLightemitEntity.setIsOpen(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()).contains("true"));
            poleLightemitEntity.setIsOpen(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()));
            poleLightemitEntity.setOnLine(lightemitUtils.getLedOnLine(poleLightemitEntity.getLightemitControlCode()));
        }
    }
@@ -103,15 +125,43 @@
     */
    public PoleLightemitEntity getLedByLightControlCode(String lightControlCode) {
        PoleLightemitEntity xiXun = getOne(Wrappers.lambdaQuery(PoleLightemitEntity.class).eq(PoleLightemitEntity::getLightemitControlCode, lightControlCode));
        Pole getpole = poleLightemitDao.getpole(lightControlCode);
        if (xiXun == null) {
            return null;
        }
        String isScreenOpen = lightemitUtils.getIsScreenOpen(xiXun.getLightemitControlCode());
        if (isScreenOpen.contains("true")) {
            xiXun.setIsOpen(true);
        }
        xiXun.setIsOpen(false);
        boolean isScreenOpen = lightemitUtils.getLedOnLine(xiXun.getLightemitControlCode());
        xiXun.setIsOpen(lightemitUtils.getIsScreenOpen(lightControlCode));
        xiXun.setOnLine(isScreenOpen);
        xiXun.setStreetlightName(getpole.getPoleName());
        xiXun.setStreetlightId(getpole.getId());
        return xiXun;
    }
    /**
     * 首页灯杆绑定信息
     */
    public EquipmentInfomation getLedByLightControlCodeInfo(String lightControlCode) {
        EquipmentInfomation equipmentInfo = new EquipmentInfomation();
        equipmentInfo.setEquipmentType("熙讯LED");
        if (lightControlCode == null || lightControlCode.trim().length() == 0) {
            return equipmentInfo;
        }
        PoleLightemitEntity xiXun = getOne(Wrappers.lambdaQuery(PoleLightemitEntity.class).eq(PoleLightemitEntity::getLightemitControlCode, lightControlCode));
        if (xiXun != null) {
            equipmentInfo.setEquipmentCreateTime(xiXun.getCreateTime());
            equipmentInfo.setEquipmentMac(xiXun.getLightemitControlCode());
        }
        boolean isScreenOpen = lightemitUtils.getLedOnLine(xiXun.getLightemitControlCode());
        if (isScreenOpen) {
            equipmentInfo.setEquipmentState("在线");
        } else {
            equipmentInfo.setEquipmentState("离线");
        }
        return equipmentInfo;
    }
@@ -135,6 +185,11 @@
        if (byId == null) {
            throw new BusinessException("未找到LED屏");
        }
        boolean belong = SpringContextHolder.getBean(PoleBindingService.class).isBelong(byId.getLightemitControlCode(), PoleBindingEnums.XIXUN);
        if (!belong) {
            throw new RuntimeException("该设备不属于您,不能修改设备信息");
        }
        poleLightemit.setLightemitId(ledId);
        boolean b = this.updateById(poleLightemit);
        // 绑定灯杆